외환거래(FOREX)를 위해서 META Trade 를 설치하면 기본적으로 포함되어 있는 EA 전략중에 Moving Average 매매전략을 분석해 보았습니다.

Moving Average 매매전략은 아주 단순하게 구성되어 있는 매매전략입니다.
전략이 시작되면 기본적인 매매조건을 설정합니다.
설정내용은 Lots, MaximumRisk, DecreaseFactor, MovingPeriod, MovingShift 등의 항목이 있습니다.

차트에 변화가 생기면 tick 이벤트가 발생하여, OnTick() 함수를 호출합니다.
OnTick() 에서는 차트의 봉수가 100개 보다 작은가를 확인합니다. 100개 보다 작으면 매매를 위한 자료확인 기간이 너무 짧은 것으로 간주해서 처리를 하지 않습니다.
다음에는 META4 터미널에서 자동매매를 허용하게 하였는가를 확인합니다. 자동매매가 허용되어 있지 않으면 처리를 하지 않습니다.
위의 두 가지 조건을 통과하면 CalculateCurrentOrders() 함수를 호출하여 현재 진입되어 있는 오더가 있는가를 확인합니다.
오더가 없으면 CheckForOpen() 함수를 호출하여 진입 조건을 평가한 후 진입 조건에 해당하면 신규 진입을 합니다.
오더가 있으면 CheckForClose() 함수를 호출하여 청산 조건을 평가한 후 청산 조건에 해당하면 기존 오더를 청산합니다.

진입 조건과 청산 조건을 평가하는 방법입니다.
1. 현재 봉이 새로 시작된 봉인가 확인합니다. 새로 시작된 봉이 아니면 종료합니다.
2. ma 값을 계산합니다.
3. 이전 봉이 ma 값을 상향 돌파했으면 매수 상태로 판단하고, 하향 돌파했으면 매도 상태로 판단합니다.
4. 이전 봉에서 ma 값에 대한 상향 또는 하향 돌파가 발생하지 않았으면 신규 진입도 기존 오더 청산도 하지 않습니다.
5. 신규 진입 시에는 이전 거래내역에서 손실이 있었는가를 확인하여 Lot을 조절합니다.

전략에 대한 평가
Moving Average 매매전략은 EA 매매전략을 작성하는 샘플프로그램입니다. 그런 만큼 전략이 효율성 등을 판단할 필요는 없는 것입니다. 실제 매매전략을 개발할 때는 손절 전략과 청산 전략을 잘 구성하여야 합니다.

Moving Average 전략을 분석한 플로우 차트입니다.




블로그 이미지

알 수 없는 사용자

,