loop OrderHistoryTotal() --> Überladen
Hallo,
ich versuche für meinen EA eine Funktion zu erstellen, mit der ich abfrage, ob eine Order geschlossen wurde (bool = newClose). Üblicherweiße nutze ich dafür den klassischen loop mit OrderHistoryTotal() und einem Zeitstempel. Code:
bool newClose = false; Leider wird gerade im Strategie-Tester der EA dann unglaublich langsam, je länger er läuft, da die Anzahl im OrderHistoryTotal() natürlich immer größer wird. Daher die Frage, ob jemand einen alternativen loop-Ansatz hat um z.B.: nur die neuesten 50 geschlossenen Trades zu loop'en um die Schleife nicht gar zu groß werden zu lassen. Einfach OrderHistoryTotal() durch zB 50 zu ersetzten und dann den loop mit i++ oder i-- laufen zu lassen, führt ja leider dazu, dass nach 50 History-Order keine weiteren mehr betrachtet werden... :-( Für Tipps und Anregungen bin ich euch sehr dankbar :) |
Ich würde die Schleife rückwärts laufen lassen, d.h. die letzte geschlossene Order wird zuerst abgefragt.
Code:
int i = 0; traderdoc |
Danke für den Tipp.
Leider funktioniert es im StrategyTestern nicht. Er verfällt in eine Schleife aus der erst nicht mehr raus kommt... also er läuft quasi gar nicht erst los da ich in der onTick erst mal nach newClose suche :-( |
Das verstehe ich nicht.
In der unten geschriebenen Schleife kann er sich nicht verfangen. Dann wäre es hilfreich, wenn Du den Code der OnTick-Funktion mal postest. traderdoc |
Wie dumm von mir.
Hab gerade festgestellt dass ich einen Tippfehler drin hazte. Statt i >= 0 hatte ich 1 >=0 Sorry... mit der Korrektur läuft er durch. Ich lass ihn mal über Nacht laufen und melde mich demnächst ob es die Lösung war. Daaanke schonmal |
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:56 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum