Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 974
- Рейтинг:
- Опубликован:
- 2021.10.26 08:49
- Обновлен:
- 2021.10.26 16:59
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Торговая стратегия
Советник использует два индикатора iRVI (Relative Vigor Index, RVI) - на текущем таймфрейме ('Working timeframe') создаётся подчинённый индикатор 'Slave' (отвечает за торговый сигнал) и на старшем таймфрейме ('RVI Master: timeframe') создаётся индикатор 'Master', который отвечает за направление тренда.
Торговые сигналы:
Сигнал на открытие 'BUY' - 'Master' на текущем баре полностью ниже верхнего уровня (в коде это 0.2), у 'Slave' есть пересечение линий индикатора и это пересечение полностью ниже нижнего уровня (в коде это -0.2)
//--- BUY Signal if(rvi_master_main[m_bar_current]<0.2 && rvi_master_signal[m_bar_current]<0.2) if(rvi_slave_main[m_bar_current+1]<rvi_slave_signal[m_bar_current+1] && rvi_slave_main[m_bar_current]>rvi_slave_signal[m_bar_current]) if(rvi_slave_main[m_bar_current]<-0.2 && rvi_slave_signal[m_bar_current]<-0.2)
Сигналы 'SELL' зеркальные.
После небольшой оптимизации можно получить вот такой результат:
Рис. 1. iRVI Two Timeframes
Оптимизация запускалась на таком символе и на таком периоде:
В результате лучшие параметры были выбраны:
Особенности:
- Советник можно оптимизировать по рабочему таймфрейму ('Working timeframe')
- На баре может быть только одна сделка 'вход в рынок' (это внутренний параметр, он не вынесен во входные параметры и это не имеет отношения к параметру 'Only one positions')
- При работе в режиме 'внутри бара' (параметр 'Search signals on ...' равен 'bar #0 (at every tick)') текущий бар - это бар #0, при работе в режиме 'только в момент рождения нового бара' (параметр 'Search signals on ...' равен 'bar #1 (on a new bar)) текущий бар - это бар #1
- Параметр 'Trade mode: ' - ограничение в какую сторону торговать. Может принимать значения 'Allowed only BUY positions', 'Allowed only SELL positions' и 'Allowed BUY and SELL positions'
- Параметр 'Use time control' - временной интервал поиска торговых сигналов от 'Start Hour'::'Start Minute' до 'End Hour'::'End Minute'. Временной диапазон можно задавать как внутри дня, так и с переходом через сутки
Теперь подробнее по каждой группе параметров:
Trading settings:
'Working timeframe' - рабочий таймфрейм. Таймфрейм на котором создаются индикаторы и на котором ищется новый бар. Стоп лосс, Тейк профит и Трейлинг задаётся в Points. Любой из параметров ('Stop Loss', 'Take Profit', 'Trailing Stop') можно отключить - для этого выбранный параметр установите в '0.0'. Как работает трейлинг показано в картинках в коде TrailingStop.
Position size management (lot calculation)
Лот может быть как постоянный ('Money management' установить в 'Constant lot' и задать размер лота в 'The value for "Money management"') и динамический - в процентах риска на сделку ('Money management' установить в 'Risk in percent for a deal' и задать процент риска в 'The value for "Money management"'). Также можно задать постоянный лот равный минимальному лоту - 'Money management' установить в 'Lots Min'.
Time control:
В данном разделе задаётся временной диапазон для поиска торговых сигналов. Временной диапазон включается через 'Use time control' и задаёт временной интервал поиска сигналов от 'Start Hour'::'Start Minute' до 'End Hour'::'End Minute'. Временной диапазон можно задавать как внутри дня, так и с переходом через сутки. Не влияет на трейлинг.
Additional features:
Флаг 'Positions: Only one' выставленный в 'true' разрешает советнику иметь в рынке не более одной позиции.
ВНИМАНИЕ: 'Positions: Only one' выставленный в 'true' не отменяет действие 'Positions: Close opposite' выставленный в 'true'! Другими словами: сначала будет закрыта противоположная позиция(позиции)
За переворот сигналов отвечает флаг 'Positions: Reverse'. Интересный флаг 'Positions: Close opposite' - при выставлении его в 'true' перед открытием позиции гарантированно удаляет противоположные позиции. 'Print log' выводит расширенное логирование всех операций. Параметр 'Freeze and StopsLevels Coefficient' задаёт коэффициент для уровней стопов и заморозки для случаев, когда эти уровни для символа равны нулю. Рекомендуется применять значение '3'.
![iStochastic EA Rule](https://c.mql5.com/i/code/expert.png)
Стратегия на двух сигналах индикатора iStochastic (Stochastic Oscillator, STO)
![iCCI Martingale](https://c.mql5.com/i/code/expert.png)
Советник по индикатору iCCI (Commodity Channel Index, CCI) плюс управление объемами позиций при помощи Мартингейла. Дневные лимиты на убыток и прибыль
![iRSI Open Close Multisymbol](https://c.mql5.com/i/code/expert.png)
Советник 'iRSI Open Close' в мультисимвольном варианте
![Free Margin Close All FIFO](https://c.mql5.com/i/code/expert.png)
Советник отслеживает показатель 'Free Margin' и закрывает позиции по правилу FIFO