Неопределенная причина ошибки 130

 

Добрый день. Периодически возникает ошибка 130 при выставлении лимитных ордеров и все банальные и базовые причины были проверены. Цель - установить максимально близкий к цене ордер, стопа и тейка нет, stoplevel проверяется. Стоит отметить, что бОльшую часть времени ордера открываются нормально, но периодически возникает эта ошибка. Типичный лог во время неудачного открытия:


Заранее благодарю за идеи, в чём может быть причина.

 

перечитай справку по OrderSend и все поймешь

Ошибка 130 в OrderSend
 
Dmitry Sumsky:

перечитай справку по OrderSend и все поймешь


Если акцент на том, что проблема в StopLoss и TakeProfit, то лимитки выставляются без них, как было указано в первом сообщении. 

Если акцент на том, что stoplevel плавающий, то в советнике логика учитывает его динамическое обновление и каждый тик его заново запрашивает

 
Roman Zhitnik:

Добрый день. Периодически возникает ошибка 130 при выставлении лимитных ордеров и все банальные и базовые причины были проверены. Цель - установить максимально близкий к цене ордер, стопа и тейка нет, stoplevel проверяется. Стоит отметить, что бОльшую часть времени ордера открываются нормально, но периодически возникает эта ошибка. Типичный лог во время неудачного открытия:


Заранее благодарю за идеи, в чём может быть причина.


на скриншоте видно, что вы пытались установить ордер внутри спреда - это разрешено брокером?

 
Roman Zhitnik:

Если акцент на том, что проблема в StopLoss и TakeProfit, то лимитки выставляются без них, как было указано в первом сообщении. 

Если акцент на том, что stoplevel плавающий, то в советнике логика учитывает его динамическое обновление каждый тик

Ордер приходит на сервер с задержкой. За это время цена изменяется и ордер попадает в StopLevel. выход: 1) игнорировать ошибку и жить дальше. 2) увеличить проскальзывание или отступ от цены.

 
Roman Zhitnik:

Если акцент на том, что проблема в StopLoss и TakeProfit, то лимитки выставляются без них, как было указано в первом сообщении. 

Если акцент на том, что stoplevel плавающий, то в советнике логика учитывает его динамическое обновление каждый тик

Лимитки сами по себе являются такими-же заявками TakeProfit с отличием лишь в том, что не связан с каким либо открытым ордером\позицией.

А ошибка возникает в те моменты когда во время ожидания очереди исполнения заявки цена изменилась. Если это для маркета, то лучше ставить не впритык, а с запасом 1 пункт как минимум.

 
Taras Slobodyanik:

на скриншоте видно, что вы пытались установить ордер внутри спреда - это разрешено брокером?


Разрешено. Как указано в топике, ошибка возникает только периодически. Следовательно, соглашусь с позициями STARIJ и Alexey Viktorov, придётся "понять и простить". 

 
Ставлю стоп левел + 1 пункт - никогда не возникает. Также, нужно делать отступ именно от цены открытия - для бай от аск, для селл от бид.