Guarda come scaricare robot di trading gratuitamente
Ci trovi su Telegram!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Sistemi Esperti

MACD and SAR - sistema esperto per MetaTrader 5

Pubblicati da::
Vladimir Karputov
Visualizzazioni:
4358
Valutazioni:
(8)
Pubblicato:
2018.06.18 10:52
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Idea by: Gatis.

MQL5 code by: Vladimir Karputov.

The EA analyzes four parameters:

  1. Value of the main line of MACD on bar #1 (macd_main_1)
  2. Value of the signal line of MACD on bar #1 (macd_signal_1)
  3. Value of indicator SAR on bar #1 (sar_1) relative to price Bid (m_symbol.Bid())

These parameters are combined in the basic formula of signals for Buy and Sell:

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());

However, you can optimize the values of signs < and > in any part of the formula. To do so, for each of signs < and >, their own variables (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, and InpMoreLessSell_3) are introduced. With these variables, the basic formula is modified as follows:

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() );

The EA itself only operates when a new bar appears. When a signal is received, positions opposite to the signal received will be closed.

When optimizing the formula, it would also be reasonable to optimize the number of positions:

MACD and SAR optimization

Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/20827

Executor Candles Executor Candles

Trading on several candlestick patterns. The levels of Take Profit, Stop Loss, and Trailing are separate for BUY and SELL.

Night Flat Trade Night Flat Trade

The EA works in the quietest hours (upon closing the American session and before opening the Asian session).

ATR_Normalize_Histogram ATR_Normalize_Histogram

A typical oscillator using Average True Range in form of a multicolor histogram.

ATR_Normalize_Histogram_HTF ATR_Normalize_Histogram_HTF

Indicator ATR_Normalize_Histogram with the timeframe selection option available in input parameters, alerting when the overbought/oversold zones are broken through.