지출자동화를 이기기 위한 수익 자동화를 위한 시작


n8n 서버를 위해..
지출자동화를 뛰어넘기 위해

MT4의 활짝 웃는 이모티콘을 보기 위해


잘 모르는 투자를 위해 우여곡절 끝에 신청하게 된

19기 투자자동화 스터디

비개발자, 비투자자 입장에서 잘 못알아듣는게 현재지만...
어떻게든 한번 올려봅니다..

일단 정해주신 EA 시스템과 클로드 코드 설치

이건 다른 분들이 엄청 잘 만들어주셔서 스르륵 넘어가겠습니다.


무엇을 할 것인가..

스터디장님께서 테스트로 제공해주신 프롬프트!!!

그것을 클로드 코드로 정제하여 EA 시스템에 잘 심어..심어 심어

나의 전략에 맞게 전략의 조건에 맞을 때 자동으로 사고 팔고 이윤 내고

수익의 자동화를 창출하는 것이 목표!!

그러나 그것이 천국의 계단일지 지하로 가는 급행인지 잘모르니..

예쩐 자료를 근거로 나의 전략을 백테스트를 진행할 수 있다는 엄청난 장점!!!!

이것을 기반으로 나의 투자 전략이 적용될지 맞는지 알아볼 수 있다니 개꿀.!!!

물론 미래는 잘 모르지만 적용가능한건지라도 알면 전략의 의미를 알 수 있다고 합니다.

Claude code , Perplexty . Claude 를 활용했습니다.

일단 비투자자로서 용어의 궁금한 것을 perplexty 를 이용해 정리해봅니다.

한국어 웹사이트 스크린샷

좀 과한 persona 같지만....꿈과 이상을 담아...

검은 화면에 한국어 단어 목록

용어부터 쭈욱 정리해봤습니다.

이제 이 용어들을 숙지하여

테스트로 공개해주신 프롬프트를

Claude Code 로 트레이딩 언어로 정제

한국 컴퓨터 화면의 스크린샷

