Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 1542
- Рейтинг:
- Опубликован:
- 2019.07.02 18:14
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Идея торговой стратегии
Советник ориентируется на торговлю на бирже - на торговых счетах, где торговая сессия открывается утром, а не в полночь.
На текущем таймфрейме ожидаем пока окончательно сформируется первый бар и тогда принимает решение: если бар бычий - открываем BUY, если бар медвежий - открываем SELL (торговые сигналы можно переворачивать - подробнее в разделе "Дополнительные возможности").
Как формируется сигнал в функции SearchTradingSignals:
1. получаем с таймфрейма D1 текущий бар в массив MqlRates (rates_d1): копируем от начальной позиции ( start_pos) равной "0" один бар (count равен "1")
//--- bar opening time on D1 if(CopyRates(m_symbol.Name(),PERIOD_D1,start_pos,count,rates_d1)!=count) { return(false); }
2. сразу защита: в один день только одна сделка
datetime time_d1=rates_d1[0].time; if(time_d1==ExtLastDeal) // one deal on day return(true);
3. остаётся получить бары с текущего таймфрейма - копируем бары от времени time_d1 до текущего времени
//--- get bars on the current timeframe int copy=CopyRates(m_symbol.Name(),Period(),time_d1,TimeCurrent(),rates_current); if(copy<2) { return(true); }
и защита: если получили менее двух баров - значит у нас нет ещё сформированного первого бара за текущую торговую сессию и просто выходим.
Подробнее о настройках советника:
Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра Only one positions. Если Only one positions равен "true" и количество позиций открытых этим советником на данном символе больше "1" - тогда торговый сигнал игнорируется.
Параметр Close opposite равен "true": сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.
Торговые настройки
В советнике можно как включать так и выключать уровни Take Profit, Stop Loss и Trailing Stop. Для отключения выбранного параметра достаточно выбранный параметр установить в "0.0".
Трейлинг может срабатывать или через N- секунд или только в момент рождения нового бара. Интервал Трейлинга в секундах задаётся в Trailing, in seconds. Общее правило: если интервал задать меньше чем "10" - это означает работу ТОЛЬКО в момент рождения нового бара, если же интервал задать ровно или более "10" - это означает работу каждые "N" секунд.
Дополнительные возможности
- Only one positions - в рынке всегда только одна позиция
- Reverse - переворот торгового сигнала
- Close opposite - закрытие позиций противоположных торговому сигналу, причём сначала идёт гарантированное закрытие противоположной позиции и только потом открытие новой позиции в направлении сигнала
Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра Only one positions. Если Only one positions равен "true" и количество позиций открытых этим советником на данном символе больше "1" - тогда торговый сигнал игнорируется.
Параметр Close opposite равен "true": сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.
Управление размером позиции (расчёт лота)
Лот может быть как постоянный (Money management установить в Constant lot и задать размер лота в The value for "Money management") так и динамический - в процентах риска на сделку (Money management установить в Risk in percent for a deal и задать процент риска в The value for "Money management").

Торговая стратегия на индикаторах iFractals (Fractals) и iMACD (Moving Average Convergence/Divergence, MACD)

Торговая стратегия на двух индикаторах: iRSI (Relative Strength Index, RSI) и iMA (Moving Average, MA)

Модуль торговых сигналов на пересечении двух индикатора Moving Average

Индикатор iMA (Moving Average, MA) рассчитывается по первому индикатору: iRSI (Relative Strength Index, RSI)