Объем сделки и NormalizeDouble();

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Pavel Kolchin
16888
Pavel Kolchin  
Объем сделки: нужно ли нормализовать в соответствии со спецификацией инструмента? или можно отправлять на сервер 0,123456 и он сам его округлит как надо и это будет безопасно и безотказно вне зависимости от брокера?
Alexandr Bryzgalov
50234
Alexandr Bryzgalov  
Нужна нормализация.
Pavel Kolchin
16888
Pavel Kolchin  
Alexandr Bryzgalov:
Нужна нормализация.

тогда вопрос, если для нормализации цены у нас есть "SYMBOL_DIGITS" и тут все просто, то как нормализовать объем, если учитывать что  шаг объема может быть как 0,01 так и 0,25 ?

Vitalii Ananev
10530
Vitalii Ananev  
Pavel Kolchin:

тогда вопрос, если для нормализации цены у нас есть "SYMBOL_DIGITS" и тут все просто, то как нормализовать объем, если учитывать что  шаг объема может быть как 0,01 так и 0,25 ?

SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

Alexandr Bryzgalov
50234
Alexandr Bryzgalov  
Pavel Kolchin:

тогда вопрос, если для нормализации цены у нас есть "SYMBOL_DIGITS" и тут все просто, то как нормализовать объем, если учитывать что  шаг объема может быть как 0,01 так и 0,25 ?

SYMBOL_VOLUME_STEP


из простого

double LotStep=SymbolInfoDouble(Lot,SYMBOL_VOLUME_STEP);

double NormalizeLots(double lots,double step)
  {
   return (MathRound(lots/step)*step);
  }
Pavel Kolchin
16888
Pavel Kolchin  
Alexandr Bryzgalov:

в последнем примере нет нормализации, результат может получиться 0,25000001

Nikolay Ivanov
37489
Nikolay Ivanov  
нужно не только нормализовывать под число знаков Digits но и корректировать с учетом шага лота.
Pavel Kolchin
16888
Pavel Kolchin  
Nikolay Ivanov:
нужно не только нормализовывать под число знаков Digits но и корректировать с учетом шага лота.

а мне количество знаков самому высчитывать? 

Pavel Kolchin
16888
Pavel Kolchin  
дело в том что НИГДЕ в документации не говорится что объем нужно нормализовать и подгонять под шаг лота, я проверил везде где только мог, неподходящее значение ошибки не вызывает, сервер сам округляет как надо, вот думаю оставлять так или все таки играть с цифрами
Nikolay Ivanov
37489
Nikolay Ivanov  
Pavel Kolchin:
дело в том что НИГДЕ в документации не говорится что объем нужно нормализовать и подгонять под шаг лота, я проверил везде где только мог, неподходящее значение ошибки не вызывает, сервер сам округляет как надо, вот думаю оставлять так или все таки играть с цифрами

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

Pavel Kolchin
16888
Pavel Kolchin  
Nikolay Ivanov:

Значность лота можно вычислить

как узнать сколько знаков после запятой у числа 0.10 ? при переводе в строку количество знаков после запятой может стать неверным

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий