아이디어 제공자 - Vasiliy
mq5 코드 작성자 - barabashkakvn
이 EA는 iCCI(상품 채널 지수, CCI)와 iMA(이동 평균, MA) 지표를 사용합니다.
MA가 상승세를 보일 때, iCCI 지표는 -100에서 매수하고 200에서 매도하는 신호를 보냅니다!
반대로 MA가 하락세일 때는 iCCI 지표가 100에서 매수하고 -200에서 매도 신호를 보냅니다!
이렇게 해서 강한 움직임이 있을 때 "잘못된" 거래를 줄일 수 있습니다. EA는 남은 움직임을 포착하려고 시도합니다!
거래를 위한 시간 간격을 설정할 수 있습니다(Use Time interval 매개변수로 시간 간격 사용을 활성화/비활성화 할 수 있습니다). 시간 간격은 시작 시간에서 종료 시간까지 설정할 수 있습니다. 하루 내에서의 시간 간격과 하루를 넘어서는 시간 간격 모두 정의할 수 있습니다. 시간 간격 정의 함수에서 예시를 확인해보세요:
//+------------------------------------------------------------------+ //| TimeControl | //+------------------------------------------------------------------+ bool TimeControl(void) { MqlDateTime STimeCurrent; datetime time_current=TimeCurrent(); if(time_current==D'1970.01.01 00:00') return(false); TimeToStruct(time_current,STimeCurrent); if(InpStartHour<InpEndHour) // 일중 시간 간격 { /* input uchar InpStartHour = 5; // 시작 시간 input uchar InpEndHour = 10; // 종료 시간 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _ _ _ _ _ + + + + + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + + + + _ _ _ _ _ _ */ if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour) return(true); } else if(InpStartHour>InpEndHour) // 하루를 넘어선 시간 간격 { /* input uchar InpStartHour = 10; // 시작 시간 input uchar InpEndHour = 5; // 종료 시간 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _ _ _ _ _ _ _ _ _ _ + + + + + + + + + + + + + + + + + + + _ _ _ _ _ + + + + + + */ if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour) return(true); } else return(false); //--- return(false); }

댓글 0