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

 

Die Hotkeys zur Geschwindigkeitssteuerung funktionieren im Viewer nicht.



ZS Es funktioniert. Offenbar handelt es sich um eine Art kniffligen Fehler.

 
Nachdem ich den Expert Advisor auf realen Ticks bei verschiedenen Brokern auf MT5 mit der Modellierungsqualität von 99-100% mit den gleichen Eingabeparametern getestet habe, erhielt ich absolut unterschiedliche Ergebnisse: von kosmischen Gewinnen bis zu Verlusten. Davor habe ich MT4 absichtlich verlassen, weil es dort schwieriger ist, die gleiche Modellierungsqualität zu erreichen. Was war also das Ergebnis? Wie würde sich der Expert Advisor im realen Handel verhalten? Vielleicht kann mir jemand einen guten Tipp geben?
 
ganri:
Nachdem ich den Expert Advisor auf realen Ticks bei verschiedenen Brokern mit MT5 mit der Modellierungsqualität von 99-100% mit den gleichen Eingabeparametern getestet habe, habe ich absolut unterschiedliche Ergebnisse erhalten: von einem kosmischen Gewinn bis zu einem Verlust. Davor habe ich MT4 absichtlich verlassen, weil es dort schwieriger ist, die gleiche Modellierungsqualität zu erreichen. Was war also das Ergebnis? Wie würde sich der Expert Advisor im realen Handel verhalten? Vielleicht kann mir jemand einen guten Tipp geben?

Der Tester+Berater ist eine mathematische Funktion, die jedem Vektor (Zahlenreihe - Anführungszeichen) eine Zahl (Gewinn) zuordnet.

Dementsprechend bedeuten (im Allgemeinen) unterschiedliche Vektoren auch unterschiedliche Gewinne. Und diese Gewinne müssen keiner Regel gehorchen (z. B. positiv sein).


Unterschiedliche Makler bedeuten unterschiedliche Vektoren (Quotierungen). Dabei spielt es keine Rolle, ob es sich um Zecken, Balken oder etwas anderes handelt. Entscheidend ist, dass die Vektoren unterschiedlich sind.

 
fxsaber:

Der Tester+Berater ist eine mathematische Funktion, die jedem Vektor (Zahlenreihe - Anführungszeichen) eine Zahl (Gewinn) zuordnet.

Dementsprechend bedeuten (im Allgemeinen) unterschiedliche Vektoren auch unterschiedliche Gewinne. Und diese Gewinne müssen keiner Regel gehorchen (z. B. positiv sein).


Unterschiedliche Makler bedeuten unterschiedliche Vektoren (Quotierungen). Dabei spielt es keine Rolle, ob es sich um Zecken, Balken oder etwas anderes handelt. Die Hauptsache ist, dass die Vektoren unterschiedlich sind.

Soweit ich verstehe, sollten wir in dieser Situation den Broker wählen, der die besten Ergebnisse beim Testen des EA erzielt hat, und mit ihm arbeiten. Ich danke Ihnen.

 

In ME ist es logisch, diese Debugging-Einstellungen zu trennen.

Zum Beispiel sollten Sie im Terminal auf EURUSD und im Tester auf EURUSD_Custom debuggen. Jetzt ist es nicht mehr möglich, sie auf diese Weise zu konfigurieren.

Vielleicht ist es sinnvoll, für den Tester ein Textfeld für Einstellungen zu schaffen, in das wir solche Einstellungen eingeben können.

[Tester]
Period=M1
Optimization=0
Model=0
FromDate=2019.07.22
ToDate=2019.07.24
ForwardMode=0
Deposit=10000
Currency=USD
ProfitInPips=0
Leverage=100
ExecutionMode=0
OptimizationCriterion=6
Visual=1

Dann haben wir die volle Flexibilität der Einstellungen. Die GUI ist nicht überlastet.

Suchbegriff: Uluchshenie 001.

 
Nur ein Agent ist aktiviert. Das einmal erstellte Visualisierungsfenster wird nicht geschlossen. Im Tester wird die Optimierung ausgewählt und gestartet.
2020.02.15 11:23:01.818 Tester  complete optimization started
2020.02.15 11:23:01.855 Core 1  agent still started in visual mode

