안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 SerialMA 지표를 기반으로 한 Expert Advisor(이하 EA)에 대해 소개해드릴게요.
이 EA는 지표의 라인이 가격과 교차하는 지점에서부터 계산 주기를 시작하며, 다음 교차가 일어날 때까지 지속적으로 주기를 늘립니다. 교차가 일어날 때마다 계산은 최소값으로 다시 시작됩니다.
EA는 다음과 같은 지표의 특성을 활용합니다:
- 신호 바에서 캔들스틱의 종가가 지표 라인 위에 있고, 이전 바의 지표 포인트가 지표 라인에 있을 경우, 롱 포지션을 열라는 신호입니다.
- 신호 바에서 캔들스틱의 종가가 지표 라인 아래에 있고, 이전 바의 지표 포인트가 지표 라인에 있을 경우, 숏 포지션을 열라는 신호입니다.
포지션 오프닝 모드는 두 가지를 선택할 수 있습니다:
- 각 신호에서 적절한 포지션이 하나 열리며, 반대 포지션은 닫힙니다.
- 한 방향으로만 하나의 포지션을 열 수 있습니다. 첫 번째 신호에서 포지션이 열리고, 반대 포지션이 있다면 이 신호에서 닫힙니다. 동일 방향의 추가 신호는 무시되며, 반대 신호가 나타나면 포지션이 전환됩니다 (스윙).
EA의 올바른 작동을 위해서는 컴파일된 지표 파일 SerialMA.ex5를 터미널 디렉토리의 표준 지표 폴더에 저장해야 합니다 (Your terminal directory\MQL5\Indicators).
EA는 롱/숏 포지션을 활성화하거나 비활성화 할 수 있으며, 신호를 반전시켜 매도 대신 매수 또는 그 반대의 포지션을 열 수 있습니다. 스톱로스와 테이크프라핏을 포인트로 설정할 수 있으며, 잘못된 스톱로스 및 테이크프라핏 값이 지정된 경우 EA는 심볼에 대해 허용된 최소 StopLevel로 값을 조정합니다.
잘못된 값이 지정된 경우 EA는 로트를 조정합니다. 만약 로트가 너무 크면 EA는 포지션을 열 수 있도록 조정하고, 최소 로트를 열기 위한 자금이 없으면 신호를 건너뜁니다.
EA에는 12개의 입력 파라미터가 있습니다:
- Experts magic number - EA의 포지션을 식별하는 고유 ID;
- 포지션 오프닝 모드 - 포지션 오프닝 모드 (각 신호에서 또는 하나의 포지션만 허용);
- 롱 포지션 활성화 - 롱 포지션을 열 수 있게 활성화;
- 숏 포지션 활성화 - 숏 포지션을 열 수 있게 활성화;
- 거래 반전 - 반전 모드 선택 (예, 아니오): 예를 선택하면 롱 신호에서 숏 포지션이 열리고 그 반대의 경우도 마찬가지;
- 로트 - 열 포지션의 볼륨;
- 스톱로스 (포인트 단위) - 포지션의 스톱로스;
- 테이크프로핏 (포인트 단위) - 포지션의 테이크프라핏;
- 가격 슬리피지 - 포지션 오프닝 시 최대 허용 슬리피지;
- 스탑을 위한 스프레드 배수 - 스탑 주문 계산 시 적용되는 스프레드 배수;
- 환경 업데이트 대기 시간 (초 단위) - 거래 환경 업데이트를 기다리는 시간;
- 환경 상태를 얻기 위한 시도 횟수 - 정확한 거래 환경을 얻기 위한 시도 횟수.
이 전략은 2017.01.04부터 2018.02.09까지의 데이터를 사용하여 기본 설정으로 테스트되었습니다. 안타깝게도, 기본 설정으로는 좋은 결과를 보이지 않았습니다. 그래서 반전 모드로 테스트를 진행했는데, 반전 모드에서 결과가 더 좋았습니다. 이 EA는 동적으로 계산된 이동 평균으로부터 신호를 받기 때문에 최적화할 파라미터가 없습니다. 그러나 EA에 추가할 내용을 고민해볼 수 있습니다. 예를 들어, 열린 포지션에 트레일링 스톱을 적용할 수 있습니다.


Fig.1,2 테스트 결과.