Помогите с ошибкой OrderSend 130 когда нету стопов

 

Всем привет! написал советника который торгует без стопов, закрывает все позиции при достижении указанной прибыли , работает отлично но иногда пишет в консоли OrderSend error 130 тем самым не может открыть локирующий ордер и когда цена уходит в эту сторону все сливает , очень странно потому что ошибка бывает только иногда , я использую BUYSTOP и SELLSTOP c нормальным отступом и значения стопов по нулям, хотя сама ошибка подразумевает проблему стопов, читал в инете что бывает такое на ECN из за его специфики но на других счетах так же , вот скрин блока открытия ордеров.  

 

130:    "Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера)."

примените функцию NormalizeDouble к цене открытия отложки, авось...

//как вариант

 
Renat Akhtyamov:

130:    "Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера)."

примените фуекцию NormalizeDouble к цене открытия отложки, авось...

//как вариант

Пробовал! нормализировал все атрибуты , стопов вообще нету стоит 0 , обычно этого достаточно что бы их не открывать без ошибок

 
philjfry:

Пробовал! нормализировал все атрибуты , стопов вообще нету стоит 0 , обычно этого достаточно что бы их не открывать без ошибок

используйте тип счета ecn и не будет этой ошибки
 
philjfry:

Пробовал! нормализировал все атрибуты , стопов вообще нету стоит 0 , обычно этого достаточно что бы их не открывать без ошибок

Слишком близко к текущей цене устанавливаете ордер.


 
int stopLevel = (int)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL)+1;

Не помешает проверить перед установкой ордеров/позиций.

 
Konstantin Nikitin:

Не помешает проверить перед установкой ордеров/позиций.

Позиции открываются сразу с рынка - там эта проверка не нужна) 

 
Vitaly Muzichenko:

Позиции открываются сразу с рынка - там эта проверка не нужна) 

Если ловит 130 ошибку, то скорее всего стоит провериться.

 
Konstantin Nikitin:

Если ловит 130 ошибку, то скорее всего стоит провериться.

Там входы ордерами, и нужно делать проверку как вы указали, то есть stopLevel 

Не понятно, что такое mainOrderPrice()
 
Vitaly Muzichenko:

Позиции открываются сразу с рынка - там эта проверка не нужна) 

На скрине BUYSTOP и SELLSTOP

philjfry:

Пробовал! нормализировал все атрибуты , стопов вообще нету стоит 0 , обычно этого достаточно что бы их не открывать без ошибок

Близкие стоп ордера к цене ошибка 130, это не значит что именно к StopLoss относится

 
FXwin:

На скрине BUYSTOP и SELLSTOP

Близкие стоп ордера к цене ошибка 130, это не значит что именно к StopLoss относится

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