MetaTrader 5를 위한 Exp_2pbIdealMA_ReOpen EA 소개

Mike 2017.01.26 18:06 42 0 0
첨부파일

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 Exp_2pbIdealMA_ReOpen EA에 대해 알아보겠습니다. 이 EA는 이동평균의 교차를 기반으로 포지션 스케일링을 통해 트렌드에 맞춰 거래를 진행합니다.

신호는 바가 닫힐 때 2pbIdeal1MA의 빠른 이동평균과 2pbIdeal3MA의 느린 이동평균이 교차할 때 형성됩니다. 이후, EA 입력 파라미터에서 설정한 임계값을 초과하는 마지막 거래의 이익 포인트에 따라 열린 포지션의 볼륨을 조절합니다. 빠른 이동평균의 돌파는 매수 신호로, 하락은 매도 신호로 작용합니다.

이와 관련된 포지션 스케일링 정보는 거래 코멘트에 스케일 수 / 마지막 거래 가격 / 마지막 거래 볼륨 형식으로 저장됩니다.

먼저, 2pbIdeal1MA.ex52pbIdeal3MA.ex5 파일을 <terminal_data_folder>\MQL5\Indicators 폴더에 넣어주세요.

컴파일 후, Exp_2pbIdealMA_ReOpen.ex5 EA 파일에는 2pbIdeal1MA.ex52pbIdeal3MA.ex5 지표가 리소스로 포함되어 있어, 이 지표들이 터미널 폴더에 없어도 EA가 정상적으로 작동합니다! 이를 위해 EA 코드에 해당 지표들을 포함하는 코드가 추가되었습니다.

지표 실행 파일은 전역 범위에서 리소스로 추가되었습니다.

//---- EA 코드에 지표 포함하기
#resource "\\Indicators\\2pbIdeal1MA.ex5"
#resource "\\Indicators\\2pbIdeal3MA.ex5"

이후, OnInit() 함수 블록에서 리소스로 사용된 지표의 경로를 변경했습니다.

//---- 2pbIdeal1MA 지표 핸들 가져오기
InpInd1_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\2pbIdeal1MA.ex5",Period1,Period2,0);
if(InpInd1_Handle==INVALID_HANDLE)
{
Print("2pbIdeal1MA 지표 핸들 가져오기 실패! 오류 코드=",GetLastError(),".");
return(INIT_FAILED);
}

//---- 2pbIdeal3MA 지표 핸들 가져오기
InpInd2_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\2pbIdeal3MA.ex5",PeriodX1,PeriodX2,PeriodY1,PeriodY2,PeriodZ1,PeriodZ2,0);
if(InpInd2_Handle==INVALID_HANDLE)
{
Print("2pbIdeal3MA 지표 핸들 가져오기 실패! 오류 코드=",GetLastError(),".");
return(INIT_FAILED);
}

이렇게 해서, EA의 컴파일된 실행 파일은 다른 거래 터미널에서도 지표 없이 독립적으로 사용할 수 있습니다.

아래의 테스트에서는 기본 Expert Advisor의 입력 파라미터를 사용했습니다. 테스트 동안 Stop Loss와 Take Profit은 사용되지 않았습니다.

Fig. 1. 차트에서의 거래 예시

Fig. 1. 차트에서의 거래 예시

2015년 GBPJPY H4에 대한 테스트 결과입니다:

Fig. 2. 테스트 결과 차트

Fig. 2. 테스트 결과 차트

목록
댓글 0