Funkcje matematyczne:   MathSrand()

Funkcja void MathSrand() ustawia generator liczb pseudolosowych w stan początkowy. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

#property strict
void OnStart()
  {
   MathSrand(GetTickCount());
   Print("MathRand() = ",MathRand());
  }

Rys. 1. Przykład stosowania funkcji MathSrand().


Wywołanie funkcji MathSrand() z określoną liczbą początkową pozwala zawsze otrzymywać taką samą sekwencję liczb pseudolosowych przy następnym wywołaniu funkcji MathRand() . Aby zapewnić otrzymywanie niepowtarzalnych sekwencji, należy stosować zapis MathSrand(GetTickCount()), gdyż wartość GetTickCount() rośnie od momentu startu systemu operacyjnego i nie powtarza się w ciągu 49 dni, aż wbudowany licznik milisekund nie przepełni się.

W strategiach automatycznych i wskaźnikach inicjalizację generatora liczb pseudolosowych za pomocą MathSrand() najlepiej umieszczać w OnInit() .