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

 
Vladimir Karputov:

Nehmen Sie die Standard-EA aus der Lieferung und prüfen Sie - alles funktioniert. Wenn aber Eingabeparameter als Sinput deklariert werden, können diese Parameter nicht optimiert werden.

Ich habe aus Standard-EAs gewählt:

MACD-Beispiel

Aber alles bleibt beim Alten:

MACD-Beispiel Eingabe

Ich habe nur einen magischen Parameter in meinen Sinput eingebaut, weil es keinen Sinn hat, ihn zu optimieren.

Eingang und Ausgang

Meine Bauart ist 2155. Kann es sein, dass mit dem Aufbau etwas nicht stimmt?

 
Mihail Matkovskij:

Ich habe unter den Standardexperten ausgewählt:

Aber alles bleibt beim Alten:

In meinem eigenen Sinput habe ich nur den magischen Parameter erstellt, da es keinen Sinn macht, ihn zu optimieren.


Meine Bauart ist 2155. Kann es sein, dass mit dem Aufbau etwas nicht stimmt?

So, jetzt habe ich es. Ich muss Flaggen neben den optimierten Parametern setzen, während es früher nicht notwendig war, Optimierungsparameter zu setzen.

 
Mihail Matkovskij:

Ich habe unter den Standardexperten ausgewählt:

Aber alles bleibt beim Alten:

In meinem eigenen Sinput habe ich nur den magischen Parameter erstellt, da es keinen Sinn macht, ihn zu optimieren.


Meine Bauart ist 2155. Kann es sein, dass mit dem Aufbau etwas nicht stimmt?

Der Aufbau ist in Ordnung, solange man nicht aufpasst. Sie haben einen Standard-EA genommen und ich sehe, dass seine Parameter FÜR ÄNDERUNGEN ZULÄSSIG sind. Dazu müssen Sie lediglich die Kästchen in der Spalte "Variable" ankreuzen.


Nachtrag: Als ich meine Antwort schrieb, habe ich gesehen, dass Sie es herausgefunden haben.

 
Vladimir Karputov:

Der Aufbau ist gut, aber Sie sind unaufmerksam. Sie haben den Standard-EA genommen und ich kann sehen, dass seine Parameter AKZEPTABEL zu ändern sind. Dazu müssen Sie lediglich die Kästchen in der Spalte "Variable" ankreuzen.


Nachtrag: Während ich eine Antwort schrieb, sah ich, dass Sie es herausgefunden haben.

Ja. Aber trotzdem danke!

 
Wenn der Tester zählt (rote Stopptaste), funktioniert das Mausrad auf der Registerkarte "Optionen" nicht (Sie müssen durch viele Parameter scrollen).
 
Hallo! Eine Frage zur Optimierung. Ich habe 4 Agenten in meinem Terminal. In der Vergangenheit konnte das gesamte System aufgrund der Optimierung einfrieren. Deshalb habe ich einen Agenten abgetrennt, und dann hat alles gut funktioniert. In der neuen Version des Terminals habe ich festgestellt, dass der erste Agent überhaupt nicht geladen wird. Also habe ich den vierten Agenten eingeschaltet. Habe ich das Richtige getan, sollte ich ein Einfrieren mit 4 Agenten laufen erwarten, oder ist der erste Agent noch während der gesamten Optimierung entladen, wie ich angenommen?
 
Mihail Matkovskij:
Hallo! Eine Frage zur Optimierung. Ich habe 4 Agenten in meinem Terminal. Zuvor konnte es aufgrund von Optimierungen zum Einfrieren des gesamten Systems kommen. Deshalb habe ich einen Agenten deaktiviert, und alles funktionierte einwandfrei. In der neuen Terminalversion habe ich festgestellt, dass der erste Agent überhaupt nicht geladen wird. Also habe ich den vierten Agenten eingeschaltet. Habe ich das Richtige getan, sollte ich ein Einfrieren mit 4 Agenten laufen erwarten, oder ist der erste Agent noch während der gesamten Optimierung entladen, wie ich angenommen?