Die rote Stopp-Schaltfläche leuchtet auch dann noch, wenn Sie den Viewer schließen. Es passiert nichts, Sie müssen von Hand auf Stopp drücken. Danach gibt er auf.

2020.02.15 11:25:52.278 Tester  optimization finished, total passes 0
2020.02.15 11:25:52.278 Statistics      optimization done in 2 minutes 51 seconds
2020.02.15 11:25:52.279 Tester  stopped by user

Und es wird sogar eine Opt-Datei mit Null-Durchgängen erstellt.


Wahrscheinlich muss das Verhalten hier korrigiert werden.

Suchbegriff: Uluchshenie 002.
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge

fxsaber, 2020.02.11 01:58

Lange wurde nach der Ursache für das seltsame Verhalten des Testers bei echten Zecken gesucht. Ich habe es gefunden.
const bool Init = EventSetTimer(1);

void Func()
{
  static datetime PrevTime = 0;
  
  const datetime time = TimeTradeServer();
  
  if (time < PrevTime)
    DebugBreak(); // Срабатывает
  
  PrevTime = time;
}

void OnTick()
{
  Func();
}

void OnTimer()
{
  Func();
}

Die Serverzeit läuft vorwärts und kommt dann wieder zurück. Es passiert auf dem echten Handelsserver, aber ich habe es geschafft, die Wiedergabe auf dem benutzerdefinierten Symbol zu erstellen.


ausführen.

sinput datetime inDateFrom = D'2020.01.01';

void OnStart()
{
  const string Name = "TEMP12345";                                                           // Имя кастомного символа
  const string SymbOrig = "EURUSD";                                                          // Имя оригинального символа

  MqlTick Ticks[];
  
  const int Size = CopyTicksRange(SymbOrig, Ticks, COPY_TICKS_ALL, (long)inDateFrom * 1000); // Считали EURUSD-тики.
    
  if ((Size > 0) && CustomSymbolCreate(Name, NULL, SymbOrig) && SymbolSelect(Name, true))    // Создали символ на основе EURUSD.
  {
    CustomTicksReplace(Name, 0, LONG_MAX, Ticks);                                            // Поместили в него историю EURUSD.        
    
    CustomRatesDelete(Name, D'2020.01.03 23:00', D'2020.01.04 00:00');                       // Удалили несколько баров.
  }
}


Es wird ein Symbol mit Tick-Historie erstellt, bei dem jedoch mehrere Balken gelöscht werden. Dann beginnen wir mit dem Debugging des obigen EA in diesem Modus.

[Tester]
Symbol=TEMP12345
Period=M1
Optimization=0
Model=4
FromDate=2020.01.01
ToDate=2020.01.08
ForwardMode=0
Deposit=100000
Currency=USD
ProfitInPips=1
Leverage=100
ExecutionMode=0
OptimizationCriterion=6


Es hört auf.

Wir können sehen, dass die Zeit eine zweite Zeitschleife durchlaufen hat.

Suchbegriff: Oshibka 002.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge

fxsaber, 2020.02.01 13:43

Selbst dieser EA ist mehr als doppelt so langsam wie Virtual im Pips-Modus.

input int inFakeRange = 0;
sinput int inOffset = 10000;

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{
  static long Ticket = -1;
  
  if (Ticket == -1)
    Ticket = OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask - inOffset * _Point, 0, 0, 0);
}

Warum ist das so? Der gesamte Expert Advisor ist auf den ersten Tick durch die Einstellung BuyLimit. Nichts anderes!

Suchbegriff: Uluchshenie 003.
 
Super!
2020.02.18 13:24:06.618 Core 1  pass 0 returned result 0 in 0:00:05.288 + history synchronization 0:00:03.098
 

Es ist nicht möglich, die Tickgröße auf kleiner oder gleich eins zu setzen.

Wenn Sie verschreiben und dann erneut eingeben, ist der Wert Null. Bei Werten größer als eins ist alles in Ordnung.

Suchbegriff: Uluchshenie 004.