1. ввести простое условие "если полученное СЧ больше 9 - генерировать ещё раз".
Доброго всем времени суток!
У меня вопрос к специалиста по математическим функциям. Мне необходимо сгенерить в советнике ряд случайных чисел, но каждое число должно быть в интервале от 0 до 9.
Есть функции MathRand и MathSrand, но как с их помощью получить случайное число в интервале от 0 до 9 я понять не могу.
Подскажите, пожалуйста, как это сделать.
С уважением, Андрей.
случайное число на диапазоне [0-9] = MathRand() % 10
то есть остаток от деления на 10.
этот остаток всегда будет в диапазоне от 0 до 9
evillive:
другой вариант - СЧ*9/32768 (на случай если дробный результат нужен).
Спасибо.
Я тоже немного подумал.
Вот мой вариант решения:
MathSrand(0);
string Per1 = DoubleToStr(MathRand(),0);
string Per2 = StringSubstr(Per1, StringLen(Per1)-1, 0);
Comment(Per2);
Здесь Per2 - это последняя цифра от случайного числа в текстовом формате.
Andrey916:
Я тоже немного подумал.
Вот мой вариант решения:
MathSrand(0);
string Per1 = DoubleToStr(MathRand(),0);
string Per2 = StringSubstr(Per1, StringLen(Per1)-1, 0);
Comment(Per2);
Здесь Per2 - это последняя цифра от случайного числа в текстовом формате.
Зачем DoubleToStr если там всегда целое число на выходе генератора?
MathSrand(0) будет давать предсказуемые результаты, лучше MathSrand(GetTickCount()).Andrey916:
Я тоже немного подумал.
Вот мой вариант решения:
MathSrand(0);
string Per1 = DoubleToStr(MathRand(),0);
string Per2 = StringSubstr(Per1, StringLen(Per1)-1, 0);
Comment(Per2);
интересно,
это по вашему не одно и то же = MathRand() % 10
?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго всем времени суток!
У меня вопрос к специалиста по математическим функциям. Мне необходимо сгенерить в советнике ряд случайных чисел, но каждое число должно быть в интервале от 0 до 9.
Есть функции MathRand и MathSrand, но как с их помощью получить случайное число в интервале от 0 до 9 я понять не могу.
Подскажите, пожалуйста, как это сделать.
С уважением, Андрей.