Does anyone know if in MQL5 there is a Chartevent "on drop symbol" or "on change chart symbol" ?
I'd like to run some code when the user drops a new symbol on the chart...?
- www.mql5.com
Hi :-)
Danke für den Beitrag!
Aber dort geht es ja um eine Panel-Klasse? Damit komm ich leider nicht weiter.
Ein Indikator besitzt ja die Methode "void OnChartEvent (...) " - kann man dort nicht darauf reagieren, wenn man ein Symbol aus der Marktübersicht auf den Chart zieht? Oder einfach auf die Änderung des Chartsymbols?
Hi :-)
Danke für den Beitrag!
Aber dort geht es ja um eine Panel-Klasse? Damit komm ich leider nicht weiter.
Ein Indikator besitzt ja die Methode "void OnChartEvent (...) " - kann man dort nicht darauf reagieren, wenn man ein Symbol aus der Marktübersicht auf den Chart zieht? Oder einfach auf die Änderung des Chartsymbols?
Nein, Du kannst das Bild vom EA oder Indiaktor, die Du auf den Chart ziehen kannst, nicht auf das Symbol übertragen!
Wenn Du in der Marktübersicht ein Symbol wählst, wird für das der Chart gezeichnet. Also das Symbol ist "das Fundament",, von allem was dass darauf "gebaut" wird, nicht das Chart!
Das siehst Du daran, es gibt keinen Chart ohne Symbol, aber die Symbole (inkl. Kurse) ohne Chart (in der Marktübersicht).
@Carl:
Interessante Methode den Chart zu wechseln. Die Indikatoren bleiben dabei erhalten. Experte nicht ausprobiert.
Es wird das Ereignis CHARTEVENT_CHART_CHANGE ausgelöst.
Das Problem dabei ist, daß das Ereignis erst mit dem neuen Symbol aufgerufen wird. Dabei werden Indikatoren und AE neu initialisiert.
Man hat somit keine Chance sich das vorgehende _Symbol in einer Variablen zu merken. Siehe Codebeispiel:
Das funktioniert nicht.
#property indicator_chart_window #property indicator_plots 0 string OldSymbol=_Symbol; int OnCalculate(const int total, const int previ, const int begin, const double &price[]) { return(total); } void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) { if(id==CHARTEVENT_CHART_CHANGE) { Print("ChartChange ",OldSymbol," ",_Symbol); if(OldSymbol!=_Symbol) { OnSymbolChange(OldSymbol,_Symbol); OldSymbol=_Symbol; } } } void OnSymbolChange(string oldSymbol,string newSymbol) { Alert("OldSymbol: ",oldSymbol," NewSymbol: ",newSymbol); }
Benjamin Thom:
..
Ich möchte letztendlich aus der Marktübersicht ein Symbol auf einen Chart ziehen, und dieses soll dann gleichzeitig für den Chart daneben verwendet werden.
Du kannst mit Templates Charts für unterschiedliche Symbole automatisch mit den gleichen Indikatoren beschicken und die Fenster dann nebeneinander "Vertikal teilen" anordnen. Mehr geht nicht!
Das Problem dabei ist, daß das Ereignis erst mit dem neuen Symbol aufgerufen wird. Dabei werden Indikatoren und AE neu initialisiert.
Man hat somit keine Chance sich das vorgehende _Symbol in einer Variablen zu merken. Siehe Codebeispiel:
Das funktioniert nicht.
Du kannst mit Templates Charts für unterschiedliche Symbole automatisch mit den gleichen Indikatoren beschicken und die Fenster dann nebeneinander "Vertikal teilen" anordnen. Mehr geht nicht!
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Does anyone know if in MQL5 there is a Chartevent "on drop symbol" or "on change chart symbol" ?
I'd like to run some code when the user drops a new symbol on the chart...?