[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 657

 
IgorM:

Dank ja das ist, was ich gesucht habe, hat jemand die Geschwindigkeit der gleichen Art von Code für mt4 und mt5 gemessen?

Ich würde hinzufügen. Am meisten interessiert mich der Geschwindigkeitsunterschied beim Testen/Optimieren von EAs des gleichen Typs.
 
ToLik_SRGV:

Yuri, für die Zukunft, wenn der Code wiederholt mindestens zweimal, es sollte eine Methode zugeordnet werden, und Sie werden nicht brauchen Haufen von Arrays Unordnung den Code...


Anatoly, vielen Dank. Es ist schade, dass Sie in diesem Artikel kein Symbol wie in Skype mit einer Schleife einfügen können. Alles ist einfach und elegant. Ich weiß aus der Kommunikation mit anderen technischen Analysetools, dass es so sein sollte, aber ich bin noch aus der Übung in der Arbeit mit mql. Danke für den Tipp, es als Methode zu markieren - ich werde versuchen, es herauszufinden.

Auf eine abschließende Anmerkung, können Sie mir sagen, wie man mehrere Platzierung von Aufträgen auf dem gleichen bar durch diese EA zu vermeiden? Gute Leute haben bereits einige Hinweise gegeben, aber sie sind nicht hängen geblieben.

 
granit77:
Ich würde hinzufügen. Am meisten interessiert mich die unterschiedliche Geschwindigkeit beim Testen/Optimieren der gleichen Art von EAs.


Sie sehen, MT4 und MT5 Optimierung sollte sehr unterschiedlich sein, wenn nur, weil MT5 bereits implementiert unvollständige Bedingungsprüfung - für MT4 zu erreichen, müssen Sie eine Menge von eingebetteten if-Anweisungen zu tun - und dies reduziert die Lesbarkeit von Code und führt zu logischen Fehlern
 
IgorM:


Vielen Dank, es ist, was ich gesucht habe, wer hat die Geschwindigkeit der gleichen Art von Code für MT4 und MT5 gemessen?


2010.06.29 16:29:56 Test_Speed (EURUSD,M1: Zeit 1641 msec MT-4

2010.06.29 16:28:56 Test_Speed (EURUSD,M1) Zeit 359 msec MT-5

dieser Code muss nicht übersetzt werden, da er für 5 und 4 passt

 int start_=GetTickCount();
 int d=0;
 for(int i=0;i<100000000;i++)d+=11;
 Print("время ",GetTickCount()-start_," мсек");

Ich kann nicht glauben, dass es nur ein einfacher Zusatz ist. Stellen Sie sich vor, was die Entwickler getan haben, um komplexe Funktionen zu beschleunigen.

 
Urain:

Und das ist bei der elementaren Addition, stellen Sie sich vor, was die Entwickler da alles zusammengeschraubt haben, um komplexe Funktionen zu beschleunigen.


Hoffen wir so, in MT4 EA-Code Verarbeitung ist sehr ähnlich wie Java - eingebauten Funktionen sind sehr schnell, aber Benutzer-Funktionen sind nicht so schnell, auch die grundlegenden Aktionen

wenn es um die Optimierung geht, bin ich sehr verwirrt von der vollständigen Prüfung der Bedingungen - so etwas habe ich seit etwa 20 Jahren nicht mehr gehört - Schulgrundlagen :)

 

Ich kann keinen Multiwährungsindikator finden, der GoldUSD enthält. Geben Sie mir den Link, bitte.

Aufwertung der Indizes, die

 
IgorM:


Seien Sie genauer mit Ihrer Frage.

Wenn Sie am aktuellen Preis zum Zeitpunkt der Bestellung interessiert sind, können Sie einen Aufruf in den Code einfügen, der für die Speicherung des aktuellen Preises in einem globalen Array verantwortlich ist und den Zählerindex des Arrays ändert, den Sie dann von jedem Punkt im Code aus einsehen können


D.h. ich benötige alle Preise ab dem Eröffnungskurs der Bestellung, die in das Array geschrieben werden sollen, so dass ich dann die maximalen und minimalen Elemente des Arrays extrahieren kann.

Können Sie mir sagen, wie ich das in den Code einbauen kann?

 
zelek:


D.h. ich muss alle Preise ab dem Eröffnungskurs der Bestellung in ein Array schreiben, so dass ich dann das maximale und minimale Element des Arrays extrahieren kann.

Können Sie mir sagen, wie ich das in den Code einbauen kann?


Ich verstehe das Problem einfach nicht. Sie haben eine Order eröffnet und wollen aktuelle Preise in das Array schreiben , warum? Sie haben Balken, die Ihnen Minimal- und Maximalpreise liefern. Wenn Sie Preise pro Tick schreiben, kann ich mir nicht einmal vorstellen, wie viele Daten das Array enthalten wird - Ticks von 20 bis 80 Einheiten/Min.

oder benötigen Sie Preise, zu denen Aufträge eröffnet wurden? - es ist möglich, geschlossene und offene Aufträge im Terminal anzuzeigen

 
IgorM:


Ich verstehe das Problem nicht. Sie haben eine Bestellung eröffnet und wollen die aktuellen Preise im Datenfeld speichern. Warum?

oder wollen Sie die Preise sehen, zu denen die Aufträge eröffnet wurden? - es ist möglich, geschlossene und offene Aufträge im Terminal anzuzeigen


Ich möchte etwas Ähnliches wie einen virtuellen Trailing-Stop von einem Pip implementieren

Sie müssen den Höchstwert bei jedem neuen Tick kennen

 
zelek:


Ich möchte etwas Ähnliches wie einen virtuellen Trailing-Stop von einem Punkt aus implementieren

zu diesem Zweck muss ich den Höchstwert bei jedem neuen Tick kennen


Zu diesem Zweck müssen Sie nicht das gesamte Array erfassen und speichern, sondern es genügen zwei Zahlen - das Maximum und das Minimum aus der Auftragseröffnung. Dazu müssen wir jedoch nur den Kurs des ersten Minutenbalkens beobachten, bei dem der Auftrag eröffnet wurde. Danach werden das Maximum und das Minimum ganz einfach durch die Minutenbalken bestimmt, ohne den Preis ständig zu speichern.
Grund der Beschwerde: