이 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 작동 차트
댓글 0