Устранение неисправностей EA

Если вы не знаете, как запустить EA на своём компьютере, или никогда раньше не запускали EA, мы рекомендуем начать с самого начала: Помощь — я новичок. Ниже вы найдёте решения проблем с вашим EA, выбрав сценарий, который наилучшим образом соответствует вашей ситуации:

Я не получаю никаких ордеров.

Первое, что нужно сделать, — проверить наличие ошибок. Если вы запускали Backtest, откройте вкладку «Journal» на панели Strategy Tester. Если вы работаете на Demo счёте, проверьте обе вкладки — «Journal» и «Experts» — на панели Toolbox. Если панели не видны и вы не знаете, как их открыть, перейдите в «View» и выберите «Toolbox» (Demo/Live) или «Strategy Tester» (тестирование). Мы настоятельно рекомендуем сначала убедиться в работе EA, запустив Backtest, так как это упрощает тестирование и решение проблемы. Кроме того, это быстрее.

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

Если после прокрутки вкладок вы видите ошибку, но не понимаете её смысл, перейдите к части этой страницы устранения неисправностей «Я получаю ошибку».

Если после прокрутки вкладок вы не видите ошибок, скорее всего, EA настроен неверно. Мы настоятельно рекомендуем создать простой пример EA, выбрав один из наших шаблонов или обратившись к нашему ИИ-агенту. Убедившись, что EA работает, добавляйте по одному модулю или условию (Open Buy/Open Sell) за раз. После каждого шага добавления чего-либо нового в ваш EA тестируйте его снова. Когда ордера перестанут поступать, вы поймёте, где допустили ошибку. Если вам нужна помощь в настройке EA, пожалуйста, оформите подписку и свяжитесь с нами. Если вы сначала хотите убедиться, что проблема в конфигурации, вы всегда можете связаться с нами для проверки.

Поскольку в Backtest ордера поступают, конфигурация EA, вероятно, верна, но что-то блокирует торговлю EA на Demo счёте, а следовательно — и на Live счёте. Сначала убедитесь, что вы достаточно долго ждали, чтобы быть уверенными в том, что EA не торгует, а ваши условия были выполнены. Если вы видите ошибку, очевидно, ждать не нужно.

Затем проверьте наличие ошибок. Пожалуйста, проверьте обе вкладки — «Journal» и «Experts» — на панели Toolbox. Если панели не видны и вы не знаете, как их открыть, перейдите в «View» и выберите «Toolbox».

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

Если после прокрутки вкладок вы видите ошибку, но не понимаете её смысл, перейдите к части этой страницы устранения неисправностей «Я получаю ошибку».

Если вы не видите ошибок после прокрутки вкладок, но получаете ордера при тестировании, убедитесь, что вы работаете с тем же символом и таймфреймом, что и при тестировании. Возможно, условия ордера были выполнены для символа при тестировании, но характеристики символа, которым вы торгуете на Demo, отличаются. Мы настоятельно рекомендуем сначала провести Backtest на вашем символе.

Если вам нужна дополнительная помощь, пожалуйста, свяжитесь с нами и опишите проблему как можно подробнее.

Я получаю ордера, но

Важно наблюдать линии SL/TP на графике в виде горизонтальных зелёных и красных линий. Если вы не видите эти линии на графике, обратитесь к разделу Я не вижу Stop loss и Take profit на графике.

Тем не менее, отсутствие stop loss (SL) или take profit (TP) во вкладке Trade панели Toolbox является нормой, поскольку управление ими осуществляет EA. Это сделано для того, чтобы брокер не имел доступа к информации о вашей сделке в иных целях. Кроме того, брокеры зачастую не поддерживают трейлинг или частое изменение ордеров, что критически важно для трейлинговых стратегий. Поэтому единственный жизнеспособный вариант — отслеживать SL/TP внутри памяти EA, обеспечивая точность до 0,1 пипса.

Если вы не видите stop loss (SL) или take profit (TP) на графике, рассмотрите следующее:

  1. Получаете ли вы ошибки при прикреплении EA к графику? Если да, перейдите к разделу «Я получаю ошибку» и выберите ошибку, которую видите.

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

  1. Был ли ордер открыт EA или размещён вручную? Если вы ожидаете, что EA будет управлять сделками, открытыми вручную, убедитесь, что Magic Number EA установлен в «0» в окне свойств Expert Advisor (вкладка Input) в MetaTrader. Так EA будет управлять вашими ордерами, открытыми вручную, включая установку SL/TP, если это настроено.

ea magic number property
Magic number of an EA. You can change the value to 0 for manual orders.

  1. Возможно, EA был отключён после открытия ордера? Проверьте правый верхний угол графика: EA отображается как активный (улыбающееся лицо) или неактивный (грустное лицо)? В MetaTrader 5 активный EA обозначается синей шляпой (в MT4 — улыбающимся лицом), а неактивный — серой шляпой (в MT4 — грустным лицом). Только активный EA будет управлять SL/TP. Чтобы предотвратить автоматическое отключение EA, следуйте инструкциям в разделе «Запустите EA в Backtest» на странице Руководство — Запуск первого EA и снимите флажки «Отключить».

ea magic number property
EA is running and not disabled.

  1. Линии SL/TP могут находиться за пределами видимой области графика. Уменьшите масштаб и проверьте, должны ли линии SL/TP быть в видимом диапазоне.
  2. Убедитесь, что после загрузки EA на график вы видите во вкладке «Expert» сообщение, подобное: «Pip (forex)/ Point (indices): 0.00010» для EURUSD. Если вы торгуете другим символом, убедитесь, что отображаемое значение соответствует значению 1 пипса/пункта для вашего символа. Если нет, вручную настройте «Manual pip point (0 = auto detection)» во вкладке Input свойств EA на правильное значение.

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually..

Наиболее вероятная причина того, что SL/TP не отображается там, где вы ожидаете, заключается в том, что вы торгуете символом с иным значением пипса, чем вы предполагаете. Например, если вы торгуете EURUSD, EA автоматически рассчитывает, что пипс равен значению 0.00010.

Как узнать значение пипса? Когда вы прикрепляете EA к графику и смотрите на вкладку «Expert», вы увидите следующую строку: Pip (forex)/ Point (indices): 0.00010. Это говорит вам о значении пипса: 0.00010. Если это не соответствует вашим ожиданиям, откройте свойства EA и установите следующее свойство: Manual pip point (0 = auto detection) на ожидаемое вами значение 1 пипса.

Вполне возможно, что при торговле US 30 вы предпочитаете, чтобы значение пипса/пункта составляло $1. Соответственно измените упомянутую настройку на 1.

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually.

Наиболее распространённая причина заключается в том, что ваш сигнал на открытие всё ещё активен. EA не закроет ордер, пока сигнал на открытие активен, потому что если бы он закрыл ордер, сигнал немедленно открыл бы новый ордер в том же направлении. Есть несколько способов убедиться, что ваш сигнал на открытие активен лишь короткое время:

  • Наиболее распространённый способ — использовать пересечение в вашем сигнале на открытие signal. Это особенно хорошо работает, когда EA использует низкий таймфрейм или SL/TP большие. Используя пересечение, значение индикатора проверяется не просто на то, что оно больше другого значения, а будет активным лишь до тех пор, пока предыдущее значение ещё было меньше.
  • Поскольку пересечение активно в течение периода таймфрейма индикатора, используемого в пересечении, вы можете альтернативно использовать модуль «Временной интервал между ордерами». Убедитесь, что вы включили «Применять после закрытого ордера».

По умолчанию Indicator работает на timeframe того chart, к которому прикреплён ваш EA. Поэтому при изменении timeframe chart ваши Indicators пересчитываются на новом timeframe, как и сигналы Buy и Sell, которые от них зависят. Из-за этого ваш EA может закрывать (или открывать) ордера только потому, что вы изменили timeframe chart.

Чтобы этого избежать, задайте для каждого Indicator фиксированный timeframe, чтобы chart больше не влиял на ваш EA. О том, как установить фиксированный Timeframe, см. Добавление Indicator в ваш EA.

При запуске EA я получаю ошибку

Как следует из сообщения, вам нужно найти ошибку на своих панелях. Если вы запускали Backtest, откройте вкладку «Journal» на панели Strategy Tester. Если вы работаете на Demo счёте, проверьте обе вкладки — «Journal» и «Experts» — на панели Toolbox. Мы настоятельно рекомендуем сначала запустить Backtest, чтобы убедиться в работе EA, так как это упрощает тестирование и решение проблемы.

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

Теперь ищите любую другую ошибку, кроме той, которую вы уже видели («Открытие (всех) ордеров не удалось. Пожалуйста, проверьте EA [Number] и посмотрите вкладки Journal и Expert.»). Найдя её, перейдите к соответствующему описанию ошибки на этой странице.

Если ошибка, которую вы видите, не соответствует ни одной ошибке на этой странице, пожалуйста, свяжитесь с нами и сообщите, какую ошибку вы видите.

Ваш EA не может найти ваш индикатор. Ваш индикатор должен находиться в папке «Indicators» MetaTrader, а НЕ в каком-либо подкаталоге. Таким образом, «Indicators\Examples», «Indicators\Market» или аналогичные пути не будут работать. Чтобы открыть папку «Indicators» из MetaTrader, перейдите в «File», а затем «Open Data Folder» (CTRL + Shift + D). Затем в проводнике нажмите «MQL4» и «Indicators».

Если это не решило данную ошибку, проверьте, что файл «ex4» находится в папке «Indicators», а не только файл «mq4». Если файл «ex4» отсутствует, откройте файл «mq4» в MetaEditor и нажмите кнопку «Compile».

Ваш EA не может найти ваш индикатор. Ваш индикатор должен находиться в папке «Indicators» MetaTrader, а НЕ в каком-либо подкаталоге. Чтобы открыть папку «Indicators» из MetaTrader, перейдите в «File», а затем «Open Data Folder» (CTRL + Shift + D). Затем в проводнике нажмите «MQL5» и «Indicators».

Если это не решило данную ошибку, проверьте, что файл «ex5» находится в папке «Indicators», а не только файл «mq5». Если файл «ex5» отсутствует, откройте файл «mq5» в MetaEditor и нажмите кнопку «Compile».

Ваш EA не может найти ваш индикатор. Ваш индикатор должен находиться в папке «Indicators» MetaTrader, а НЕ в каком-либо подкаталоге. Чтобы открыть папку «Indicators» из MetaTrader, перейдите в «File», а затем «Open Data Folder» (CTRL + Shift + D). Затем в проводнике нажмите «MQL5» и «Indicators».

Если это не решило данную ошибку, проверьте, что файл «ex5» находится в папке «Indicators», а не только файл «mq5». Если файл «ex5» отсутствует, откройте файл «mq5» в MetaEditor и нажмите кнопку «Compile».

Ваш EA использует опцию процентного управления капиталом для расчёта Lot Size, что требует от EA вычисления необходимой маржи для открытия позиции по вашему символу. Однако из-за неверной настройки символа брокером необходимая маржа не может быть рассчитана.

Попробуйте использовать фиксированный Lot Size, применив один из следующих вариантов управления капиталом для этого символа:

  • Фиксированный Lot Size
  • Ручная последовательность (убедитесь, что не используете процентную опцию)
  • Marginale (убедитесь, что не используете процентную опцию)

Ваш EA использует индикатор, который, в свою очередь, загружает DLL для работы. Если вы уверены в запуске этого EA и доверяете его издателю, прокрутите до инструкций в разделе «Запустите EA в Backtest» на странице Руководство — Запуск первого EA и включите «Allow DLL imports».

Скорее всего, конфигурация вашего MetaTrader ещё не настроена для разрешения автоматической торговли EA. Прокрутите до инструкций в разделе «Запустите EA в Backtest» на странице Руководство — Запуск первого EA и включите «Allow automated trading».

Вы пытаетесь открыть ордер с объёмом (Lot Size) меньшим или большим, чем допустимый размер у брокера. Это может произойти, например, когда брокер не принимает нано-лоты (0.0001 лот) при попытке использовать такой объём.

Ваши сигналы Open Buy и Open Sell выполняются в точно одно и то же время, но вы не разрешили EA хеджирование.

Чтобы решить эту проблему, либо исправьте сигналы так, чтобы Open Buy и Open Sell не выполнялись одновременно, либо, если это было намеренно, включите хеджирование в модуле Open order, чтобы разрешить EA одновременно открывать ордера на покупку и продажу.

Error enable hedging
Enable hedging on your Open order module

Выполните все шаги Подготовка EA к запуску.

Если это не помогло, есть ещё несколько причин, по которым вы можете получать эту ошибку:

  • Вы участвуете в финансируемом испытании, и ваш брокер не разрешает использование торговых ботов для испытания (уточните у вашего брокера).
  • Брокер не предлагает торговлю вашим символом для вашего типа счёта, даже если символ виден в Market Watch. Пожалуйста, свяжитесь с вашим брокером.
  • Ваш брокер больше не предлагает (например) GBPUSD или прекращает предоставление услуг.

Пожалуйста, свяжитесь с нами и сообщите нам, какую ошибку вы получаете. Мы расскажем вам, как решить ошибку, и добавим её на эту страницу.

Я получаю ошибку при загрузке EA на торговую площадку MT5

При загрузке вашего EA на торговую площадку MT5 он будет проверен на соответствие правилам. Это включает тест, проверяющий, не допускает ли EA слишком большие убытки по ордерам. Вам нужно убедиться, что ваш EA закрывает ордера до достижения максимального убытка, иначе ваш EA будет остановлен. Поэтому вы можете добавить модуль stop loss в дополнение к любому уже имеющемуся модулю Stop Loss. Пример: предположим, максимально допустимый Stop Loss составляет 5%, тогда установите Stop Loss на 4,5%. Уточните у MT5, каковы правила и ограничения.