이번 EA는 OpenTime 버전 1의 발전된 형태입니다.
버전 2의 새로운 기능
- 이제 EA는 포지션을 열 수 있는 두 개의 시간 간격을 설정할 수 있습니다;
- 포지션 오픈이 허용되는 요일을 설정할 수 있습니다;
- 각 시간 간격에 대해 다음의 매개변수를 독립적으로 설정할 수 있습니다:
- 거래 유형: 매수(BUY) 또는 매도(SELL)
- 손절매(Stop Loss)
- 익절(Take Profit)
두 개의 시간 간격에 대해 동일한 로트 크기와 트레일링 기능이 사용됩니다. 각 시간 간격에는 하나의 포지션만 있을 수 있습니다.
각 시간 간격에 대해 고유한 매직 넘버가 생성됩니다. 간격 #1의 매직 넘버는 입력 매개변수에 지정되어 있습니다:
input ushort InpTakeProfitTwo = 90; // TakeProfit 시간 간격 #2 (핍 단위) input string _____3_____="Advisor Options"; input ulong m_magic=714479490; // 매직넘버 시간 간격 #1 (시간 간격 #2 == 매직넘버+1) //--- input ulong m_slippage=30;
이 매직 넘버는 내부 m_magic_one 변수에 저장되며, 간격 #2의 매직 넘버는 m_magic_two 변수에 저장되며, 이는 m_magic_one보다 1이 큽니다:
//+------------------------------------------------------------------+ //--- #define m_magic_one m_magic #define m_magic_two m_magic_one+1 //--- #include <Trade\PositionInfo.mqh>
입력 매개변수
- 포지션 종료 옵션
- 종료 시간 간격 #1 사용 - 시간에 따라 간격 #1 종료 활성화/비활성화;
- 종료 시간 간격 #1 (오직 시:분!) - 간격 #1의 포지션 종료 시간(시와 분만 고려됨);
- 종료 시간 간격 #2 사용 - 시간에 따라 간격 #2 종료 활성화/비활성화;
- 종료 시간 간격 #2 (오직 시:분!) - 간격 #2의 포지션 종료 시간(시와 분만 고려됨);
- 트레일링 스탑 ("0" -> 트레일링 OFF) (핍 단위) - 트레일링 스탑 기능, 0이면 기능 비활성화;
- 트레일링 스탭 (핍 단위) - 트레일링 스탭 값.
- 포지션 오픈 설정
- 월요일 거래 - 월요일 거래 활성화/비활성화;
- 화요일 거래 - 화요일 거래 활성화/비활성화;
- 수요일 거래 - 수요일 거래 활성화/비활성화;
- 목요일 거래 - 목요일 거래 활성화/비활성화;
- 금요일 거래 - 금요일 거래 활성화/비활성화;
- 오픈 시작 시간 간격 #1 (오직 시:분!) - 간격 #1의 시작 시간(시와 분만 고려됨);
- 오픈 종료 시간 간격 #1 (오직 시:분!) - 간격 #1의 종료 시간(시와 분만 고려됨);
- 오픈 시작 시간 간격 #2 (오직 시:분!) - 간격 #2의 시작 시간(시와 분만 고려됨);
- 오픈 종료 시간 간격 #2 (오직 시:분!) - 간격 #2의 종료 시간(시와 분만 고려됨);
- 작업 지속 시간(초) - 작업의 지속 시간;
- 시간 간격 #1의 거래 유형 ("true" -> 매수, "false" -> 매도) - 간격 #1에서 허용되는 거래 유형: 매수 또는 매도;
- 시간 간격 #2의 거래 유형 ("true" -> 매수, "false" -> 매도) - 간격 #2에서 허용되는 거래 유형: 매수 또는 매도;
- 거래량 - 열 포지션의 거래량;
- 시간 간격 #1의 손절매 (핍 단위) - 간격 #1의 포지션 손절매;
- 시간 간격 #1의 익절 (핍 단위) - 간격 #1의 포지션 익절;
- 시간 간격 #2의 손절매 (핍 단위) - 간격 #2의 포지션 손절매;
- 시간 간격 #2의 익절 (핍 단위) - 간격 #2의 포지션 익절.
- EA 옵션
- 매직넘버 시간 간격 #1 (시간 간격 #2 == 매직넘버+1) - 간격 #1의 포지션에 사용되는 고유 ID. 간격 #2의 매직 넘버는 1이 더 큽니다.
EURUSD, M30에 대한 테스트 결과:

댓글 0