Чо делать с такими SL/TP?

 

Озадачился я значит тут торговлей #ESH0, и минут 10 понять не мог почему при попытки открыть сделку вечно получаю ошибку 130. Потом выяснилось что MODE_TICKSIZE для этого инструмента равен 0.25, соотв любой тейк или стоп должен быть кратен 0.25.


И вот меня вопрос мучает, если мне система расчитывает тейк или стоп 1090.92 как в таком случае поступать? Всмысле может кто нить уже придумал чо делать с инструментами где этот MODE_TICKSIZE больше чем обычно? :) Изврат на предмет округления дробной части в набильшую/наименьшую сторону кратную MODE_TICKSIZE я могу себе представить, однако быть может есть более изящные решения подобного рода проблем? :)


Спасибо заранее.

 

Решилось подобным образом...


double priceAdjust(double price)
{
   double ticksize = MarketInfo(Symbol(), MODE_TICKSIZE);
   
   if(ticksize == 0) { return(price); }
   return(NormalizeDouble(MathCeil(price / ticksize) * ticksize, Digits));

}