Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2108
- Рейтинг:
- Опубликован:
- 2022.01.11 17:23
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Торговая стратегия
Советник использует два индикатора: iCHO (Chaikin Oscillator, CHO) и пользовательский CCIDualOnMA. CHO используется как индикатор тренда, а также, при пересечении индикатором нуля, для закрытия позиций. Индикатор 'CCIDualOnMA' используется как фильтр - для добавления позиций. Оба индикатора создаются на заданном таймфрейме 'Working timeframe' - этот же таймфрейм используется для определения момента рождения нового бара (если это нужно для параметров 'Trailing on ...' и 'Search signals on ...').
Торговые сигналы:
Закрытие позиций при пересечении нуля индикатором CHO:
Пересечение | Positions: Reverse | Trade mode |
---|---|---|
Пересечение снизу вверх | 'false' -> закрыть все позиции SELL | ('Allowed only BUY positions' OR 'Allowed BUY and SELL positions') -> открыть позицию BUY |
'true' -> закрыть все позиции BUY | ('Allowed only SELL positions' OR 'Allowed BUY and SELL positions') -> открыть позицию SELL | |
Пересечение сверху вниз | 'false' -> закрыть все позиции BUY | ('Allowed only SELL positions' OR 'Allowed BUY and SELL positions') -> открыть позицию SELL |
'true' -> закрыть все позиции SELL | ('Allowed only BUY positions' OR 'Allowed BUY and SELL positions') -> открыть позицию BUY | |
Обычные сигналы (добавление позиции)
Индикатор CHO выше нуля, а быстрый CCI пересекает медленный CCI снизу вверх и при этом быстрый ниже нуля - сигнал на открытие BUY.
Индикатор CHO ниже нуля, а быстрый CCI пересекает медленный CCI сверху вниз и при этом быстрый выше нуля - сигнал на открытие SELL.
Рис. 1. iCHO Trend CCIDualOnMA Filter
Особенности:
- Советник можно оптимизировать по рабочему таймфрейму ('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'.

Не сглаженная разница показаний iMA (Moving Average, MA) с двух соседних баров. Отображение в главном окне и индикация значками при пересечении нуля

Не сглаженная разница показаний iMA (Moving Average, MA) с двух соседних баров

Советник-утилита: закрывает все позиции по указанному символу. Никаких защит и проверок (кроме названия символа) в советнике нет.

На основе статьи "Почти конструктор для создания советника". Мои коды для объявления хендлов индикаторов, для создания индикаторов.