MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge - Seite 44

 
traveller00:
Ja, ich habe die Parameter kopiert und gesehen, welches Formular er erwartet. Es ist jedoch nicht sehr bequem, mit solchen Werten umzugehen. Deshalb habe ich gefragt, ob es möglich ist, dort Datumsformate zu unterstützen, wie im Quellcode.

Bearbeitet die Person eingestellte Dateien?


Wenn datetime-intputs als String statt als Zahl angezeigt werden (set-files, CTRL+C tester, tpl-files und wahrscheinlich noch etwas anderes), bricht der ganze Komfort beim Parsen dieser Daten zusammen.

Jetzt gibt es nur noch drei Arten von Eingabedaten: double, long und string. Die ersten beiden sind immer Zahlen. Diese umfasst nicht nur datetime, sondern auch color, enum und alles außer string. Das ist super praktisch!


Eine weitere Entität zu schaffen und damit eine Menge Code unbrauchbar zu machen, ist nicht sehr sinnvoll. Es gibt Kommentare. Hier ist ein Beispiel für ein automatisch generiertes Set.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: TesterCache

fxsaber, 2019.11.11 04:45

; saved on 2019.11.13 19:40:01
; Experts\Examples\MACD\MACD Sample LImitTP.ex5
; EURUSD
; 2019.09.01 - 2019.11.13
; 479, 10, Max, 47.92, -253.60
;
InpLots=0.1
InpTakeProfit=200||10||5||500||Y
InpTrailingStop=290||30||10||300||Y
InpMACDOpenLevel=5||5||5||200||Y
InpMACDCloseLevel=180||5||5||200||Y
InpMATrendPeriod=8||1||1||200||Y
;
; Pass = 1838
; initial_deposit = 10000.0
; withdrawal = 0.0
; profit = 479.15
; grossprofit = 479.15
; grossloss = 0.0
; maxprofit = 99.8
; minprofit = 0.0
; conprofitmax = 479.15
; maxconprofit = 479.15
; conlossmax = 0.0
; maxconloss = 0.0
; balance_min = 10000.0
; maxdrawdown = 0.0
; drawdownpercent = 0.0
; reldrawdown = 0.0
; reldrawdownpercent = 0.0
; equity_min = 9997.700000000001
; maxdrawdown_e = 253.6000000000004
; drawdownpercent_e = 2.457388152985982
; reldrawdown_e = 253.6000000000004
; reldrawdownpercnt_e = 2.457388152985982
; expected_payoff = 47.91500000000001
; profit_factor = 1.797693134862316 e+308
; recovery_factor = 1.889392744479493
; sharpe_ratio = 1.069726339729858
; margin_level = 1.797693134862316 e+308
; custom_fitness = 0.0
; deals = 15
; trades = 10
; profittrades = 10
; losstrades = 0
; shorttrades = 6
; longtrades = 4
; winshorttrades = 6
; winlongtrades = 4
; conprofitmax_trades = 10
; maxconprofit_trades = 10
; conlossmax_trades = 0
; maxconloss_trades = 0
; avgconwinners = 10
; avgconloosers = 0
; 
; version = 515
; copyright = Copyright 2000-2019, MetaQuotes Software Corp.
; name = TesterOptCache
; header_size = 2526
; record_size = 328
; expert_name = MACD Sample LImitTP
; expert_path = Experts\Examples\MACD\MACD Sample LImitTP.ex5
; server = MetaQuotes-Beta
; symbol = EURUSD
; (ENUM_TIMEFRAMES)period = PERIOD_M1
; date_from = 2019.09.01 00:00:00
; date_to = 2019.11.13 00:00:00
; date_forward = 1970.01.01 00:00:00
; opt_mode = 1
; ticks_mode = 4
; last_criterion = 0
; msc_min = 501
; msc_max = 2342
; msc_avg = 801
; group = demo (netting)
; trade_currency = USD
; trade_deposit = 10000
; trade_condition = 0
; trade_leverage = 100
; trade_hedging = 1
; trade_currency_digits = 2
; trade_pips = 0
; parameters_size = 28
; parameters_total = 6
; opt_params_size = 40
; opt_params_total = 5
; dwords_cnt = 0
; snapshot_size = 0
; passes_total = 0
; passes_passed = 2510

Ich weiß nicht, wie es anderen geht, aber ich finde es praktisch, wenn die eingestellte Datei alle Informationen enthält. Es ist sehr schnell herauszufinden, was es ist, woher es kommt und wie viel es kostet.


Reicht das nicht aus?


