Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сейчас посмотрю реализацию метода NormalizePrice...
Добавлено: вот оно:
//| Normalize price |
//+------------------------------------------------------------------+
double CSymbolInfo::NormalizePrice(const double price) const
{
if(m_tick_size!=0)
return(NormalizeDouble(MathRound(price/m_tick_size)*m_tick_size,m_digits));
//---
return(NormalizeDouble(price,m_digits));
}
то есть, когда считается Sl и TP нужно просто применять NormalizePrice, а не NormalizeDouble и проблем не будет.
У меня получилось, да. Но можете пожалуйста объяснить еще 1 вещь.
Я изменяю SL на 5, а значение меняется на 10. В чем может быть проблема?
_Point = 1.0
TickSize = 0;
StopsLevel = 0;
Через отладчик
slOld = 103050.0
stloss = 103060.0
double stloss = NormalizePrice(_Symbol,m_position.StopLoss() + 5*_Point); //--- Stop Loss
Я понял, что у инструмента есть TRADE_TICK_SIZE = 10. Поэтому и через 10 кидает.
Цена округляется с учётом квантования TickSize.
Для чего это нужно: если TickSize==10, то стоп вроде 11568 будет неверным, а вот стоп 11560 и 11570 будут правильными.
Можно ли как-то график настроить, чтобы справа по вертикали были цены округленные?
Нет, нельзя.
Спасибо за ответы по этой теме, но посмотрела решение и оказалось что просто округление не подходит
is_up - зависит от уровня (ТП или СЛ) и от типа ордера
Спасибо за ответы по этой теме, но посмотрела решение и оказалось что просто округление не подходит
is_up - зависит от уровня (ТП или СЛ) и от типа ордера
Вроде бы все верно. Разве что интуитивно читается, что если is_up равно true, то ожидается округление вверх. А по коду выходит, что округление вниз.
Также может быть, что информация по размеру тика не получена (ts равно нулю). Тогда приведение к размеру тика не произойдет.
А смысл в таких заморочках?
Самый простой способ: