суббота, 22 апреля 2017 г.

Неправильные цены, SL или TP. Ошибки советников.

Советник Forex Trend River 2.1  - вопросы и ответы .
.... почему каждую секунду включается оповещение и рассказывает мне  о том, что выставлены неправильные параметры. По этой причине уже одну пару вообще удалил. Как с этим бороться? Само оповещение то нужно. Но как сделать правильный ход? Спасибо за поддержку!
Советник Forex Trend River 2.1  имеет блок обработки ошибок. Если в процессе торговли случается ошибка, программа сразу оповестит вас в всплывающем окне , которое вы называем Alert .


Многие пользователи советника жалуются что очень часто выскакивает ошибка  129 или 130 ,  неправильные цены, SL или TP. Это происходит при открытии ордеров и их модификации. Не нужно думать, как это делают многие, что это ошибки самой программы. Советник создан качественно, на профессиональном уровне. Дело совсем в других факторах. Это может быть различные условия брокеров, плохая и медленная связь. Отмечу также что советник не годится для ECN счетов ( замечание автора ) . Всегда должно соблюдаться условие StopLevel . Вспомните из инструкций, как должен настраиваться советник на четыре и пятизначных брокеров.
Теперь обратимся непосредственно к специалистам MQL4.
Советник решил открыть ордер, но запрашиваемой им цены для открытия в ценовом потоке не было , или  запрашиваемая цена не нормализована в соответствии с количеством знаков после десятичной точки, тогда вы увидите ошибку 129- неправильная цена.

Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo  с параметром MODE_STOPLEVEL. В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS). Нулевое значение MODE_STOPLEVEL означает либо отсутствие  ограничения на минимальную дистанцию для стоп-лосса/тейк-профита, либо факт использования торговым сервером внешних механизмов динамического контроля уровней, которые не могут быть транслированы в терминал. Во втором случае GetLastError() может возвращать ошибку 130, так как уровень MODE_STOPLEVEL фактически является "плавающим".
Пока советник выдаёт ошибку, при попытке открыть ордер, рыночная цена уходит всё дальше,  "запутывая" алгоритм программы. Цена уже прошла  точку входа в рынок ( сигнал на открытие ордеров ) и робот пытается открыть сделки по новой цене. Но пройдя точку входа, будут нарушены условия стопп лоссов и тейк профитов. Ошибка будет выскакивать бесконечно долго, пока не создадутся благоприятные условия, как того требует алгоритм  программы.

В своё время мы тоже не знали как с этим бороться. Служба поддержки ничего внятного сказать не могла. Единственное что мы придумали, на графике, где произошёл "сбой" нужно просто по новой переустановить советник. Тогда ново установленная программа начинала считывать рыночную информацию по новой и это помогало. Так что нужды в смене валютной пары нет . 
Что бы разобраться с работой советника, если в этом есть нужда, не поленитесь заглянуть в журнал событий. Там можно узнать много интересного о работе и проблемах  советника. 


 .... В чем прикол? Запретил во всех советниках функцию alert,-- а звук продолжает идти?!
Советник лишь выдаёт информацию, а управление алертами идёт непосредственно из самого MT4 терминала. Делается это разными способами, читайте справку МТ4.

В главном окне терминала:

Непосредственно на графике с установленным советником, нажмите клавишу F7:


Непосредственно на графике с установленным советником, нажав правую клавишу мыши:


Убрать все алерты навсегда,  можно убрав из кодов советника блок обработки ошибок. Но это не лучший выход. Если возникнет ошибка, советник долго не будет открывать ордера. Вы об этом ничего знать не будете и потеряете время в долгом ожидании сделок.


Комментариев нет:

Отправить комментарий