<스압주의> - 이런 내용의 파일을 만들어줍니다.

 Create file
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Breakout_20Day_Strategy.mq4                                                                                                                              │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //|                                    Breakout_20Day_Strategy.mq4    |                                                                                  │
│ //|                                  20일 브레이크아웃 전략 EA          |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ #property copyright "Breakout Strategy"                                                                                                                  │
│ #property link      ""                                                                                                                                   │
│ #property version   "1.00"                                                                                                                               │
│ #property strict                                                                                                                                         │
│                                                                                                                                                          │
│ //--- 입력 파라미터                                                                                                                                      │
│ input string   InpSymbol = "EURUSD";        // 거래 통화쌍                                                                                               │
│ input double   InpLotSize = 0.01;           // 로트 사이즈                                                                                               │
│ input int      InpBreakoutPeriod = 20;      // 브레이크아웃 기간 (일수/봉수)                                                                             │
│ input int      InpMagicNumber = 20241115;   // 매직 넘버 (주문 식별용)                                                                                   │
│ input int      InpSlippage = 3;             // 슬리피지 (포인트)                                                                                         │
│ input string   InpComment = "20D Breakout"; // 주문 코멘트                                                                                               │
│                                                                                                                                                          │
│ //--- 전역 변수                                                                                                                                          │
│ double g_HighestHigh = 0;   // 20일 최고가                                                                                                               │
│ double g_LowestLow = 0;     // 20일 최저가                                                                                                               │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| Expert initialization function                                     |                                                                                 │
│ //| EA 초기화 함수 - EA가 시작될 때 한 번 실행됨                        |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ int OnInit()                                                                                                                                             │
│ {                                                                                                                                                        │
│    //--- 차트 통화쌍 확인                                                                                                                                │
│    if(Symbol() != InpSymbol)                                                                                                                             │
│    {                                                                                                                                                     │
│       Print("경고: 현재 차트는 ", Symbol(), "입니다. 설정된 통화쌍은 ", InpSymbol, "입니다.");                                                           │
│    }                                                                                                                                                     │
│                                                                                                                                                          │
│    //--- 초기화 성공 메시지                                                                                                                              │
│    Print("20일 브레이크아웃 전략 EA 초기화 완료");                                                                                                       │
│    Print("통화쌍: ", InpSymbol);                                                                                                                         │
│    Print("로트 사이즈: ", InpLotSize);                                                                                                                   │
│    Print("브레이크아웃 기간: ", InpBreakoutPeriod, "봉");                                                                                                │
│                                                                                                                                                          │
│    return(INIT_SUCCEEDED);                                                                                                                               │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| Expert deinitialization function                                   |                                                                                 │
│ //| EA 종료 함수 - EA가 종료될 때 한 번 실행됨                          |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ void OnDeinit(const int reason)                                                                                                                          │
│ {                                                                                                                                                        │
│    Print("20일 브레이크아웃 전략 EA 종료됨");                                                                                                            │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| Expert tick function                                               |                                                                                 │
│ //| 틱 함수 - 새로운 가격이 들어올 때마다 실행됨                         |                                                                               │
│ //+------------------------------------------------------------------+                                                                                   │
│ void OnTick()                                                                                                                                            │
│ {                                                                                                                                                        │
│    //--- 새로운 봉이 생성되었는지 확인                                                                                                                   │
│    static datetime lastBarTime = 0;                                                                                                                      │
│    datetime currentBarTime = iTime(InpSymbol, 0, 0);                                                                                                     │
│                                                                                                                                                          │
│    //--- 새로운 봉이 아니면 종료                                                                                                                         │
│    if(currentBarTime == lastBarTime)                                                                                                                     │
│       return;                                                                                                                                            │
│                                                                                                                                                          │
│    lastBarTime = currentBarTime;                                                                                                                         │
│                                                                                                                                                          │
│    //--- 20일 고점과 저점 계산                                                                                                                           │
│    Calculate20DayHighLow();                                                                                                                              │
│                                                                                                                                                          │
│    //--- 현재 가격 가져오기                                                                                                                              │
│    double currentAsk = SymbolInfoDouble(InpSymbol, SYMBOL_ASK); // 매수 가격                                                                             │
│    double currentBid = SymbolInfoDouble(InpSymbol, SYMBOL_BID); // 매도 가격                                                                             │
│                                                                                                                                                          │
│    //--- 현재 포지션 확인                                                                                                                                │
│    int currentPosition = GetCurrentPosition();                                                                                                           │
│                                                                                                                                                          │
│    //--- 거래 시그널 확인 및 주문 실행                                                                                                                   │
│                                                                                                                                                          │
│    // 1. 매수 시그널: 현재 가격이 20일 고점을 돌파                                                                                                       │
│    if(currentAsk > g_HighestHigh && g_HighestHigh > 0)                                                                                                   │
│    {                                                                                                                                                     │
│       // 기존 매도 포지션이 있으면 청산                                                                                                                  │
│       if(currentPosition == OP_SELL)                                                                                                                     │
│       {                                                                                                                                                  │
│          CloseAllPositions();                                                                                                                            │
│          Print("20일 고점 돌파: 기존 매도 포지션 청산");                                                                                                 │
│       }                                                                                                                                                  │
│                                                                                                                                                          │
│       // 매수 포지션이 없으면 매수 주문                                                                                                                  │
│       if(currentPosition != OP_BUY)                                                                                                                      │
│       {                                                                                                                                                  │
│          OpenBuyOrder();                                                                                                                                 │
│       }                                                                                                                                                  │
│    }                                                                                                                                                     │
│                                                                                                                                                          │
│    // 2. 매도 시그널: 현재 가격이 20일 저점을 돌파                                                                                                       │
│    if(currentBid < g_LowestLow && g_LowestLow > 0)                                                                                                       │
│    {                                                                                                                                                     │
│       // 기존 매수 포지션이 있으면 청산                                                                                                                  │
│       if(currentPosition == OP_BUY)                                                                                                                      │
│       {                                                                                                                                                  │
│          CloseAllPositions();                                                                                                                            │
│          Print("20일 저점 돌파: 기존 매수 포지션 청산");                                                                                                 │
│       }                                                                                                                                                  │
│                                                                                                                                                          │
│       // 매도 포지션이 없으면 매도 주문                                                                                                                  │
│       if(currentPosition != OP_SELL)                                                                                                                     │
│       {                                                                                                                                                  │
│          OpenSellOrder();                                                                                                                                │
│       }                                                                                                                                                  │
│    }                                                                                                                                                     │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 20일 고점과 저점 계산 함수                                          |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ void Calculate20DayHighLow()                                                                                                                             │
│ {                                                                                                                                                        │
│    //--- 변수 초기화                                                                                                                                     │
│    g_HighestHigh = 0;                                                                                                                                    │
│    g_LowestLow = 999999;                                                                                                                                 │
│                                                                                                                                                          │
│    //--- 과거 20개 봉의 고점과 저점 찾기 (현재 봉 제외, 1번째부터 시작)                                                                                  │
│    for(int i = 1; i <= InpBreakoutPeriod; i++)                                                                                                           │
│    {                                                                                                                                                     │
│       double high = iHigh(InpSymbol, 0, i);  // i번째 봉의 고가                                                                                          │
│       double low = iLow(InpSymbol, 0, i);    // i번째 봉의 저가                                                                                          │
│                                                                                                                                                          │
│       // 최고가 갱신                                                                                                                                     │
│       if(high > g_HighestHigh)                                                                                                                           │
│          g_HighestHigh = high;                                                                                                                           │
│                                                                                                                                                          │
│       // 최저가 갱신                                                                                                                                     │
│       if(low < g_LowestLow)                                                                                                                              │
│          g_LowestLow = low;                                                                                                                              │
│    }                                                                                                                                                     │
│                                                                                                                                                          │
│    //--- 디버그 출력 (필요시 주석 해제)                                                                                                                  │
│    // Print("20일 최고가: ", g_HighestHigh, " / 20일 최저가: ", g_LowestLow);                                                                            │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 현재 포지션 확인 함수                                               |                                                                                │
│ //| 반환값: OP_BUY (매수), OP_SELL (매도), -1 (포지션 없음)            |                                                                                 │
│ //+------------------------------------------------------------------+                                                                                   │
│ int GetCurrentPosition()                                                                                                                                 │
│ {                                                                                                                                                        │
│    //--- 전체 주문 수를 반복하면서 확인                                                                                                                  │
│    for(int i = OrdersTotal() - 1; i >= 0; i--)                                                                                                           │
│    {                                                                                                                                                     │
│       //--- 주문 선택                                                                                                                                    │
│       if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))                                                                                                    │
│          continue;                                                                                                                                       │
│                                                                                                                                                          │
│       //--- 현재 EA의 매직넘버와 통화쌍이 일치하는지 확인                                                                                                │
│       if(OrderMagicNumber() == InpMagicNumber && OrderSymbol() == InpSymbol)                                                                             │
│       {                                                                                                                                                  │
│          //--- 주문 타입 반환 (OP_BUY 또는 OP_SELL)                                                                                                      │
│          return OrderType();                                                                                                                             │
│       }                                                                                                                                                  │
│    }                                                                                                                                                     │
│                                                                                                                                                          │
│    //--- 포지션이 없으면 -1 반환                                                                                                                         │
│    return -1;                                                                                                                                            │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 매수 주문 실행 함수                                                 |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ void OpenBuyOrder()                                                                                                                                      │
│ {                                                                                                                                                        │
│    //--- 현재 Ask 가격 가져오기                                                                                                                          │
│    double askPrice = SymbolInfoDouble(InpSymbol, SYMBOL_ASK);                                                                                            │
│                                                                                                                                                          │
│    //--- 스탑로스와 테이크프로핏 (현재는 0으로 설정, 필요시 수정)                                                                                        │
│    double stopLoss = 0;                                                                                                                                  │
│    double takeProfit = 0;                                                                                                                                │
│                                                                                                                                                          │
│    //--- 매수 주문 실행                                                                                                                                  │
│    int ticket = OrderSend(                                                                                                                               │
│       InpSymbol,           // 통화쌍                                                                                                                     │
│       OP_BUY,              // 주문 타입: 매수                                                                                                            │
│       InpLotSize,          // 로트 사이즈                                                                                                                │
│       askPrice,            // 주문 가격 (Ask)                                                                                                            │
│       InpSlippage,         // 슬리피지                                                                                                                   │
│       stopLoss,            // 스탑로스                                                                                                                   │
│       takeProfit,          // 테이크프로핏                                                                                                               │
│       InpComment,          // 주문 코멘트                                                                                                                │
│       InpMagicNumber,      // 매직 넘버                                                                                                                  │
│       0,                   // 주문 만료 시간 (0 = GTC)                                                                                                   │
│       clrBlue              // 차트 표시 색상                                                                                                             │
│    );                                                                                                                                                    │
│                                                                                                                                                          │
│    //--- 주문 결과 확인                                                                                                                                  │
│    if(ticket > 0)                                                                                                                                        │
│    {                                                                                                                                                     │
│       Print("매수 주문 성공! 티켓: ", ticket, " / 가격: ", askPrice, " / 로트: ", InpLotSize);                                                           │
│    }                                                                                                                                                     │
│    else                                                                                                                                                  │
│    {                                                                                                                                                     │
│       int error = GetLastError();                                                                                                                        │
│       Print("매수 주문 실패! 에러 코드: ", error, " / 설명: ", ErrorDescription(error));                                                                 │
│    }                                                                                                                                                     │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 매도 주문 실행 함수                                                 |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ void OpenSellOrder()                                                                                                                                     │
│ {                                                                                                                                                        │
│    //--- 현재 Bid 가격 가져오기                                                                                                                          │
│    double bidPrice = SymbolInfoDouble(InpSymbol, SYMBOL_BID);                                                                                            │
│                                                                                                                                                          │
│    //--- 스탑로스와 테이크프로핏 (현재는 0으로 설정, 필요시 수정)                                                                                        │
│    double stopLoss = 0;                                                                                                                                  │
│    double takeProfit = 0;                                                                                                                                │
│                                                                                                                                                          │
│    //--- 매도 주문 실행                                                                                                                                  │
│    int ticket = OrderSend(                                                                                                                               │
│       InpSymbol,           // 통화쌍                                                                                                                     │
│       OP_SELL,             // 주문 타입: 매도                                                                                                            │
│       InpLotSize,          // 로트 사이즈                                                                                                                │
│       bidPrice,            // 주문 가격 (Bid)                                                                                                            │
│       InpSlippage,         // 슬리피지                                                                                                                   │
│       stopLoss,            // 스탑로스                                                                                                                   │
│       takeProfit,          // 테이크프로핏                                                                                                               │
│       InpComment,          // 주문 코멘트                                                                                                                │
│       InpMagicNumber,      // 매직 넘버                                                                                                                  │
│       0,                   // 주문 만료 시간 (0 = GTC)                                                                                                   │
│       clrRed               // 차트 표시 색상                                                                                                             │
│    );                                                                                                                                                    │
│                                                                                                                                                          │
│    //--- 주문 결과 확인                                                                                                                                  │
│    if(ticket > 0)                                                                                                                                        │
│    {                                                                                                                                                     │
│       Print("매도 주문 성공! 티켓: ", ticket, " / 가격: ", bidPrice, " / 로트: ", InpLotSize);                                                           │
│    }                                                                                                                                                     │
│    else                                                                                                                                                  │
│    {                                                                                                                                                     │
│       int error = GetLastError();                                                                                                                        │
│       Print("매도 주문 실패! 에러 코드: ", error, " / 설명: ", ErrorDescription(error));                                                                 │
│    }                                                                                                                                                     │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 모든 포지션 청산 함수                                               |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ void CloseAllPositions()                                                                                                                                 │
│ {                                                                                                                                                        │
│    //--- 전체 주문 수를 역순으로 반복 (청산 시 인덱스 변경 방지)                                                                                         │
│    for(int i = OrdersTotal() - 1; i >= 0; i--)                                                                                                           │
│    {                                                                                                                                                     │
│       //--- 주문 선택                                                                                                                                    │
│       if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))                                                                                                    │
│          continue;                                                                                                                                       │
│                                                                                                                                                          │
│       //--- 현재 EA의 매직넘버와 통화쌍이 일치하는지 확인                                                                                                │
│       if(OrderMagicNumber() == InpMagicNumber && OrderSymbol() == InpSymbol)                                                                             │
│       {                                                                                                                                                  │
│          //--- 주문 타입에 따라 청산 가격 설정                                                                                                           │
│          double closePrice;                                                                                                                              │
│          color closeColor;                                                                                                                               │
│                                                                                                                                                          │
│          if(OrderType() == OP_BUY)                                                                                                                       │
│          {                                                                                                                                               │
│             closePrice = SymbolInfoDouble(InpSymbol, SYMBOL_BID); // 매수 포지션은 Bid로 청산                                                            │
│             closeColor = clrBlue;                                                                                                                        │
│          }                                                                                                                                               │
│          else if(OrderType() == OP_SELL)                                                                                                                 │
│          {                                                                                                                                               │
│             closePrice = SymbolInfoDouble(InpSymbol, SYMBOL_ASK); // 매도 포지션은 Ask로 청산                                                            │
│             closeColor = clrRed;                                                                                                                         │
│          }                                                                                                                                               │
│          else                                                                                                                                            │
│             continue; // 대기 주문은 건너뛰기                                                                                                            │
│                                                                                                                                                          │
│          //--- 주문 청산                                                                                                                                 │
│          bool closed = OrderClose(                                                                                                                       │
│             OrderTicket(),        // 청산할 주문 티켓                                                                                                    │
│             OrderLots(),          // 청산할 로트 수량                                                                                                    │
│             closePrice,           // 청산 가격                                                                                                           │
│             InpSlippage,          // 슬리피지                                                                                                            │
│             closeColor            // 차트 표시 색상                                                                                                      │
│          );                                                                                                                                              │
│                                                                                                                                                          │
│          //--- 청산 결과 확인                                                                                                                            │
│          if(closed)                                                                                                                                      │
│          {                                                                                                                                               │
│             Print("포지션 청산 성공! 티켓: ", OrderTicket());                                                                                            │
│          }                                                                                                                                               │
│          else                                                                                                                                            │
│          {                                                                                                                                               │
│             int error = GetLastError();                                                                                                                  │
│             Print("포지션 청산 실패! 티켓: ", OrderTicket(), " / 에러: ", error);                                                                        │
│          }                                                                                                                                               │
│       }                                                                                                                                                  │
│    }                                                                                                                                                     │
│ }                                                                                                                                                        │
│                                                                                                                                                          │
│ //+------------------------------------------------------------------+                                                                                   │
│ //| 에러 코드 설명 함수                                                 |                                                                                │
│ //+------------------------------------------------------------------+                                                                                   │
│ string ErrorDescription(int errorCode)                                                                                                                   │
│ {                                                                                                                                                        │
│    string errorString;                                                                                                                                   │
│                                                                                                                                                          │
│    switch(errorCode)                                                                                                                                     │
│    {                                                                                                                                                     │
│       case 0:   errorString = "에러 없음"; break;                                                                                                        │
│       case 1:   errorString = "에러 없음, 트레이드 조건 미충족"; break;                                                                                  │
│       case 2:   errorString = "공통 에러"; break;                                                                                                        │
│       case 3:   errorString = "잘못된 파라미터"; break;                                                                                                  │
│       case 4:   errorString = "트레이드 서버 사용 중"; break;                                                                                            │
│       case 5:   errorString = "구 버전의 클라이언트 터미널"; break;                                                                                      │
│       case 6:   errorString = "트레이드 서버와 연결 끊김"; break;                                                                                        │
│       case 7:   errorString = "권한 없음"; break;                                                                                                        │
│       case 8:   errorString = "너무 많은 요청"; break;                                                                                                   │
│       case 9:   errorString = "잘못된 주문"; break;                                                                                                      │
│       case 64:  errorString = "계좌 차단됨"; break;                                                                                                      │
│       case 65:  errorString = "잘못된 계좌 번호"; break;                                                                                                 │
│       case 128: errorString = "거래 타임아웃"; break;                                                                                                    │
│       case 129: errorString = "잘못된 가격"; break;                                                                                                      │
│       case 130: errorString = "잘못된 스탑"; break;                                                                                                      │
│       case 131: errorString = "잘못된 거래량"; break;                                                                                                    │
│       case 132: errorString = "마켓 종료됨"; break;                                                                                                      │
│       case 133: errorString = "거래 금지됨"; break;                                                                                                      │
│       case 134: errorString = "잔고 부족"; break;                                                                                                        │
│       case 135: errorString = "가격 변동"; break;                                                                                                        │
│       case 136: errorString = "가격 없음"; break;                                                                                                        │
│       case 137: errorString = "브로커 사용 중"; break;                                                                                                   │
│       case 138: errorString = "새로운 가격"; break;                                                                                                      │
│       case 139: errorString = "주문 잠김"; break;                                                                                                        │
│       case 140: errorString = "매수만 허용됨"; break;                                                                                                    │
│       case 141: errorString = "너무 많은 요청"; break;                                                                                                   │
│       case 145: errorString = "가격과 너무 가까운 스탑로스"; break;                                                                                      │
│       case 146: errorString = "거래 컨텍스트 사용 중"; break;                                                                                            │
│       case 147: errorString = "만료된 주문"; break;                                                                                                      │
│       case 148: errorString = "너무 많은 열린 주문"; break;                                                                                              │
│       default:  errorString = "알 수 없는 에러"; break;                                                                                                  │
│    }                                                                                                                                                     │
│                                                                                                                                                          │
│    return errorString;                                                                                                                                   │
│ }                                                                                                                                                        │
│ //+------------------------------------------------------------------+                                                                                   │
│                                                                                                                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 Do you want to create Breakout_20Day_Strategy.mq4?
 > 1. Yes
   2. Yes, allow all edits during this session (alt+m)
   3. No, and tell Claude what to do differently (esc)

그러나.....

검정색 배경의 화면 스크린샷

영어가 약한지라...이제 Claude 로 해결 봅니다.

한국어 텍스트가 있는 검은 화면

....

.

.

뭔가 이상합니다.

검은 화면에 한국 앱 스크린샷

계속 반복되었어요..


yes 의 루프에 빠졌습니다.

아휴...

한참 고민했습니다.

황금호랑이님과 스터디장님의 도움, 그리고 교안의 힘으로

결국

강세 추세를 보여주는 주식 차트 스크린샷

웃음을 만났습니다.

웃음은 잘 적용되었다는....

수익자동화의 시작을 알리는 징조를 받았습니다.

느낀점 ...

잠시 잊고 있었던...

언제든지 내용을 찬찬히 살펴보고

그때에 맞는 상황을 단계별로 물어보고 해결해야한다.

막무가내 식의 '해줘'가 능사가 아니다.

항상 사례글 쓰다보면 기본 중 기본만 상기하는 듯한 저에게

약간 섭섭해하며 마칩니다.

도움받은 글

https://www.gpters.org/wealth/post/first-step-automating-investments-su6oAUsFaSXi9oa

https://www.gpters.org/wealth/post/smart-investment-method-ai-F1tzOzvnLrUSiF8

https://www.gpters.org/wealth/post/tuja-jadonghwareul-wihan-ceos-geoleum-ea-yeongyeol-buteo-haebwayo-feat-su6oAUsFaSXi9oa

1
5개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요