Haben Sie zufällig ein Visual Tester-Fenster auf dem ersten Agenten geöffnet? Wenn ja, schließen Sie das Visual Tester-Fenster, und der Agent Nr. 1 wird frei.

 

Das Prüfgerät setzt die letzten Ticks des Prüfintervalls nicht zurück.

EA

#define  TOSTR(A) " " + #A + " = " + (string)Tick.A
#define  TOSTR2(A) " " + #A + " = " + ::DoubleToString(Tick.A, _Digits)

string TickToString( const MqlTick &Tick, const bool Flags = true )
{
  return(TOSTR(time) + "." + ::IntegerToString(Tick.time_msc % 1000, 3, '0') + TOSTR2(bid) + TOSTR2(ask));
}

void OnDeinit( const int )
{
  MqlTick Tick;

  if (SymbolInfoTick(_Symbol, Tick))
    Print(TickToString(Tick)); // Распечатываем последний тик интервала тестирования.
}


Ergebnis

EURGBP.rann_RannForex: history data begins from 2018.02.06 00:00
EURGBP.rann_RannForex: ticks data begins from 2018.02.06 00:00
agent process started on 127.0.0.1:3000
connecting to 127.0.0.1:3000
connected
authorized (agent build 2162)
EURGBP.rann_RannForex,M1 (MetaQuotes-Demo): testing of Experts\Test5-4.ex5 from 2019.09.28 00:00 to 2019.10.01 00:00
common synchronization completed
EURGBP.rann_RannForex: ticks synchronized already [73 bytes]
MetaTester 5 started on 127.0.0.1:3000
initialization finished
login (build 2162)
4372 bytes of account info loaded
1482 bytes of tester parameters loaded
188 bytes of input parameters loaded
2813 bytes of symbols list loaded
expert file added: Experts\Test5-4.ex5. 13105 bytes loaded
7703 Mb available, 96 blocks set for ticks generating
calculate profit in pips, initial deposit 10000, leverage 1:100
successfully initialized
14 Kb of total initialization data received
Intel Core i7-2700 K  @ 3.50 GHz, 16301 MB
EURGBP.rann_RannForex: symbol to be synchronized
EURGBP.rann_RannForex: symbol synchronized, 3720 bytes of symbol info received
EURGBP.rann_RannForex: load 57 bytes of history data to synchronize in 0:00:00.001
EURGBP.rann_RannForex: history synchronized from 2018.02.06 to 2019.10.01
EURGBP.rann_RannForex: ticks synchronization started
EURGBP.rann_RannForex: load 64 bytes of tick data to synchronize in 0:00:00.000
EURGBP.rann_RannForex: history ticks synchronized from 2019.09.30 to 2019.10.01
EURGBP.rann_RannForex,M1: history cache allocated for 611815 bars and contains 608725 bars from 2018.02.06 02:00 to 2019.09.27 23:54
EURGBP.rann_RannForex,M1: history begins from 2018.02.06 02:00
EURGBP.rann_RannForex,M1 (MetaQuotes-Demo): generating based on real ticks
EURGBP.rann_RannForex,M1: testing of Experts\Test5-4.ex5 from 2019.09.28 00:00 to 2019.10.01 00:00 started
EURGBP.rann_RannForex : real ticks begin from 2019.09.30 00:00:00
final balance 10000.00 pips
2019.09.30 23:59:58    time = 2019.09.30 23:59:58.022 bid = 0.88612 ask = 0.88741
EURGBP.rann_RannForex,M1: 101751 ticks, 1424 bars generated. Test passed in 0:00:00.558 (including ticks preprocessing 0:00:00.031).
269 Mb memory used including 35 Mb of history data, 64 Mb of tick data
log file "C:\Program Files\ICMarkets - MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20191002.log" written
connection closed


Was eigentlich am Ende stehen sollte.


Der Fehler wird in jedem Intervall reproduziert.

 

Es gibt neue Optionen für die Gruppierung von Parametern über Eingabegruppen:

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
input group           "Strategy #1"
input ENUM_TIMEFRAMES InpS1_TF    =PERIOD_M30;        // timeframe
input string          InpS1_Sym1  ="EURUSD";          // first leg
input string          InpS1_Sym2  ="GBPUSD";          // second leg
input int             InpS1_Period=20;                // period of sigma calculation
input double          InpS1_Sigma =3.0;               // sigma level for trade
input int             InpS1_Bars  =100;               // bars for correlation
input double          InpS1_Level =0.7;               // correlation level for trade
input double          InpS1_Lot   =0.1;               // trade lot
sinput long           InpS1_Magic =100;               // Magic Number

input group           "Strategy #2"
input ENUM_TIMEFRAMES InpS2_TF    =PERIOD_M30;        // timeframe
input string          InpS2_Sym1  ="EURJPY";          // first leg
input string          InpS2_Sym2  ="GBPJPY";          // second leg
input int             InpS2_Period=20;                // period of sigma calculation
input double          InpS2_Sigma =3.0;               // sigma level for trade
input int             InpS2_Bars  =100;               // bars for correlation
input double          InpS2_Level =0.7;               // correlation level for trade
input double          InpS2_Lot   =0.1;               // trade lot
sinput long           InpS2_Magic =200;               // Magic Number

input group           "Strategy #3"
input ENUM_TIMEFRAMES InpS3_TF    =PERIOD_M30;        // timeframe
input string          InpS3_Sym1  ="EURCHF";          // first leg
input string          InpS3_Sym2  ="GBPCHF";          // second leg
input int             InpS3_Period=20;                // period of sigma calculation
input double          InpS3_Sigma =3.0;               // sigma level for trade
input int             InpS3_Bars  =100;               // bars for correlation
input double          InpS3_Level =0.7;               // correlation level for trade
input double          InpS3_Lot   =0.1;               // trade lot
sinput long           InpS3_Magic =300;               // Magic Number

input group           "Strategy #4"
input ENUM_TIMEFRAMES InpS4_TF    =PERIOD_M30;        // timeframe
input string          InpS4_Sym1  ="EURUSD";          // first leg
input string          InpS4_Sym2  ="AUDUSD";          // second leg
input int             InpS4_Period=20;                // period of sigma calculation
input double          InpS4_Sigma =3.0;               // sigma level for trade
input int             InpS4_Bars  =100;               // bars for correlation
input double          InpS4_Level =0.7;               // correlation level for trade
input double          InpS4_Lot   =0.1;               // trade lot
sinput long           InpS4_Magic =400;               // Magic Number

input group           "Strategy #5"
input ENUM_TIMEFRAMES InpS5_TF    =PERIOD_M30;        // timeframe
input string          InpS5_Sym1  ="USDCAD";          // first leg
input string          InpS5_Sym2  ="USDCHF";          // second leg
input int             InpS5_Period=20;                // period of sigma calculation
input double          InpS5_Sigma =3.0;               // sigma level for trade
input int             InpS5_Bars  =100;               // bars for correlation
input double          InpS5_Level =0.7;               // correlation level for trade
input double          InpS5_Lot   =0.1;               // trade lot
sinput long           InpS5_Magic =500;               // Magic Number

input group           "Strategy #6"
input ENUM_TIMEFRAMES InpS6_TF    =PERIOD_M30;        // timeframe
input string          InpS6_Sym1  ="USDCHF";          // first leg
input string          InpS6_Sym2  ="USDJPY";          // second leg
input int             InpS6_Period=20;                // period of sigma calculation
input double          InpS6_Sigma =3.0;               // sigma level for trade
input int             InpS6_Bars  =100;               // bars for correlation
input double          InpS6_Level =0.7;               // correlation level for trade
input double          InpS6_Lot   =0.1;               // trade lot
sinput long           InpS6_Magic =600;               // Magic Number

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {

  }  
//+------------------------------------------------------------------+


Gruppen sind einfacher zu handhaben und können zusammengeklappt werden.

 
MetaQuotes Software Corp.:

Es gibt neue Optionen für die Gruppierung von Parametern über Eingabegruppen:

Gruppen sind bequemer zu handhaben und können zusammengeklappt werden.

Ich danke Ihnen. Ich würde auch gerne "Alle Gruppen einklappen/ausklappen" machen.

Grund der Beschwerde: