MathRand() ?

 
Всем привет! Как указать диапазон всего из двух чисел 0 и 1? То есть мне нужно выбирать случайным образом числа 0 или 1, чтобы советник открывал сделки случайным образом либо бай либо селл, как это сделать? 
 
Artem Onopin:
Всем привет! Как указать диапазон всего из двух чисел 0 и 1? То есть мне нужно выбирать случайным образом числа 0 или 1, чтобы советник открывал сделки случайным образом либо бай либо селл, как это сделать? 
MathRand() %2 = либо 0 либо 1
 
Artem Onopin:
Всем привет! Как указать диапазон всего из двух чисел 0 и 1? То есть мне нужно выбирать случайным образом числа 0 или 1, чтобы советник открывал сделки случайным образом либо бай либо селл, как это сделать? 
(int)(rand()/16384)
 
Dimitr Trifonov:

Спасибо, хороший вариант решения!

 
LRA:
(int)(rand()/16384)

Немного не то, серия бывает 0 затягивается на долго, как и 1. Но все равно спасибо за помощь.

 
Artem Onopin:

Немного не то, серия бывает 0 затягивается на долго, как и 1. Но все равно спасибо за помощь.

   да одинаковые они

rand  и MathRand - это разные имена одной функции. Для большего разнообразия можно в OnInit инициализировать датчик

MathSrand(GetTickCount());  или   srand(GetTickCount());  что одно и то же

 
Artem Onopin:
Всем привет! Как указать диапазон всего из двух чисел 0 и 1? То есть мне нужно выбирать случайным образом числа 0 или 1, чтобы советник открывал сделки случайным образом либо бай либо селл, как это сделать? 
rand () & 1
 
Artem Onopin:

Немного не то, серия бывает 0 затягивается на долго, как и 1. Но все равно спасибо за помощь.

если нужны более короткие серии 0,1 то это будет уже неравномерное распределение.

самый простой способ для мелких экспериментов - добавить зависимость

static int prev01=-1;

int Rand01() {

   int value=(MathRand()&1); // получить случайно 0 / 1

   if (prev01==value) value=(MathRand()&1); // уменьшаем длину серий 0 и 1

  prev01=value;

  return value;

}