아이디어 제공자: Gatis.
MQL5 코드 제공자: Vladimir Karputov.
이 EA는 네 가지 매개변수를 분석합니다:
- 막대 #1의 MACD 주요 선의 값 (macd_main_1)
- 막대 #1의 MACD 신호선의 값 (macd_signal_1)
- 막대 #1의 SAR의 값 (sar_1)과 가격 Bid (m_symbol.Bid())의 관계
이 매개변수들은 매수 및 매도 신호의 기본 공식에 결합됩니다:
bool open_buy = (macd_main_1>macd_signal_1 && macd_signal_1<0 && sar_1<m_symbol.Bid()); bool open_sell = (macd_main_1<macd_signal_1 && macd_signal_1>0 && sar_1>m_symbol.Bid());
그러나, 공식의 어느 부분에서든 신호의 값 < 및 >를 최적화할 수 있습니다. 이를 위해 각 신호 < 및 >변수 (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3)가 도입됩니다. 이 변수들을 사용하여 기본 공식은 다음과 같이 수정됩니다:
bool open_buy= (InpMoreLessBuy_1 ? macd_main_1>macd_signal_1 : macd_main_1<macd_signal_1) && (!InpMoreLessBuy_2 ? macd_signal_1 < 0 : macd_signal_1 > 0 ) && (!InpMoreLessBuy_3 ? sar_1 < m_symbol.Bid() : sar_1 > m_symbol.Bid() ); bool open_sell=(!InpMoreLessSell_1 ? macd_main_1<macd_signal_1 : macd_main_1>macd_signal_1) && (InpMoreLessSell_2 ? macd_signal_1 > 0 : macd_signal_1 < 0 ) && (InpMoreLessSell_3 ? sar_1 > m_symbol.Bid() : sar_1 < m_symbol.Bid() );
이 EA는 새 막대가 생성될 때만 작동합니다. 신호가 수신되면 수신된 신호와 반대의 포지션이 닫힙니다.
공식을 최적화할 때는 포지션 수를 최적화하는 것도 합리적입니다:

댓글 0