ZZY Man sollte sich daran erinnern, dass man Start, Step und Stop einstellen kann. Wobei Step natürlich auch in der GUI in Sekunden eingestellt ist.

 
Ich meinte das Kopieren in den Puffer mit STRG+C, um die Nummer so zu belassen, wie sie war. Das Einfügen mit STRG+V sollte jedoch so erweitert werden, dass es sowohl das alte Format (im Wesentlichen ulong) als auch das neue String-Format versteht. Das sollte nichts kaputt machen, aber es wird es für diejenigen erweitern, die eine Zeichenkette statt einer Zahl angeben wollen.
 
traveller00:
Ich meinte das Kopieren in den Puffer mit STRG+C, um die Nummer so zu belassen, wie sie war. Aber um das Einfügen mit CTRL+V zu erweitern, um sowohl das alte Format (im Wesentlichen ulong) als auch das neue String-Format zu verstehen. Das sollte nichts kaputt machen, aber es wird es für diejenigen erweitern, die eine Zeichenkette statt einer Zahl angeben wollen.

Eine gute Klarstellung. Es wird wirklich nichts kaputtgehen. Ich kenne wirklich niemanden, der CTRL+V zum Einstellen des Datums verwendet.

 
fxsaber:

Ich kenne jedoch niemanden, der STRG+V verwendet, um das Datum einzustellen.

Es geht eher darum, nicht das Datum, sondern die Parameter im Allgemeinen festzulegen, einschließlich des Ortes, an dem das Datum liegt. Erstens, um es konsistent zu machen, da mql selbst das Datumsformat beibehält, und zweitens, um es klar zu machen und nicht um Kommentare zu vervielfachen. Für meine Tests generiert es die Eingabeparameter, die von Auge ausgewertet werden sollten, und dann kann ich sie hinzufügen.

Slawa:
Vielleicht. Wir werden.

Können wir gleichzeitig das Einfügen (über STRG+V) von Eingabeparametern für Expert Advisor unterstützen? Zu Testzwecken wird er perfekt in die Parameter eingefügt. Wenn ich jedoch nicht teste, sondern einfach nur einen EA zu einem Diagramm hinzufüge, scheint die Registerkarte Eingabeparameter das Einfügen nicht zu unterstützen, und ich muss die gleichen Parameter manuell eingeben. Ich danke Ihnen.

 
traveller00:

Können wir auch das Einfügen (über CTRL+V) von Eingabeparametern für den EA unterstützen? Es ist perfekt für die Prüfung in Parameter eingefügt. Wenn ich jedoch nicht teste, sondern einfach nur einen EA zu einem Diagramm hinzufüge, scheint die Registerkarte Eingabeparameter das Einfügen nicht zu unterstützen, und ich muss die gleichen Parameter manuell eingeben. Ich danke Ihnen.

UND STRG+C.

 

Entwickler, hallo!

Aus irgendeinem Grund funktioniert die OnTimer-Prüfung im Strategietester nicht immer, wenn der EA ausgeführt wird (ich weiß nicht, was das damit zu tun hat):

    if (MQLInfoInteger(MQL_PROFILER) == 0 && MQLInfoInteger(MQL_TESTER) == 0) {
        Print("You can't use this version of EA in trade mode!");
        return;
    }

OnInit scheint immer gut zu funktionieren.

PS. Zugleich funktioniert der Handel nicht immer. Ich werde Protokolle für Testmodi hinzufügen, um zu erklären, warum der Handel nicht erlaubt ist. Eine Art schwebender Fehler.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

Ich bin mit der Tatsache konfrontiert, dass grafische Objekte im MT5-Tester im Visualisierungsmodus nicht wie erwartet gerendert werden. Ich habe den Test Expert Advisor auf das Äußerste vereinfacht, er sollte ein Rechteck aus Koordinaten bilden, die auf der Grundlage des 50. und 45. Der Code befindet sich im Anhang, aber die gesamte Logik ist in einer Zeile:

if (!IsNewBar()) return;
RectangleCreate(0, "5BarZone", 0, iTime(NULL,0,50), iHigh(NULL,0,50), iTime(NULL,0,0), iLow(NULL,0,45), clrGreen, STYLE_SOLID, 1, true, true);
ChartRedraw(0);

Der EA sollte einen solchen Kanal bei jedem neuen Balken der aktuellen TF neu zeichnen. Das Bild sollte wie folgt aussehen:


In Wirklichkeit dehnt sich das Rechteck sowohl in der Länge als auch in der Breite chaotisch aus, und das Bild sieht wie folgt aus:


Der Code des Arbeits-EA enthält viel mehr Objekte und jedes von ihnen ist noch mehr verzerrt, was zu einem Durcheinander führt.

