Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Опубликовал:
- Vladimir Karputov
- Просмотров:
- 1443
- Рейтинг:
- Опубликован:
- 2018.05.21 13:44
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Автор идеи: Gatis.
Автор MQL5-кода: Vladimir Karputov.
Советник анализирует четыре показателя:
- значение главной линии MACD на баре #1 (macd_main_1)
- значение сигнальной линии MACD на баре #1 (macd_signal_1)
- значение индикатора SAR на баре #1 (sar_1) относительно цены Bid (m_symbol.Bid())
Эти показатели сведены в базовую формулы сигналов для Buy и 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());
Но у Вас есть возможность оптимизировать значения знаков < и > в любой части формулы. Для этого для каждого знака < и > вводятся свои переменные (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() );
Сам советник работает только в момент рождения нового бара. При получении сигнала позиции, которые противоположны полученному сигналу закрываются.
При оптимизации формулы имеет также смысл оптимизировать и количество позиций:
![InvertCandle_Plus](https://c.mql5.com/i/code/indicator.png)
График текущего финансового инструмента в перевернутом виде с отображением ценовых уровней Ask и Bid.
![AnchoredMomentum_x10](https://c.mql5.com/i/code/indicator.png)
Индикатор AnchoredMomentum_x10 отображает положение индикатора AnchoredMomentum с десяти разных таймфреймов.
![MACD High/Low MTF](https://c.mql5.com/i/code/indicator.png)
Мультитаймфреймовая версия индикатора MACD High/Low
![Ultra Trend MTF](https://c.mql5.com/i/code/indicator.png)
Мультитаймфреймовая версия индикатора Ultra Trend.