아이디어 저자: Yuri, mq5 코드 저자: barabashkakvn.
이 EA(Expert Advisor)는 ‘라운드’ 가격의 스텝에 따라 가장 가까운 상하 라운드 가격을 계산합니다. 라운드 가격 계산을 확인하려면 OnDeinit의 해당 라인을 주석 처리하세요:
//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Math() 함수 작동 방식: return; }
EA를 차트에서 제거하면 전문가 탭에 예시가 출력됩니다. EA는 가격과 iAMA(Adaptive Moving Average, AMA) 지표의 위치를 체크하여 초기 대기 주문을 배치합니다.
- 바 #0의 종가가 지표 위에 있을 경우, 상단 라운드 가격에 대기 Buy Stop 주문이 배치됩니다.
- 바 #0의 종가가 지표 아래에 있을 경우, 하단 라운드 가격에 대기 Sell Stop 주문이 배치됩니다.
각 대기 주문의 유효 기간은 대기 주문의 생명 주기 (시간 단위)가 마지막으로 알려진 서버 시간에 추가됩니다.
BUY와 SELL 포지션에 대해 각각의 트레일링 방법이 적용됩니다. 이들은 트레일링 스탑 BUY와 트레일링 스탑 SELL에서 설정됩니다.
입력 매개변수
- Lots - 거래 볼륨;
- Stop Loss BUY - Buy Stop 주문의 손절매;
- Stop Loss SELL - Sell Stop 주문의 손절매;
- Trailing Stop BUY - Buy 포지션의 트레일링 스탑;
- Trailing Stop SELL - Sell 포지션의 트레일링 스탑;
- Step of the 'round' number - 라운드 가격의 스텝 값;
- Life time of the pending order (in hours) - 대기 주문의 유효 시간(시간 단위);
- AMA: Period of calculation - AMA 계산 기간;
- AMA: Period of fast MA - 빠른 이동 평균 기간;
- AMA: Period of slow MA - 느린 이동 평균 기간;
- AMA: Horizontal shift - 지표의 수평 이동;
- AMA: Type of price - 지표 계산에 사용되는 가격 유형;
- magic number - EA의 고유 식별자.
테스트 결과 (EURUSD, H1):