Wenn wir außerdem einen visuellen Test des Test-EA bei niedriger Geschwindigkeit durchführen, ist die Darstellung fast immer korrekt. Wenn ich jedocheinen Test-Expert Advisor mit maximaler oder fast maximaler Geschwindigkeit ausführe oder einen echten EA mit vielen Objekten sogar mit minimaler Geschwindigkeit laufen lasse, erhalte ich die oben beschriebenen Verzerrungen.

Bitte teilen Sie mir mit, was das Problem ist und ob es gelöst werden kann. Ich habe versucht, nach einer Antwort zu suchen, bin aber gescheitert.

Ich bin für jede Art von Hilfe sehr dankbar.

Dateien:
 
Andrey Pogoreltsev:

Entwickler, hallo!

Aus irgendeinem Grund funktioniert die OnTimer-Prüfung im Strategietester nicht immer, wenn der EA ausgeführt wird (ich weiß nicht, was das damit zu tun hat):

OnInit scheint immer gut zu funktionieren.

PS. Zugleich funktioniert der Handel nicht immer. Ich werde Protokolle für Testmodi hinzufügen, warum der Handel nicht erlaubt ist. Eine Art schwebende Störung.
Ersetzen Sie && durch ||.
 
Grigori.S.B:

Ich bin mit der Tatsache konfrontiert, dass grafische Objekte im MT5-Tester im Visualisierungsmodus nicht wie erwartet gerendert werden. Ich habe den Test Expert Advisor auf das Äußerste vereinfacht, er sollte ein Rechteck aus Koordinaten bilden, die auf der Grundlage des 50. und 45. Der Code befindet sich im Anhang, aber die gesamte Logik ist in einer Zeile:

Der EA sollte einen solchen Kanal bei jedem neuen Balken der aktuellen TF neu zeichnen. Das Bild sollte wie folgt aussehen:


In Wirklichkeit dehnt sich das Rechteck sowohl in der Länge als auch in der Breite chaotisch aus, und das Bild sieht wie folgt aus:


Der Code des Arbeits-EA enthält viel mehr Objekte und jedes von ihnen ist noch mehr verzerrt, was zu einem Durcheinander führt.

Wenn wir außerdem einen visuellen Test des Test-EAs bei niedriger Geschwindigkeit durchführen, ist die Darstellung fast immer korrekt. Wenn ich jedocheinen Test-Expert Advisor mit maximaler oder fast maximaler Geschwindigkeit ausführe oder einen echten EA mit vielen Objekten sogar mit minimaler Geschwindigkeit laufen lasse, erhalte ich die oben beschriebenen Verzerrungen.

Bitte teilen Sie mir mit, was das Problem ist und ob es gelöst werden kann. Ich habe versucht, nach einer Antwort zu suchen, bin aber gescheitert.

Ich bin für jede Art von Hilfe sehr dankbar.

Versuchen Sie einfach, die Koordinaten eines einmal erstellten Objekts zu ändern
 
Grigori.S.B:

Ich bin mit der Tatsache konfrontiert, dass die grafischen Objekte im MT5-Tester im Visualisierungsmodus nicht so gezeichnet werden, wie ich es mir vorgestellt habe. Ich habe den Test Expert Advisor auf das Äußerste vereinfacht, er sollte ein Rechteck aus Koordinaten bilden, die auf der Grundlage der 50. und 45. Der Code befindet sich im Anhang, aber die gesamte Logik ist in einer Zeile:

Der EA sollte einen solchen Kanal bei jedem neuen Balken der aktuellen TF neu zeichnen. Das Bild sollte wie folgt aussehen:


In Wirklichkeit dehnt sich das Rechteck sowohl in der Länge als auch in der Breite chaotisch aus, und das Bild sieht wie folgt aus:


Der Code des Arbeits-EA enthält viel mehr Objekte und jedes von ihnen ist noch mehr verzerrt, was zu einem Durcheinander führt.

Wenn wir außerdem einen visuellen Test des Test-EA bei niedriger Geschwindigkeit durchführen, ist die Darstellung fast immer korrekt. Wenn ich einen Test-Expert Advisor mit maximaler oder fast maximaler Geschwindigkeit ausführe, oder einen echten EA mit vielen Objekten sogar mit minimaler Geschwindigkeit laufen lasse, erhalte ich die oben beschriebenen Verzerrungen.

Bitte teilen Sie mir mit, was das Problem ist und ob es gelöst werden kann. Ich habe versucht, nach einer Antwort zu suchen, bin aber gescheitert.

Ich bin für jede Art von Hilfe sehr dankbar.

Code auf Fehler prüfen, höchstwahrscheinlichERR_OBJECT_ALREADY_EXISTS.

Sie müssen das Objekt entweder löschen, bevor Sie es neu erstellen, oder

Slawa:
Versuchen Sie einfach, die Koordinaten eines einmal erstellten Objekts zu ändern