может имеет смысл завести ветку по easylanguage?
что бы делиться полезностями типа такого:
при работе с текстами постоянно приходится иметь в уме количество десятых если необходимо вывести ценовое значение
а ежели использовать такой код
if PriceScale = 100000 then autodecimal = 5 else
if PriceScale = 10000 then autodecimal = 4 else
If PriceScale = 1000 then autodecimal = 3 else
If PriceScale = 100 then autodecimal = 2 else
If PriceScale = 10 then autodecimal = 1 else
If PriceScale = 1 then autodecimal = 0;
введя переменную autodecimal и подставляя её как второй параметр в NumToStr, будем автоматически иметь правильное отображение цены
можно оформить в функцию
Можно еще проще и универсальней:
{***************************************************************************************************
Функция предназначена для определения ценовой доли актива (количества знаков дробной части)
***************************************************************************************************}
Vars: Val1(MinMove / PriceScale),
Val2(Round(0.123456789 / Val1, 0)),
Val3(IFF(Val2 = 0, 0, StrLen(NumToStr(Val2, 0))));
PFDigits = Val3;
{***************************************************************************************************
Функция предназначена для округления значения переменной до ценовой доли актива
***************************************************************************************************}
Inputs: Value(Numeric);
PFRound = Round(Value, PFDigits);
Например, значение Value0 = PFRound(Close / 3) будет округлено до ценовой доли.