MetaTrader 5를 위한 ATR 추적 시스템 트레이딩 EA

Mike 2012.10.10 22:00 29 0 0
첨부파일

이 EA(Expert Advisor)는 ATR_Trailing을 이용해 설정된 채널의 경계에 따라 오픈 포지션의 손절매(Stop Loss)를 자동으로 이동시킵니다. 손절매는 바가 변경될 때마다 새로 닫힌 바의 데이터를 기반으로 수정되며, 손절매가 현재 가격에 고정될 수 있는 경우에만 적용됩니다.

이 EA는 사용자가 현재 차트에서 바로 지표를 표시할 수 있는 기능을 제공합니다. 별도로 지표를 차트에 설치할 필요가 없어 매우 편리합니다. EA가 차트에 설치되면 지표가 자동으로 차트에 표시됩니다. 이 지표는 항상 EA의 입력 파라미터와 동일한 값을 가집니다.

아래는 이러한 기능을 구현할 수 있는 코드입니다:

//+------------------------------------------------------------------+
//| CChart 클래스를 EA에 포함시키기           |
//+------------------------------------------------------------------+
#include <Charts\Chart.mqh>
//---- CChart 타입의 전역 변수 선언
CChart cchart;
//+------------------------------------------------------------------+
//| EA 초기화 함수                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---- ATR_Trailing 지표 핸들 얻기
   InpInd_Handle=iCustom(Symbol(),PERIOD_CURRENT,"ATR_Trailing",Period_ATR,Sell_Factor,Buy_Factor);
   if(InpInd_Handle==INVALID_HANDLE) Print(" ATR_Trailing 지표 핸들 얻기 실패");

//--- 에러 코드 초기화
   ResetLastError();

//--- cchart 객체가 현재 차트(ID=0)와 연결됨
   cchart.Attach(0);

//---- 차트에 ATR_Trailing 지표 추가  
   if(!cchart.IndicatorAdd(0,InpInd_Handle)) Print(" 차트에 ATR_Trailing 지표 추가 실패");

 

EA 입력 파라미터:

//+----------------------------------------------+
//| EA 입력 파라미터              |
//+----------------------------------------------+
input int Period_ATR=14;  // ATR 기간
input double Sell_Factor=2.0;
input double Buy_Factor=2.0;
input uint Deviation=10;  // 슬리피지

이미지:

Exp_ATR_Trailing 작동 차트

Exp_ATR_Trailing 작동 차트 

목록
댓글 0