Решилось подобным образом...
double priceAdjust(double price) { double ticksize = MarketInfo(Symbol(), MODE_TICKSIZE); if(ticksize == 0) { return(price); } return(NormalizeDouble(MathCeil(price / ticksize) * ticksize, Digits)); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Озадачился я значит тут торговлей #ESH0, и минут 10 понять не мог почему при попытки открыть сделку вечно получаю ошибку 130. Потом выяснилось что MODE_TICKSIZE для этого инструмента равен 0.25, соотв любой тейк или стоп должен быть кратен 0.25.
И вот меня вопрос мучает, если мне система расчитывает тейк или стоп 1090.92 как в таком случае поступать? Всмысле может кто нить уже придумал чо делать с инструментами где этот MODE_TICKSIZE больше чем обычно? :) Изврат на предмет округления дробной части в набильшую/наименьшую сторону кратную MODE_TICKSIZE я могу себе представить, однако быть может есть более изящные решения подобного рода проблем? :)
Спасибо заранее.