Urdala_Trol: 메타트레이더 5를 위한 효과적인 시스템 트레이딩 전략

Mike 2018.08.23 20:13 42 0 0
첨부파일

아이디어의 저자: Sergey Rashevskiy.

mq5 코드 저자: barabashkakvn.

작동 원리

열린 포지션이 없을 경우 (EA가 열린 포지션), 초기 로트 수인 Lots로 두 개의 반대 방향 포지션을 오픈하며, 스톱 로스는 Stop Loss에 설정합니다. 테이크 프로핏은 사용되지 않습니다. 스톱 로스는 트레일링 기능을 통해 이동하며 (Trailing StopTrailing Step 파라미터가 적용됩니다).

트레일링

포지션의 첫 번째 수정은 스톱 로스를 손익 분기점 또는 작은 이익으로 안전하게 이동시킵니다. 이후의 스톱 로스 수정은 보장된 이익을 증가시킵니다.

이후 두 가지 스톱 로스 활성화 옵션이 있습니다:

  • 1. 포지션이 손실로 종료됨
    • 1.1. 이 경우 추세가 반전되었다고 가정합니다. 닫힌 포지션과 반대 방향으로 증가된 로트 (남은 포지션의 볼륨에 최소 로트 수를 추가)로 포지션을 오픈합니다. 예를 들어 손실이 발생한 BUY 포지션이 종료되었다면, 증가된 로트로 SELL 포지션을 엽니다. 이렇게 하면 같은 방향으로 두 개의 포지션을 가지게 됩니다.
    • 1.2. 이후 반드시 얻어진 방향으로만 작동: 가격이 가장 적은 손실 포지션을 Step 포인트만큼 손실 방향으로 벗어날 때까지 기다린 후 증가된 로트로 포지션을 엽니다 (가장 적은 손실 포지션의 볼륨에 최소 로트 수를 추가)와 기존 포지션 방향 (기억하듯이, 하나 이상의 동일 방향 포지션이 있습니다).
  • 2. 포지션이 이익으로 종료됨 (이는 최소 한 번 수정된 포지션입니다)
    • 2.1. 이는 추세 반전이 아니라 작은 반동이라고 가정합니다. 종료된 방향으로 증가된 로트로 포지션을 엽니다. 예를 들어, 이익이 발생한 BUY 포지션이 종료되었다면, 증가된 로트로 BUY 주문을 엽니다. 이렇게 하면 같은 방향으로 두 개의 포지션을 가지게 됩니다.
    • 2.2. 이후에 트레일링을 적용하려고 합니다. 어떤 경우에도 하나의 스톱 로스가 작동할 것이며, 우리는 1번 또는 2번으로 돌아가게 될 것입니다.

BUY 및 SELL 포지션의 계산, BUY의 총 이익 및 SELL의 총 이익, 가장 적은 손실을 가진 BUY 및 SELL 포지션 검색은 CalculateAllPositions 함수 내에서 한 번의 호출로 수행됩니다.

입력값

  • Lots - 초기 포지션 볼륨
  • 최소 로트 수 - 포지션 볼륨이 변경되는 최소 로트 수
  • Stop Loss (핍 단위)
  • Trailing Stop (핍 단위)
  • Trailing Step (핍 단위)
  • Step - 서로 다른 방향 포지션 간의 초기 간격
  • 최소 근접 (핍 단위) - 포지션 시리즈 내의 최소 거리
  • 매직 넘버 - 고유 EA 식별자
목록
댓글 0