Von der Theorie zur Praxis - Seite 105

 
Alexander_K2:
Sehr ähnlich.
datetime cur_time=0;//сюда пишем время
int time_returns=1;// сюда пишем через сколько следующий тик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(1);
   srand((uint)TimeCurrent());
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick(){ }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(CheckTimerTick())
     {
      //---
      MqlTick tick={0};
      SymbolInfoTick(_Symbol,tick);// получили данные тика в сруктуру
      Print(TimeCurrent()," : ",tick.ask,"|",tick.bid);// сбрасываем данные в историю
      //---
     }   
  }
//+------------------------------------------------------------------+
bool CheckTimerTick()
  {   
   if(TimeCurrent()-cur_time>=time_returns)
     {
      time_returns=(int)round(-1*log((rand()+1.)/32768.)+1);
      cur_time=TimeCurrent();
      return(1);
     }
   else return(0);
  }
Dateien:
 
Nikolay Demko:
Hier, Nikolai - behalte das. Sie werden es brauchen, um Ihren eigenen Roboter zu schreiben, wenn Sie sich meine tatsächlichen Ergebnisse ansehen. Ich bin schon ewig in VisSim gefangen...
 
Nikolay Demko:

Die Tick-Struktur kann als Array und nicht als Variable deklariert werden, um Daten für alle Instrumente auf einmal zu erhalten, aber in SymbolInfoTick sollten Sie anstelle der _Symbol-Variablen, die den Namen des aktuellen Instruments zurückgibt, die Namen der angeforderten Instrumente überschreiben.

 
Nikolay Demko:

Sie können die Tick-Struktur als Array und nicht als Variable deklarieren und die Daten für alle Instrumente auf einmal abrufen. Nur in SymbolInfoTick sollten Sie die Namen der angeforderten Instrumente anstelle der _Symbol-Variable überschreiben, die den Namen des aktuellen Instruments liefert.

Ich glaube, Sie sind einer der MQL-Schöpfer im Allgemeinen :)))) Ist es möglich, Programme so schnell zu schreiben? Aber!
 
Alexander_K2:
Ich glaube, Sie sind einer der Erfinder von MQL ^)))) Ist es möglich, Programme so schnell zu zerknüllen? Wie wäre das?

Ich habe lange hier gesessen ))) Ich habe am MT5 Beta-Test teilgenommen.

Die Leute, die Sie in den alten Threads lesen, waren an den Tests der MT4-Beta beteiligt.

Eigentlich habe ich für MT2 geschrieben.

 
Alexander_K2:
Alexander, beantworten Sie mir noch eine Frage (und ich lasse Sie in Ruhe): Warum nehmen Sie Tics in zufälligen Abständen, wenn sie ohnehin in zufälligen Abständen auftreten?
 
Nikolay Demko:
Alexander, beantworten Sie mir noch eine Frage (und ich lasse Sie in Ruhe): Warum nehmen Sie Tics in zufälligen Abständen, wenn sie sowieso in zufälligen Abständen kommen?

Das ist richtig! Das ist auch mein Standpunkt.
Sie legen Ihre Zufallsintervalle über die Zufallsintervalle des Marktes.

 

Ich denke, es ist Zeit für mich, dieses Forum zu verlassen... Die echten Profis kommen... Es ist schade, dassVladimir nicht hier ist. Wahrscheinlich ist er einer geworfenen Münze hinterhergejagt( und er weiß, wo er sie hinwerfen muss, damit aus einem Mann ein hungriger Mann wird), und das war's dann, nicht gesehen oder gehört...

 
Nikolay Demko:
Alexander, beantworten Sie mir noch eine Frage (und ich lasse Sie in Ruhe): Warum nehmen Sie Tics in zufälligen Abständen, wenn sie ohnehin in zufälligen Abständen kommen?
Warum sind sie plötzlich zufällig? Haben Sie sich das Histogramm der Zeitintervalle zwischen den Ticks angesehen?
 
Alexander_K2:
Warum sind sie plötzlich zufällig? Haben Sie sich das Histogramm der Zeitintervalle zwischen den Ticks angesehen?

Ich spreche nicht von der Verteilung, ich spreche von dem Prozess an sich, er ist zufällig, es gibt da definitiv kein Muster.

Es gibt sie in den Schritten, aber nicht in den Zeitintervallen (wenn man den Sitzungsdienst nicht berücksichtigt).