Нестандартный вопрос. Количество знаков после запятой в настройках сова

 
Скажите, как сделать ограничение количества знаков после запятой для конкретных переменных типа double, которые предназначены для настроек пользователем. Мне когда-то это делал программист, когда я был только как заказчик. Сейчас не могу найти где это подсмотреть...
 
Да пусть вводит сколько хочет после запятой, потом в работе нормализируйте до скольки надо.
 
Дмитрий:
Скажите, как сделать ограничение количества знаков после запятой для конкретных переменных типа double, которые предназначены для настроек пользователем. Мне когда-то это делал программист, когда я был только как заказчик. Сейчас не могу найти где это подсмотреть...

NormalizeDouble(...)

 
Так неинтересно. Это понятное дело. А вот как сделать, чтобы невозможно было написать больше знаков чем разрешает программист - это не понятно... Ведь я видел такое, значит оно есть и не может не есть. Вот и хочу узнать как это делается... )))
 
Дмитрий:
Так неинтересно. Это понятное дело. А вот как сделать, чтобы невозможно было написать больше знаков чем разрешает программист - это не понятно... Ведь я видел такое, значит оно есть и не может не есть. Вот и хочу узнать как это делается... )))
Сколько нужно цифр после запятой?
 

Может быть разговор о пунктах и десятых долях пункта? Как задать SL и TP в пунктах чтобы советник сам разобрался для каких котировок какое значение должно быть?

Тогда так

double   point;

/*******************Expert initialization function*******************/
int OnInit()
{
 point = _Digits%2 == 0 ? _Point : _Point*10;

  return(INIT_SUCCEEDED);
}/*******************************************************************/

И дальше использовать вместо _Point переменную point.

 
Alexey Viktorov:

Может быть разговор о пунктах и десятых долях пункта? Как задать SL и TP в пунктах чтобы советник сам разобрался для каких котировок какое значение должно быть?

Тогда так

И дальше использовать вместо _Point переменную point.

Ну, это совсем просто.

Я не заморачиваюсь с этим. Сначала рассчитываю котировку, а потом округляю до необходимого количества знаков после запятой в установке ордеров и т.д.. В место этого гемора можно просто рассчитанную котировку double Price заменить на NormaliseDouble(Price,_Digits).

А если пункты double point на  NormaliseDouble(point*_Point,_Digits)

 
Anton Zverev:
Сколько нужно цифр после запятой?

Где-то 3, где-то 1, где-то 0.

Но надо чтобы пользователь смог ввести не более этого количества цифр после запятой в самих настройках.

Я не спрашиваю как обойти этот момент - мне нужен именно этот момент...))) 

Например,

input double Lot = 0.01; //Здесь 2 знака после запятой

input double FiboLevel = 0.236; //Здесь 3 знака после запятой

input double SumBars = 20;    //Здесь 0 знаков после запятой 

 

небывает такое, если целочисленное то int если с запятой то double дальше сами смотрите что пользователь указал в double и округляете.

Какая разница указали в лоте 0.01 или 0.0101010001, округлили и всё 

 
Дмитрий:

Где-то 3, где-то 1, где-то 0.

Но надо чтобы пользователь смог ввести не более этого количества цифр после запятой в самих настройках.

Я не спрашиваю как обойти этот момент - мне нужен именно этот момент...))) 

Например,

input double Lot = 0.01; //Здесь 2 знака после запятой

input double FiboLevel = 0.236; //Здесь 3 знака после запятой

input double SumBars = 20;    //Здесь 0 знаков после запятой 

Ну вот вы сами написали "input double Lot = 0.01; // Здесь 2 знака после запятой" - это отображается в настройках , если пользователь дебил, то пусть вводит больше двух - хоть 10, это уже его проблемы, что не соблюдает рекомендации, ну а вы просто округляйте внутри программы. Если это индикатор, то можно и не округлять, ну а если советник, то лучше выделить больше энергии и внимания, и сделать хорошую и полную обработку торговых ошибок, и не парится что там введёт пользователь - важно предупредить в описании и настройках.
 

Мне это надо не для "дебила пользователя", а для себя на будущее. Просто я такое видел и хочу найти способ это сделать, чтобы использовать в своих работах.

Я же написал - "Нестандартный вопрос". Следовательно и жду - нестандартное решение. Может найдется нестандартный программист, который покажет как это делается...

Я не тороплюсь. Подожду еще мнения...))) 

Причина обращения: