시스템트레이딩 게시글

메타트레이더 5를 위한 스티브 카트라이트의 CCI MACD EA

첨부파일
17841.zip (4.12 KB, 다운로드 0회)

아이디어 제공자John Smith, MQL5 코드 작성자barabashkakvn.

이 EA는 H1 타임프레임에서 USDJPY 거래에 맞게 설정되어 있습니다.

이 시스템 트레이딩은 두 개의 이동 평균, 하나의 MACD 및 하나의 CCI를 사용합니다. OnTradeTransaction 함수를 통해 포지션 개시 시간을 확인합니다.

모든 지표 값은 인덱스가 1인 바에서 사용됩니다.

//--- 지표 설정
   CAMELHIGHP1=iMAGet(handle_iMA_PRICE_HIGH,1);
   CAMELLOWP1=iMAGet(handle_iMA_PRICE_LOW,1);
//
   MACDSP1=iMACDGet(SIGNAL_LINE,1);
   MACDSP2=iMACDGet(SIGNAL_LINE,2);
//
   MACDHP1=iMACDGet(MAIN_LINE,1);
   MACDHP2=iMACDGet(MAIN_LINE,2);
//
   CCIP1=iCCIGet(1);

적절한 제어가 이루어져서 현재 바에서 이미 포지션이 열려 있는지를 확인합니다. 이를 통해 모든 포지션을 점검할 필요가 없으며, 다른 EA가 동일한 거래 계좌에서 실행되고 있을 수 있습니다.

포지션 개시 시간은 OnTradeTransaction에서 제어됩니다. 포지션 종료가 기록되면, 개시 시간이 초기화됩니다:

//+------------------------------------------------------------------+
//| 거래 트랜잭션 함수                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- 거래 유형을 열거형 값으로 가져오기
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- 거래가 히스토리에 추가된 결과일 경우
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_entry        =0;
      long     deal_time         =0;
      string   deal_symbol       ="";
      long     deal_magic        =0;
      if(HistoryDealSelect(trans.deal))
        {
         deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_time=HistoryDealGetInteger(trans.deal,DEAL_TIME);
         deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
        }
      else
         return;
      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
        {
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            m_last_close_time=(datetime)deal_time;
           }
         else if(deal_entry!=DEAL_ENTRY_OUT)
           {
            m_last_close_time=0;
           }
        }
     }
  }

연관 포스트

댓글 (0)