Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 1118
- Рейтинг:
- Опубликован:
- 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 (Stochastic Oscillator, STO)

Советник по индикатору iCCI (Commodity Channel Index, CCI) плюс управление объемами позиций при помощи Мартингейла. Дневные лимиты на убыток и прибыль

Советник 'iRSI Open Close' в мультисимвольном варианте

Советник отслеживает показатель 'Free Margin' и закрывает позиции по правилу FIFO