Fragen zu MQL4 - Seite 10

 
Slawa,
GUT. Ich danke Ihnen.
Jetzt muss ich eine Weile meditieren...
 
Ich kann es kaum erwarten, ein aktualisiertes ME und ein neues Build zu bekommen.
Es ist unmöglich, etwas gut zu schreiben...
In diesem Sinne ist das Forum unverzichtbar.
Nochmals vielen Dank.
 
Myxu
versuchen Sie ArrayCopy() zu verwenden;


versucht. es macht absolut keinen Sinn. die Geschwindigkeit ist identisch.

und mit lokalen Variablen, es ist 5 mal schneller.
 
<br / translate="no"> habe es versucht. es macht absolut keinen Sinn. die Geschwindigkeit ist identisch.
Mit lokalen Variablen ist es 5 Mal schneller.


Wie lange dauert es in Ihrem Code?
 
Ich habe einen Truthahn, bei dem es praktisch die ganze Zeit dauert. :)
statistischer Chronometrischer Analysator :)

Bei jedem Balken wird etwa 2000 Mal auf verschiedene Close[] zugegriffen,
Ich muss es vor jedem Zugriff auf das Array mit einer Reihe von if()'s überprüfen.
Ich versuche nicht einmal, es in HLC umzuwandeln :)

aber ich möchte die Idee weiterentwickeln, denn sie bringt einige Gewinne.
 
1. Wie lange dauert die Aufgabe noch?
2. Gibt es im Indikator keine Schleife oder eine Endlosschleife?
 
Ich benutze auch IndicatorCounted(), aber die Initialisierung dauert 10-30 Sekunden auf dem Athlon 1700... und ich möchte mehr Schnickschnack hinzufügen...

Wenn ich dieses Konstrukt nur an einer Stelle einfüge, erhöht sich die Geschwindigkeit um das 2fache.

und generell unterscheidet sich die Geschwindigkeit beim Zugriff auf Arrays und lokale Variablen um das 10fache.
 
Ich habe gerade gedacht... vielleicht sollte ich eine DLL erstellen...
Kann jemand einen kleinen, schnellen Compiler empfehlen?
Vorzugsweise C oder Pascal.
 
Bei einer so langen Zeitspanne ist eindeutig etwas mit dem Code nicht in Ordnung.
Ich arbeite in einer Endlosschleife, ungefähr. 2000 Zeilen Code, einschließlich der Verarbeitung von Arrays und der Neuzeichnung von Diagrammobjekten. Eine Schleife dauert etwa 10-12 ms. Zwischen den Ticks schafft er es, sich 30-500 Mal zu wickeln.
MT ist sehr schnell. Suchen Sie das Problem in Ihrem Code.
 
äh ... Versuchen Sie so etwas selbst...
    t2=LocalTime(); for(d=5000 ;d>0;d--) for(k=1;k<5000;k++){ z=Schließen[k];y=Schließen[k+1];x=Schließen[k+2]; z=Öffnen[k];y=Öffnen[k+1];x=Öffnen[k+2]; }