Как правильно нормализовать количество лотов? - страница 3

 

ОК! проверим... ;) как раз на таком дц работаю...

-

Блин! тока вот никак не привыкну что и куда писЫвать при вызове функций... :(((

 

Упс...

Не, мне больше нравиться вариант явного указания, например:

int DigLot=бла-бла-бла;
//---
double lots=NormalizeDouble(расчёт, DigLot); 
//---
Comment("МиниЛот: "+DoubleToStr(minilot, DigLot)+"\n");

т.е. там где надо привести обьём лота к нормализации...

Кстати, на ДЦ с 0.01 лот многие скрипты работают с обьёмом

расчитаным и без нормализации...

 

читаю все это и немогу понять чем простая функция расчета лота хуже этих навороченных .. может я что то недопонимаю? и для чего нужно еще лот нормализовать?

например такая -

//===
//smb - символ валюты
double Risk=0.1;
//===
double lot(string smb){
  double lst=MarketInfo(smb,24);
  double lot=MathFloor(Risk*AccountFreeMargin()/MarketInfo(smb,32)/lst)*lst;
  return(lot);
}
//===
 

Зачем?

Ну выше уже писывал что и без работает, однако...

1. Если обьём расчитывается от чего-то, то как правило получим результат

напрмер 1.12345678 лота, и посему бе его причесать от ошибок до минилота, скажем 1.12

т.е. до нормально понимаемого уровня сервером, в данном случае он понимает "точность" 0.01

2. В индикативе или выводе в файл. Если выводится разношерстная группа, то некомильфо

читать подобное:

EURUSD 0.10

CL 1.00

---- или ----

Инфу о минилоте нормализовали штатными функциями до сотых, второй после запятой,

то в одном ДЦ будет нормально, 0.01 а в другом не очень, 0.10