Рынок Forex – происхождение
MT 4 Отчеты эксперта и сервера log файлы для рассмотрения проблемы
Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт4, с вопросами об ошибках, я попытаюсь Вам рассказать наиболее частые ошибки трейдера, и ошибки советников, способы их устранения и причины их возникновения.
Каждый советник имеет свой функциональный режим, но будем исходить из стандартного набора проблем и распространенных ошибок советников.
Итак начнем.
Краткая справка по ошибкам изложена в Коды Ошибок, а также в самом терминале MetaTrader4
Исходя из них – мы попробуем в стиле “Руководства по ошибкам электронной техники” описать проблему и способ ее решения.
Если Вашей ошибки нет в данной таблице, или способы решения не помогли, обратитесь к автору Вашего советника, но перед этим воспользуйтесь статьей
Log файлы для детального рассмотрения проблемы с роботами (https://www.expforex.com/publ/otchety_ehksperta_i_servera_log_fajly/6-1-0-58)
Также возможно Вам помогут некоторые статьи:
- Ошибки и Что необходимо сделать до заказа эксперта?
- Как правильно оформить ТЗ
- Тестирование и оптимизация советников
- Как установить эксперта, советника.
- Crash Terminal, Краш, Падение терминала, Отчет об ошибке
Номер ошибки | Краткое описание | Возможные причины возникновения | Способ решения |
Ошибки рассогласования графиков | Ошибки на сервере ДЦ: приходящие тики не очень аккуратно обрабатываются на всех таймфреймах. | Ошибки на сервере ДЦ: приходящие тики не очень аккуратно обрабатываются на всех таймфреймах. | Тестирование сразу после загрузки из архива не выявляет ошибок потому, что грузятся только минутки, которые преобразуются в другие ТФ по корректному алгоритму. На этот момент ошибок рассогласования нет. А потом, когда начинается поступление реальных котировок, рассогласования накапливаются вновь. |
TestGenerator: unmatched data error | Ошибка в данных архива котировок | 1. Неполные данные котировок Вашего брокера 2. Поврежденная база котировок 3. Вы пытаетесь тестировать советника до даты сегодняшнего дня. 4.асинхронность данных старших ТФ в архиве | 1. Попробуйте обновить базу данных котировок. 2. Попробуйте обновить архив котировок. 3. Конечную дату теста попробуйте изменить на 1 месяц назад до текущего дня. Например сегодня 12.01.2013, конечную дату теста поставьте 01.01.2013 4. С помощью стандартного скрипта Period Converter – сконвертируйте Старшие ТФ из ТФ М1. |
Ошибка 0,1 | Нет ошибки, ошибка не известна | Ошибка возникает либо когда ошибка не определена, либо когда ее нет. | В эксперте исключить обработку ошибок 0 и 1 |
ошибка 4, 146 | Торговый сервер занят | 1. Советник подал слишком много приказов одновременно 2. Не дождавшись ответа от сервера, при выполнении операции – советник пытается отправить новый приказ, Сервер перегружен | 1. Перезагрузка терминала 2. Оптимизация кода советника с помощью функций обработки ошибок. |
ошибка 8, 141 | Слишком частые запросы | 1. Предыдущие причины ошибки, в сильно частом запросе. | |
ошибка 129 | Неправильная цена | 1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная | 1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID SELL нужно открывать по BID а закрывать по ASK |
ошибка 130,145 | Неправильные уровни стопов | 1. уровни стопов = Стоплосс, тейкпрофит или уровень открытия отложенного ордера или лимитного ордера. 2. уровни стопов расположены слишком близко к цене. 3. Ваш счет открыт в группе ECN (ЕЦН) или NDD (НДД). 4. Ваш брокер использует Рыночное исполнение позиций.5. Быстрый рынок, при выходе важных новостей – уровень минимального стопа на сервере всегда поднимается в 3 раза . | 1. Проверьте значения Ваших стоплосс, тейкпрофитов. 2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов – соблюдайте уровень минимальной дистанции. 3. В “хорошо” написанном советнике должны быть функции работы на счетах ECN и NDD (MarketWatch=true) Только для позиций!5. Стоит переждать такие моменты или же поднять свой стоп. |
ошибка 131 | Неправильный объем | 1. Неправильный лот при открытии сделки 2. Лот, который вы пытаетесь открыть, меньше минимального 3. Лот, который вы пытаетесь открыть больше максимального 4. Разрядность лота отличается от разрядности брокера. | 1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ 2.3. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие. 4. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов = 1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов. |
ошибка 132 | Рынок закрыт | 1. Рынок закрыт в Выходные дни | 1. Пробуйте связаться с рынком после выходных |
ошибка 133 | Торговля запрещена | 1. В данный момент торговля запрещена 2. По данной валютной паре запрещено торговать | 1. Попробуйте торговать после выходных |
ошибка 134 | Недостаточно денег для совершения операции | 1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи | 1. Проверьте уровень свободных средств, и рассчитайте средства, которые Вам нужны, для открытия лота 2. Следите за уровнем Ваших свободных средств |
ошибка 135..138 | Цена изменилась | 1. Реквот 2. Слишком быстрый рынок 3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене | 1. Не торгуйте в такие моменты 2. Увеличьте уровень проскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене. 3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций |
ошибка 147 | Использование даты истечения ордера запрещено брокером | 1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера | 1. В советнике, в функции OrderSend в параметре срок истечения поставьте = 0 2. Не устанавливайте срок истечения ордера. |
ошибка 148 | Количество открытых и отложенных ордеров достигло предела, установленного брокером. | 1. Максимальное количество открытых ордеров и позиций достигнут предела, установленного брокером. | 1. Удалите или закройте часть позиций 2. Остановите процесс открытия новых позиций 3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда. |
ошибка 4012, 4013 zero devide | Остаток от деления на ноль | Вы пытаетесь поделить число на 0. | Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом) |
ошибка 4017 | Вызовы DLL не разрешены | В Вашем терминале запрещен вызов DLL | Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса. |
Ошибка 4018 , 4019 | Невозможно загрузить библиотеку | Библиотека поврежденаВызов библиотеки осуществляется с ошибкой | Проверьте библиотеку DLLОбратитесь к разработчику данной библиотеки |
Ошибка 4020 | Вызовы внешних библиотечных функций не разрешены | В Вашем терминале запрещен вызов функций из внешних экспертов | Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов, |
Ошибка 4103 | Невозможно открыть файл | Данный файл не существуетДанный файл заблокирован | Проверьте наличие указанного файла в папке experts – files Tester – filesПроверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записи\чтения файла |
Ошибка 4106 | Неизвестный символ | Символа нет в обзоре рынка | В обзоре рынка – правой кнопкой мыши – показать все символыПроверить названия символа в советнике и наличие его в обзоре рынкаНекоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс. |
Ошибка 4108 | Неверный номер тикета | Тикет ордера, который выбирает эксперт – не существуетЭксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером. | Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советникаОтключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию |
Ошибка 4109 | Торговля не разрешена | Советнику запрещено торговать, на графике грустный смайл или крестик | Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники. |
Ошибка 4110, 4111 | Длинные позиции не разрешены Короткие позиции не разрешены | В настройках советника, в вкладке Общие не разрешен тип позиций | В Вкладке Общие, при установке советника есть выбор позиций:Long & Short – Разрешены BUY SELLOnly Long– Разрешен BUY Only Short – Разрешен SELL |
Esta publicación también está disponible en: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어