시스템트레이딩 게시글

MT45 시스템 트레이딩: 메타트레이더 5를 위한 EA 소개

첨부파일
19102.zip (3.95 KB, 다운로드 2회)

트레이딩 전략

MT45 EA는 손실 거래 이후 더욱 큰 로트로 다음 거래를 시작합니다.

첫 거래는 항상 매수로 시작하며, 이후에는 매수-매도-매수 형태로 번갈아 진행됩니다.

EA는 캔들 스틱이 열릴 때 포지션을 열게 됩니다.

손실이 발생한 후, EA는 KL 계수를 기준으로 로트를 증가시키며 최대값인 ML에 도달할 때까지 계속합니다. 이후 로트는 초기 값인 LT로 리셋됩니다.

거래는 EURUSD, H1 타임프레임에서 진행됩니다. 이 EA는 2014년 1월 11일부터 2017년 9월 9일까지의 데이터를 기반으로 최적화되었습니다.


EA 설정

input int    Stop = 600;  // 손실 제한
input int    Take = 700;  // 이익 실현
input int    Slip = 100;  // 슬리피지
input int    MN   = 123;  // 매직 넘버
input double LT   = 0.01; // 로트
input double KL   = 2;    // 로트 증가 비율
input double ML   = 10;   // 최대 로트


특징

크로스 플랫폼 모드는 전처리기 지시문을 사용하여 구현됩니다. 마틴게일 기능의 예시는 다음과 같습니다:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=LT;
//---  MQL4
#ifdef __MQL4__
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderProfit()>0) lot=LT;
      if(OrderProfit()<0) lot=OrderLots()*KL;
     }
#endif

//---  MQL5
#ifdef __MQL5__
   if(HistorySelect(0,TimeCurrent()))
     {
      double profit=HistoryDealGetDouble(HistoryDealGetTicket(HistoryDealsTotal()-1),DEAL_PROFIT);
      double LastLot=HHistoryDealGetDouble(HistoryDealGetTicket(HistoryDealsTotal()-1),DEAL_VOLUME);
      if(profit>0) lot=LT;
      if(profit<0) lot=LastLot*KL;
     }
#endif

   if(lot>ML)lot=LT;
   return(lot);
  }


백테스트

메타트레이더 4 터미널:

메타트레이더 5 터미널:


  • 이 EA를 자신의 전략의 기초로만 사용하는 것이 좋습니다.

연관 포스트

댓글 (0)