Задачка - страница 2

 
amicus >>:

не Виктор не перцептрон ушел я от него таки :) спасибо!

но я видимо не совсем правильно вырозился,i не больше 25 так. использование MathSrand(TimeLocal()); этого и tmp==(MathRand()/32767.0*1000.0); этого нам дает генератор случайных чисел,а нужно и при последующих повторах цыкла напремер через час, например на 20 интеренции цыкла получить именно ту комбинацию четырех чисел

которая и соответствовала

20 интеренции изночально.

Можно вместо

MathSrand(TimeLocal()); 

использовать

MathSrand(TimeMinute(TimeCurrent())); 
и делать это непосредственно перед циклом, тогда образуется рандом с циклом в час.
 

я попробую изложить, идея обойти оптимизатор с его ограничениями,тоесть есть массив весов, некое количество элементов 15, значения от -1 до +1 шаг 0.000001,так вот как выходной параметр советника количество эпох 10 000,заранее уже сгенерирован файл неважно как  случайных значений,в оптимизаторе снимаем птицу генетический алгоритм и ставим перебор от 1 до 10 000

первая эпоха  15 значений одних вторая и так далее... выбираем результат  который  прошел все тесты  например 58 эпоха, все... 58-ой соответствуют 15 элементов из файла,вот почему нельзя каждый раз случайные....

 
int start() {
            Alert("===");
            double rnd=fMyRandom(99); // инициализируем каким-то значением, и получаем первое число при инициализирующем числе 99
            Alert("1.1"+" - "+rnd);
            rnd=fMyRandom(); // получаем второе число при инизиализирующем числе 99
            Alert("1.2"+" - "+rnd);
            rnd=fMyRandom(); // получаем третье число при инизиализирующем числе 99   
            Alert("1.3"+" - "+rnd+" !");      
            rnd=fMyRandom(); // получаем четвертое число при инизиализирующем числе 99
            Alert("1.4"+" - "+rnd+" !!");
            rnd=fMyRandom(); // получаем пятое число при инизиализирующем числе 99          
            Alert("1.5"+" - "+rnd+" !!!");
            Alert("---");
            // теперь хотим продолжить ряд с третьего числа
            rnd=fMyRandom(99,3); // получаем третье число при инизиализирующем числе 99   
            Alert("2.3"+" - "+rnd+" !");      
            rnd=fMyRandom(); // получаем четвертое число при инизиализирующем числе 99
            Alert("2.4"+" - "+rnd+" !!");
            rnd=fMyRandom(); // получаем пятое число при инизиализирующем числе 99           
            Alert("2.5"+" - "+rnd+" !!!");


            
//----
   return(0);
  }
//+------------------------------------------------------------------+

int fMyRandom(int aInitValue=0,int aPass=1){
      if(aInitValue!=0){
         MathSrand(aInitValue);
      }
      for(int ti=0;ti<aPass;ti++){
         double tRv=MathRand();
      }
   return(tRv);
}
 
Спасибо