Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 4216
- Рейтинг:
- Опубликован:
- 2020.05.14 05:42
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Идея торговой стратегии
Доработка первой версии: входные параметры теперь на английском, а информационные сообщения могут быть или на русском или на английском. Стоп лосс, Тейк профит и Трейлинг теперь имеет тип uint - теперь максимальное значение 4 294 967 295.
Виртуальный трейлинг может выставлять стоп-лосс, тейк-профит и тралить позицию таким образом, чтобы стопы не были видны брокеру, т.е. они выставляются не в самом дилинговом центре, а на вашем компьютере, и никто, кроме вашего компьютера и вас, не имеет возможности видеть ваши планы.
Помимо невидимости, есть еще очень полезная вещь: у многих брокеров очень большие спреды и уровни установки стопов, так вот теперь эти уровни никак не могут вам навредить, советник просто их игнорирует.
По стоп-лоссу и тейк-профиту, как я понимаю, все и так понятно. Опишу лишь трал.
Трал управляется тремя переменными:
- длина трала;
- минимальная прибыль для старта;
- шаг трала.
Виртуальный стоп-лосс тянется за ценой на расстоянии длины трала. Минимальная прибыль — это то, когда начинаем выставлять виртуальный стоп-лосс. Шаг трала — это через сколько мы будем перемещать виртуальный стоп-лосс.
Допустим, у нас стоят значения 5, 2 и 3 соответственно.
Когда прибыль позиции достигнет 7 пунктов, виртуальный стоп-лосс переместится на цену открытия позиции плюс 2 пункта минимальной прибыли. Далее, если цена пройдет 3 пункта в сторону прибыли, стоп-лосс будет перемещен на 5 пунктов прибыли и так далее за ценой на расстоянии 5 пунктов. При откате цены до уровня стопа позиция будет закрыат.
Стопы трала обозначаются пунктирными линиями.
Для более простого и быстрого понимания советника можно установить его в тестер и там в режиме визуализации посмотреть его работу:
Чтобы увидеть в тестере работу виртуального трейлинга в коде нужно разблокировать несколько строк.
Было:
//if((MQLInfoInteger(MQL_PROFILER) || MQLInfoInteger(MQL_TESTER) || // MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_VISUAL_MODE)) && !IsPositionExists()) // { // m_trade.Buy(m_symbol.LotsMin(),m_symbol.Name()); // m_trade.Sell(m_symbol.LotsMin(),m_symbol.Name()); // }
А нужно сделать так:
if((MQLInfoInteger(MQL_PROFILER) || MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_VISUAL_MODE)) && !IsPositionExists()) { m_trade.Buy(m_symbol.LotsMin(),m_symbol.Name()); m_trade.Sell(m_symbol.LotsMin(),m_symbol.Name()); }

Три индикатора (iCCI, iStochastic и iRSI) в одном окне

Индикатор суммирует размер свеч, пока они идут в одном направлении

Советник управляющий счетом. Показывает какие пары инструментов сейчас торгуются на данном счете. Показывает прибыль полученную по каждой паре за определенное время. Помогает переключаться между множества открытых окон...

Индикатор строит две трендовые линии по двум последним фракталам