MultiSymbol EA - Backtest

 

Hallo zusammen,

ich möchte im Backtest gerne auf alle offenen Charts im Visuellen Modus zugreifen können um Objekte darauf erstellen zu können, z.B. Horizontale Linien.

Mit dieser Funktion lese ich alle offenen Charts aus:

int OpenedCharts()
  {
   long prevChart=ChartFirst();
   int chartCount = 0;
   while(prevChart!=-1)
     {
      Print(ChartSymbol(prevChart));
      prevChart=ChartNext(prevChart);
      chartCount++;
     }
   Print("Number of charts = ", chartCount);
   return chartCount;
  }


Dafür benötigt man die ID des Charts. Im LiveModus funktioniert das auch wunderbar, aber im Visuellen Backtest werden einem zwar weitere Chart angezeigt (wenn man die Daten dazu einmal abgefragt hat), Sie scheinen aber nicht verfügbar zur Ansteuerung zu sein.

Hat jemand hierzu vielleicht eine Lösung parat? 

Vielen Dank für eure Hilfe!

Mit freundlichen Grüßen

Timo

Dateien:
ChartTest.mq5  3 kb
 

Denke das wird nicht möglich sein.

Der Tester ist ein eigenes Programm, ohne zugriff auf das Terminal.

Eventuell kannst du selber charts erstellen im Tester und auf die dann zugreifen.

 
Timo Alexander Amtsberg:

Hallo zusammen,

ich möchte im Backtest gerne auf alle offenen Charts im Visuellen Modus zugreifen können um Objekte darauf erstellen zu können, z.B. Horizontale Linien.

Mit dieser Funktion lese ich alle offenen Charts aus:


Dafür benötigt man die ID des Charts. Im LiveModus funktioniert das auch wunderbar, aber im Visuellen Backtest werden einem zwar weitere Chart angezeigt (wenn man die Daten dazu einmal abgefragt hat), Sie scheinen aber nicht verfügbar zur Ansteuerung zu sein.

Hat jemand hierzu vielleicht eine Lösung parat? 

Vielen Dank für eure Hilfe!

Mit freundlichen Grüßen

Timo

Du kannst Dir nur die Symbole im Marketwatch anpassen und den Tester dann darüber laufen lassen. Das funktioniertüber die Optimierung, alle Symbole im Market Watch

 
amando:

Du kannst Dir nur die Symbole im Marketwatch anpassen und den Tester dann darüber laufen lassen. Das funktioniertüber die Optimierung, alle Symbole im Market Watch

Hallo Amando, danke für deine Hilfe. Ich weiß allerdings nicht ob du auf das Gleiche wie ich hinaus willst. Ich möchte auf die Charts im Tester zugreifen können. diese also z.B. über ChartNext() oder einer anderen Funktion "greifbar" machen, so das ich Objekte auf den Chart erstellen kann. Im Livemodus funktioniert das auch gut. Im Visuellen Modus erstellt der Backtester aber z.B. Charts mit den Indikatoren, welche ich im EA verwende, auf diese habe ich bisher aber keinen Zugriff, da sie (obwohl sie ja offen sind und in der MarketWatch aufgelistet werden) nicht über ChartNext aufrufbar zu sein scheinen.


Über weitere hilfreiche Tipps wäre ich sehr dankbar!

 

Ist halt die frage was du vor hast, nur auf ein chart zuzugreifen macht ja keinen sinn, du willst ja werte auslesen, das geht auch im backtest, 

aber nur auf das chart zuzugreifen macht ja keinen sinn

 
 @amando Doch, macht schon sinn. Mein EA handelt auf mehreren Symbolen gleichzeitig. Jetzt habe ich einen Newsfilter integriert und möchte die Momente an denen News für das jeweilige Symbol anstehen auch im Backtest auf dem Chart sehen können. Der EA behandelt die News schon richtig, ich möchte es aber auch gerne visuell sehen können wann eine News ansteht. Fürs Livetrading funktioniert das ja auch wunderbar. Im Backtest handelt der EA zwar richtig, ich kanns mir aber leider noch nicht so anzeigen lassen, wie ich es gerne möchte.
 
Timo Alexander Amtsberg:
 @amando Doch, macht schon sinn. Mein EA handelt auf mehreren Symbolen gleichzeitig. Jetzt habe ich einen Newsfilter integriert und möchte die Momente an denen News für das jeweilige Symbol anstehen auch im Backtest auf dem Chart sehen können. Der EA behandelt die News schon richtig, ich möchte es aber auch gerne visuell sehen können wann eine News ansteht. Fürs Livetrading funktioniert das ja auch wunderbar. Im Backtest handelt der EA zwar richtig, ich kanns mir aber leider noch nicht so anzeigen lassen, wie ich es gerne möchte.

Zum Zeitpunkt der News soll der EA (zB. nur wenn er im Tester läuft?) eine Senkrechte zum Zeitpunkt der News zB. Farbe=Wichtigkeit, ID=Newsinhalt:

// drawVerti("id",tme); drawVerti("id",tme,color, "txt");
bool drawVerti(string n, datetime t=0, color c=DimGray, string dscr="", int s=STYLE_SOLID, int w=1){
   if(ObjectFind(0,n) >= 0) ObjectDelete(0,n); else ResetLastError();
   ObjectCreate(0,n,OBJ_VLINE,0,(t==0?iTime(_Symbol,_Period,0):t),0);
   ObjectSetInteger(0,n,OBJPROP_COLOR, c);
   ObjectSetInteger(0,n,OBJPROP_STYLE, s);
   ObjectSetInteger(0,n,OBJPROP_STYLE, w);
   ObjectSetString(0,n,OBJPROP_TEXT,dscr); //,10);
   return(true);
}
 
Carl Schreiber:

Zum Zeitpunkt der News soll der EA (zB. nur wenn er im Tester läuft?) eine Senkrechte zum Zeitpunkt der News zB. Farbe=Wichtigkeit, ID=Newsinhalt:

Danke, aber ich habe ja kein Problem damit eine Linie als Objekt zu erstellen. Ich kann im Backtest NUR auf den Hauptchart zugreifen und NICHT auf alle anderen, welche im visuellen Modus beim Backtest offen sind. Gibt es dafür eine Lösung? 
 
Timo Alexander Amtsberg:
Danke, aber ich habe ja kein Problem damit eine Linie als Objekt zu erstellen. Ich kann im Backtest NUR auf den Hauptchart zugreifen und NICHT auf alle anderen, welche im visuellen Modus beim Backtest offen sind. Gibt es dafür eine Lösung? 

über chart id sollte das gehen oder?

 
Timo Alexander Amtsberg:
Danke, aber ich habe ja kein Problem damit eine Linie als Objekt zu erstellen. Ich kann im Backtest NUR auf den Hauptchart zugreifen und NICHT auf alle anderen, welche im visuellen Modus beim Backtest offen sind. Gibt es dafür eine Lösung? 

Der Tester ist im Wesentlichen für die Optimierung auf Schnelligkeit konzipiert, dem ist auch die graphische Darstellung untergeordnet ist.

Auf den zusätzlichen Charts kann mal wohl ein Template installieren - ich hab das noch nicht probiert - und so das vielleicht erreichen?