Wann ist es sinnvoll, einen Teil des Robotercodes in einem Indikator zu behalten? - Seite 29

 

Hier ist der korrekte Code mit Zeitmessung. Dimitri muss es mit einem Indikator erfassen und hier posten, damit Sie es vergleichen können.


extern double Alpha = 0.1;

double EMA;

double GetPrice()
{
  return(Open[0]);
}

void init()
{
  EMA = GetPrice();
  
  return;
}

void start()
{
  static int PrevTime = 0;
  int start = GetTickCount();
  
  if (PrevTime == Time[0])
    return;
 
  PrevTime = Time[0];
    
  for(int i = 0; i != 100000; i++)
      EMA = EMA * Alpha + (1 - Alpha) * GetPrice();
  Print("Calculation Time", GetTickCount()-start,"ms");

  return;  
}
 
hrenfx:

Zum Vergleich habe ich den Indikator (iema.mq4) leicht verändert:

und EA:


Sag mir nicht, dass es mein Code ist
 
hrenfx:
Seien Sie nicht frech, der Code befindet sich in den Anhängen auf Seite 11.
Es gibt kein Timing, der Code ist unvollständig.
 
Andrei01:

Hier ist der korrekte Code mit Zeitmessung.

Wer sagt, dass es richtig ist?
 
TheXpert:
Wer sagt, dass er Recht hat?
Der Code erfüllt das Problem - die Messung der EMA-Berechnungszeit im EA - vollständig.
 
Andrei01:

Hier ist der korrekte Code mit Zeitmessung. Dimitri sollte sie mit seinem Tool auslesen und hier posten, damit ihr vergleichen könnt.

Sie haben eine Unverschämtheit, so einen Blödsinn als richtigen Code zu bezeichnen und anzudeuten, dass er etwas mit mir zu tun hat.

 
Andrei01:

Hier ist der korrekte Code mit Zeitmessung. Dimitri muss sie mit einem Indikator erfassen und hier posten, damit Sie sie vergleichen können.

Völlig falsch. Sie haben es offensichtlich eilig, den Code zu verstehen. Es gibt nur ein paar Fäden.

Sie gehen wie folgt vor: Sie erzeugen den Preis BP und berechnen die Laufzeit der Varianten "all in one" und "mit Indikator".

 
Ich verlasse die Branche für immer.
 
hrenfx:

Das tun Sie: Sie erstellen einen Preis-BP und berechnen die Laufzeiten der All-in-One- und Indikator-Varianten.


BP in der ersten Phase ist nicht notwendig, Sie können einfach die Geschwindigkeit dieses Codefragments vergleichen. Das Ergebnis als solches ist nicht wichtig, wichtig ist nur die Berechnungszeit.

In einem komplexeren Fall können wir die Startfunktion anstelle der internen Schleife verwenden.

 
Integer:

Sie haben eine Unverschämtheit, eine solche Ketzerei als richtigen Kodex zu bezeichnen und anzudeuten, dass sie etwas mit mir zu tun hat.

Lesen Sie sorgfältig die Bedingungen des Wettbewerbs, bevor Sie unhöflich sind, forderten Sie einen Code für den Vergleich - hier ist der Code.

Befestigen Sie ihn nun am Indikator, so wie Sie es vorhatten.