아이디어 제공자: Scriptor, MQL5 코드 작성자: barabashkakvn.
이 EA는 한 포지션으로 작동하며, 순차 계좌에서도 사용 가능합니다. 새로운 신호의 방향은 마지막으로 닫힌 포지션의 방향(BUY 또는 SELL)과 해당 포지션이 어떻게 종료되었는지(손절 또는 이익 실현)에 따라 결정됩니다.
일반적인 원칙은 다음과 같습니다:
- 포지션이 이익 실현으로 종료되었다면, 다음 포지션은 같은 방향으로 열립니다;
- 포지션이 손절로 종료되었다면, 다음 포지션은 반대 방향으로 열립니다.
종료 유형은 ENUM_DEAL_REASON를 사용하여 OnTradeTransaction()에서 결정됩니다. 거래와 그 유형은 OnTradeTransaction()에서 먼저 접근됩니다:
TRADE_TRANSACTION_DEAL_ADD - 거래를 히스토리에 추가하는 것입니다. 이는 주문 실행 또는 계좌 잔액으로 작업을 수행한 결과로 이루어집니다.
그 후, DEAL_REASON 속성이 확인됩니다.
Breakeven 파라미터가 0이 아닐 경우, 가능한 경우 포지션은 손익 분기점으로 조정됩니다.
OnTradeTransaction()에서 방향을 결정한 후, 추가 조건을 확인합니다:
- BUY 포지션을 열기 위해서는, 바 #0의 SAR 지표가 바 #0의 종가보다 작아야 하며, 바 #0의 ADX는 20 미만이어야 합니다.
- SELL 포지션을 열기 위해서는, 바 #0의 SAR 지표가 바 #0의 종가보다 커야 하며, 바 #0의 ADX는 20 미만이어야 합니다;
입력 파라미터
- 손절 (핍 단위) - 손절 값;
- 이익 실현 (핍 단위) - 이익 실현 값;
- 거래당 위험 비율 - 거래당 위험 비율;
- Breakeven (핍 단위) - 손익 분기점 값;
- ADX: 평균화 기간 - ADX 지표 파라미터;
- SAR: 가격 증가 단계 - 가속 팩터 - SAR 지표 파라미터;
- SAR: 최대 단계 값 - SAR 지표 파라미터.
기본 파라미터는 EURUSD, M30, 2017.01.08부터 2018.02.05까지입니다.

댓글 0