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

 
fxsaber:

Bevor ich auf Stopp drücke, sehe ich in den Protokollen und in der Optimierungstabelle, dass bereits fehlerhafte Durchläufe gezählt wurden. Dann drücke ich auf Stopp, denn es hat keinen Sinn, weiterzumachen.

Ich habe die Frage missverstanden.

Ja, in der Regel sollten Sie bei der vorherigen Optimierung mindestens einmal auf Stopp drücken. Aber sobald man auf eine fehlerhafte Optimierung stößt, werden auch alle folgenden fehlerhaft (ich ändere das Zeitintervall nicht mehr).


Vielleicht wird jemand eine Verbindung zur Wiederholung herstellen. Seltsam, dass es bei Ihnen nicht funktioniert, aber bei mir spielt es schnell auf einem sauberen Terminal.

Genau mit gedrückter Stopptaste abgespielt.

Herausfinden

 
Slava:

Exakt reproduziert mit einem Druck auf den Anschlag.

Damit umgehen

Ich hänge mich auf, um den schwer fassbaren Joe zu fangen.

 

Es kommt oft vor, dass man mit der Optimierung beginnt und dabei etwas vergisst, zu berücksichtigen. Sie müssen anhalten, korrigieren und genau das beginnen, was Sie ursprünglich wollten.

Diese fehlerhafte Variante der Startoptimierung bleibt also in Form eines unnötigen Caches hängen, flackert in der Liste der Caches auf usw.


Ich schlage vor, dass Sie über diese Option nachdenken. Wenn die Schaltfläche "Stopp" angeklickt wurde, wird daneben ein X angezeigt, das diesen fehlerhaften Cache-Eintrag löscht, wenn er angeklickt wird.

Der Suchbegriff lautet: Uluchshenie 008.
 

Ein großer Wunsch beim Öffnen eines Single-Pass-Charts im Chart-Kommentar ist es, nicht nur die EA-Daten, sondern auch den Namen der entsprechenden tst-Datei anzugeben.

Eine ähnliche Anfrage für die Optimierungstabellen. Geben Sie zumindest irgendwo den Namen der opt-Datei an.

Suchbegriff: Uluchshenie 009.
 

Ich konnte den Strategietester des MT5 lange Zeit nicht richtig nutzen.

Vor dem heutigen Tag konnte ich die Version 2280 auf meinem lokalen CPU-Kern verwenden und erhielt die richtigen Ergebnisse.

Tester-Agenten, die auf entfernten CPU-Kernen im LAN eingesetzt werden, sind immer gezwungen, auf fehlerhafte Versionen nach 2280 zu aktualisieren, was dazu führt, dass alle entfernten Tester-Agenten falsche Ergebnisse liefern.


So musste ich lange Zeit geduldig darauf warten, dass die Optimierungen auf dem lokalen Computer durchgeführt wurden, während eine Menge Rechenleistung im LAN verschwendet wurde.

Ich hoffe sehr, dass metaquotes die Fehler in der neuen Version behebt und den Strategietester zu einem Werkzeug macht, das zumindest funktioniert.

Und heute habe ich endlich die Version 2340.

Dann fand ich heraus, dass sogar die Optimierungsaufgaben auf dem lokalen CPU-Kern nicht die richtigen Ergebnisse brachten.


Es tut mir leid, dass ich meinen Beitrag nicht vom Englischen ins Russische übersetzt habe, weil ich befürchte, dass die Übersetzungsqualität der Software nicht gut ist.


 
tickfenix:

Dann fand ich heraus, dass sogar die Optimierungsaufgaben auf dem lokalen CPU-Kern nicht die richtigen Ergebnisse brachten.

Diesem Problem sind einige der letzten Seiten in diesem Thread gewidmet. Die Entwickler konnten den Fehler gestern reproduzieren und sind dabei, ihn zu beheben.

 
fxsaber:

Die letzten Seiten dieses Threads waren diesem Problem gewidmet. Den Entwicklern ist es gestern gelungen, den Fehler zu reproduzieren und sie arbeiten daran, ihn zu beheben.

Das freut mich zu hören! Jetzt beginne ich zu beten.

 
fxsaber:

Vielen Dank für Ihre Hilfe!

Kein Verbot

 

Ich habe eine DLL in C# geschrieben. Gestern hat es noch funktioniert!

Wenn ich heute versuche, einen solchen EA auszuführen (vereinfacht auf das Minimum):

#import "core.dll"

int OnInit() {
   Class1::Inc();
   return(INIT_SUCCEEDED);
}

Ergibt sich aus dem Protokoll:

2020.02.22 16:29:16.925 Tester  file C:\Program Files\MetaTrader 5\MQL5\Libraries\core.dll.ex5 open error [2]

Offenbar besteht das Problem darin, dass aus irgendeinem Grund ex5 file(((( gesucht wird

 

Hallo, entschuldigen Sie, dass ich nicht auf Russisch schreibe, da ich diese Sprache nicht beherrsche.


Mein Beitrag bezieht sich auf das DLL-Problem, das Ingram gepostet hat. Ich habe gerade auf MetaTrader 2340 aktualisiert und festgestellt, dass das Laden der benutzerdefinierten C++ DLL imStrategy Tester nicht funktioniert. Ich habe einen EA, der eine benutzerdefinierte DLL verwendet, und er funktioniert nicht mehr, weil der Strategy Tester die DLL nicht laden kann. Vor Version 2340 funktionierte alles einwandfrei. Ich verwende den Visualisierungsmodus.

Ich habe einen einfachen EA mit einer test.dll geschrieben, um diesen Fehler zu reproduzieren. Die Test-DLL exportiert nur eine Funktion, nämlich "void __stdcall test(int & x)".

Wenn ich versuche, den EA im Strategy Tester auszuführen, erhalte ich diesen Fehler:

2020.02.21 22:57:17.607 Testdatei C:\Users\Luis\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\Luis\tests\TestExpert\TestDLL.dll.ex5 open error [2]

Hier ist der EA-Code:

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"


#import "TestDLL.dll"
void test (int& x);
#import

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int p = 0;
   test(p);
   
   Print (p);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   

Und hier ist der DLL-Code (C++)


#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI void __stdcall  test(int & x)
{
    x = 25;
    return;
}


BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

Ich habe den Beispiel-EA beigefügt, um dieses Problem zu reproduzieren. Wie lässt sich dieses Problem lösen?


Danke

Dateien:
TestExpert.zip  19 kb
Grund der Beschwerde: