Введение
News Trader (Торговец на новостях) — это экспертный советник для МетаТрейдера, разработанный, чтобы помочь Форекс-трейдерам с торговлей на новостях, например, при выходе важных макроэкономических показателей. ЭС можно использовать для автоматизации стратегии торговли на новостной волатильности. Важно понимать, что News Trader — это не полностью автоматическое решение. Трейдеру придется устанавливать дату и время выхода новости, а также выбирать размер стоп-лосса и тейк-профита. Но можно использовать и автоматические уровни стоп-лосса и тейк-профита, основанные на индикаторе ATR (Средний истинный диапазон). Советник поддерживает гибкий размер позиции в дополнение к фиксированному. Он доступен для следующих торговых платформ: MT4, MT5, cTrader.
Принцип работы
News Trader открывает одну или две сделки (по умолчанию две — на покупку и на продажу) за некоторое время до объявления новости (по умолчанию за 10 секунд). Он устанавливает стоп-лосс и тейк-профит в соответствии с входными параметрами, заданными трейдером. По запросу трейдера ЭС может изменять уровни стоп-лосса и тейк-профита пока не выйдет новость, чтобы они соответствовали текущей цене. После выхода новости экспертный советник применяет следящий стоп-лосс в соответствии с выбором трейдера. Если одна или обе позиции активны спустя час (по умолчанию) после выхода новости, ЭС закрывает их.
Пример сделки
Скриншот показывает работу ЭС во время и после выхода ежемесячных отчетов по безработице в США и Канаде, а также канадского отчета по торговому балансу. Новости вышли в 8:30 (по североамериканскому восточному времени) 4-го декабря 2015 года.
Уровни открытия сделок на покупку и на продажу показаны двумя стрелками, указывающими вправо. Уровни стоп-лосса показаны красными черточками над и под уровнями открытия. Тейк-профит показан синими черточками.
После выхода новости обменный курс подскочил, и стоп-лосс позиции на продажу исполнился. К сожалению, курс не достиг значения тейк-профита позиции на покупку. Она была закрыта по таймауту спустя час после выхода новости (синяя стрелка, указывающая влево). В этом случае прибыль превысила убыток в три раза — хороший результат, но не идеальный. Очевидно, что прибыль могла бы быть выше, если бы тейк-профит был установлен немного ближе.
Размер позиции
Экспертный советник News Trader поддерживает два режима указания размера позиции: обычный фиксированный размер позиции и размер позиции, основанный на риске. Первый режим — очень простой. В нем трейдер задает объем сделки в лотах и тот используется в каждой позиции, открываемой этим ЭС. Во втором режиме размер позиции рассчитывается на основе фиксированной доли от баланса счета или на основе фиксированной суммы. И в том, и в другом случае используется максимальный допустимый риск, заданный или в процентном, или в денежном выражении.
Стоп-лосс и тейк-профит на основе ATR
Экспертный советник может использовать индикатор среднего истинного диапазона (ATR) для автоматического выбора оптимальных уровней стоп-лосса и тейк-профита на основании волатильности, предшествовавшей выходу новости. Значение ATR рассчитывается с заданным периодом. Стоп-лосс и тейк-профит затем рассчитываются с помощью заданных множителей прямо перед открытием позиции.
Без бэктеста
Из-за природы ЭС News Trader бэктесты с ним не проводились.
Входные параметры
Торговля
- NewsTime — дата и время выхода новости, на которой следует торговать. В cTrader используется пять отдельных параметров: год, месяц, день, час, минуты.
- StopLoss (по умолчанию = 15) — стоп-лосс в пунктах. Игнорируется если UseATR = true.
- TakeProfit (по умолчанию = 75) — тейк-профит в пунктах. Я рекомендую устанавливать, как минимум, в пять раз больше стоп-лосса. Игнорируется если UseATR = true.
- Direction (по умолчанию = Both) — направление позиции. Может быть одним из четырех вариантов:
- Buy — покупка.
- Sell — продажа.
- Both — и покупка и продажа.
- Random — случайное направление.
- TrailingStop (по умолчанию = None) — тип следящего стоп-лосса. Может быть одним из трех:
- None — без следящего стоп-лосса.
- Breakeven — точка безубыточности; стоп-лосс будет перемещен на уровень открытия, как только прибыль достигнет заданного значения.
- Normal trailing stop — классический следящий стоп-лосс — двигается с ростом прибыли.
- Normal trailing stop + Breakeven — комбинация из трейлинг-стопа и безубытка.
- BEOnProfit (по умолчанию = 0) — прибыль в пунктах, когда стоп-лосс должен быть передвинут на уровень безубытка.
- BEExtraProfit (по умолчанию = 0) — дополнительная прибыль в пунктах для добавления к уровню безубытка.
- TSOnProfit (по умолчанию = 0) — прибыль в пунктах, когда должен включиться трейлинг-стоп. Нулевое значение означает, что советник не будет ждать прибыли для включения трейлинга.
- PreAdjustSLTP (по умолчанию = false) — если true, то ЭС будет обновлять значения СЛ и ТП под текущую цену после открытия позиций и до самого выхода новости.
- SecondsBefore (по умолчанию = 18) — число секунд перед выходом новости, когда будет открыта позиция.
- CloseAfterSeconds (по умолчанию = 3600) — число секунд после выхода новости, когда позиция будет закрыта по таймауту. Игнорируется, если равно 0.
- SpreadFuse (по умолчанию= true) — если true, то советник не будет торговать, если спред увеличился до уровня или больше заданного стоп-лосса.
ATR
- UseATR (по умолчанию = false) — если true, то индикатор ATR определяет уровни стоп-лосса и тейк-профита.
- ATR_Period (по умолчанию = 14) — период индикатора ATR, который будет использоваться для расчета стоп-лосса и тейк-профита. Работает, только если UseATR = true.
- ATR_Multiplier_SL (по умолчанию = 1) — множитель для значения индикатора ATR для получения значения стоп-лосса. Работает, только если UseATR = true.
- ATR_Multiplier_TP (по умолчанию = 5) — множитель для значения индикатора ATR для получения значения тейк-профита. Работает, только если UseATR = true.
Управление капиталом
- Lots (по умолчанию = 0.1) — базовый фиксированный размер позиции. Используется, когда MM = false.
- MM (по умолчанию = true) — если true, будет использоваться расчет позиции, основанный на допустимом уровне риска.
- Risk (по умолчанию = 1) — допуск риска в виде процентов от баланса/средств на торговом счете. Работает только когда MM = true. Этот параметр игнорируется, если UseMoneyInsteadOfPercentage = true.
- FixedBalance (по умолчанию = 0) — если равен ненулевому значению, то будет использоваться вместо текущего баланса/средств счета при расчете размера позиции. Работает только если MM = true.
- MoneyRisk (по умолчанию = 0) — допуск риска в валюте счета. Работает только если MM = true. Требует установки UseMoneyInsteadOfPercentage равным true.
- UseMoneyInsteadOfPercentage (по умолчанию = false) — если true, то размер позиции рассчитывается на основании допустимого риска в валюте счета (MoneyRisk) вместо процентных пунктов от баланса/средств счета (Risk). Работает только если MM = true.
- UseEquityInsteadOfBalance (по умолчанию = false) — если true, то размер позиции рассчитывается на основании средств (equity), доступных на счете, вместо баланса счета. Работает только если MM = true. Игнорируется, если UseMoneyInsteadOfPercentage = true.
Таймер
- ShowTimer (по умолчанию = true) — если true, то в верхнем левом углу графика будет видно таймер обратного отсчета до новости и времени, прошедшего после новости.
- FontSize (по умолчанию = 18) — размер шрифта для отображения таймера. Работает, если только ShowTimer = true. Отсутствует в платформе cTrader.
- Font (по умолчанию = "Arial") — название шрифта для отображения таймера. Работает, если только ShowTimer = true. Отсутствует в платформе cTrader.
- FontColor (по умолчанию = clrRed) — цвет шрифта для отображения таймера. Работает, если только ShowTimer = true. Отсутствует в платформе cTrader.
- Corner (по умолчанию = CORNER_LEFT_UPPER) — угол экрана для таймера. Работает, если только ShowTimer = true.
- X_Distance (по умолчанию = 10) — горизонтальное расстояние от угла экрана до верхнего левого угла таймера. Работает, если только ShowTimer = true. Отсутствует в платформе cTrader.
- Y_Distance (по умолчанию = 130) — вертикальное расстояние от угла экрана до верхнего левого угла таймера. Работает, если только ShowTimer = true. Отсутствует в платформе cTrader.
Прочее
- Slippage (по умолчанию = 10) — допустимое проскальзывание в пунктах.
- Magic (по умолчанию = 794823491) — «волшебный» номер, используемый экспертом для того, чтобы отличать свои позиции от чужих. Отсутствует в платформе cTrader.
- Commentary (по умолчанию = "NewsTrader") — комментарий к позициям, открываемым данным ЭС.
- IgnoreECNMode (по умолчанию = true) — если true, советник будет отправлять рыночные ордеры сразу со стоп-лоссом и тейк-профитом, даже если это — счет с рыночным типом исполнения ордеров.
МиниFAQ
На каких новостях стоит торговать?
Для этого ЭС сгодятся любые важные новости: решения по процентным ставкам, протоколы заседаний центральных банков, инфляция, ВВП, торговый баланс, отчеты по занятости и т.д. Чем важнее новость, тем больше шанс дойти до тейк-профита.
Какой стоп-лосс и тейк-профит установить?
Я рекомендую ставить стоп-лосс 10 стандартных пунктов и тейк-профит 50 пунктов на таких новостях, как ВВП, инфляция, розничные продажи. Стоп-лосс 15-20 пунктов и тейк-профит 75-100 пунктов на таких новостях, как решения по ставкам Федрезерва, протоколы заседаний Федрезерва или отчеты по безработице США.
На какие валютные пары лучше ставить News Trader?
Советник работает с любыми торговыми инструментами, но я рекомендую использовать его только с очень ликвидными валютными парами: EUR/USD, GBP/USD, USD/CAD, NZD/USD и т.д. Проскальзывание и расширение спреда на экзотических валютных парах приведут к преждевременному исполнению стоп-лосса.
В чем разница между версиями для МТ4 и МТ5?
Версия для МТ5 (режим неттинга) не может открыть одновременно позиции на покупку и на продажу по одной валютной паре. Вместо этого она откроет отложенные ордеры, которые будут имитировать такие позиции. К сожалению, это увеличивает уязвимость к рыночной волатильности. Рекомендуется использовать МТ5-счет с хеджированием или МТ5 с неттингом только с брокерами, которые зарекомендовали себя стабильным исполнением сделок без сверхъестественного расширения спредов.
Почему мой убыток по позиции больше, чем риск, который я задал во входных параметрах при MM = true?
Этому есть три возможные объяснения:
- Если PreAdjustSLTP = true, ЭС постоянно поправляет стоп-лосс в промежутке между открытием позиции и выходом новости. Это может привести к увеличенному значению стоп-лосса при том же размере позиции. В результате этого увеличивается потенциальный убыток.
- Когда используется две позиции (и на покупку, и на продажу), есть очень небольшая вероятность того, что оба стоп-лосса будут исполнены. В таком случае ваш убыток будет в два раза больше запланированного риска.
- Гэп в котировках после выхода новости может привести к исполнению стоп-лосса по худшей цене, увеличив тем самым убыток.
Этот советник совместим с ECN. Если вы торгуете через ECN-брокера (с рыночным исполнением ордеров), вы не можете устанавливать стоп-лосс или тейк-профит при открытии позиции. Вам следует открыть позицию сначала без этих уровней и только потом изменить позицию, добавив стоп-лосс и тейк-профит. Данный советник будет выполнять это автоматически.
Скачать (ver. 1.12, 2024-07-24)
МетаТрейдер 4
News Trader в .zip News Trader в .mq4
МетаТрейдер 5
News Trader в .zip News Trader в .mq5
cTrader
News Trader в .zip News Trader в .cs
Обсуждение
Протестировали этот экспертный советник и хотите поделиться результатами? Есть вопросы или замечания? Обсудите их на форуме!
Список изменений
Версия 1.12 — 2024-07-23
- Добавлены входные параметры для управления минимальной прибыли для включения безубытка, дополнительной прибыли для безубытка и минимальной прибыли для запуска трейлинг-стопа.
- Добавлена возможность использовать трейлинг-стоп и уровень безубытка одновременно.
- Изменен параметр даты и времени новостей так, чтобы значение по умолчанию всегда было равно текущему времени.
- Исправлены некоторые проблемы с применением трейлинг-стопа и уровня безубытка.
- Исправлен баг в версии для MT5, из-за которого не работала фильтрация позиций по мэджику.
Версия 1.11 — 2024-01-19
- Исправлены потенциальные проблема с установкой стоп-лосса и тейк-профита на позиции.
- Исправлена ошибка, которая иногда приводила к открытию нескольких сделок сразу (только MT5).
- Убрано сообщение о минимальном размере и шаге позиции при нормальной инициализации советника. Теперь оно будет выводится только, если есть какая-то проблема.
Версия 1.10 — 2022-07-09
- Небольшие улучшения в расчете размера позиции.
Версия 1.09 — 2022-04-27
- Добавлены входные параметры для позиционирования таймера на графике.
- Обновлена версия экспертного советника для платформы cTrader.
- Прояснены некоторые сообщения об ошибках и описания входных параметров.
Версия 1.08 — 2020-12-13
- Исправлен расчет размера позиции для отложенных ордеров, когда базовая валюта пары равна валюте счета (только МТ4).
Версия 1.07 — 2020-11-19
- Обновление расчета размера позиции.
Версия 1.06 — 2020-06-24
- Дальнейшие улучшения по расчету цены пункта в версии для МТ4.
Версия 1.05 — 2020-05-30
- Исправлена ошибка в версии для MT5, которая могла привести к неверному расчету цены пункта.
Версия 1.04 — 2020-05-16
- Улучшена точность расчета размера позиции.
Версия 1.03 — 2019-03-12
- Оптимизирован порядок открытия и модификации позиций, чтобы избежать использования устарелых цен насколько это возможно.
- Увеличено значение по умолчанию для времени перед новостями, когда советник совершает сделки.
- Добавлено дополнительное журналирование для режима доступности автоматической торговли на сервере брокера.
Версия 1.02 — 2017-09-27
- Добавлен режим определения режима хеджирования для торговых счетов в версии МТ5.
- Исправлены небольшие ошибки и проблемы.
Версия 1.01 — 2017-09-18
- Первый публичный релиз советника.