Amando,
ganz einfach: Nimm die Documentation (von oben) und klick drauf, dann klickst Du unten links auf "MQL5 Funktionenliste" und dann kannst Du mit Ctrl+F (Windows suche) nach "Chart" suchen (eventuell wiederholen bis Du zu einer Funktion landest). Bei mir ist die erste "ChartApplyTemplate" wenn Du draufklickst siehst Du links alle Funktionen die mit Chart anfangen.
Das ist (auch für mich!) der schnellste Weg, Funktionen zu finden, die etwas Bestimmtes tun sollen und deren Namen ich nicht kenne, oder mit dem ich nach Schlagworten suche, die in den Kurzbeschreibungen stehen.
Leider hat ist diese Doku noch nicht auf den neusten Stand - aber kommt sicherlich, wenn sich die Update-Flut gelegt hat!

- www.mql5.com
Amando,
ganz einfach: Nimm die Documentation (von oben) und klick drauf, dann klickst Du unten links auf "MQL5 Funktionenliste" und dann kannst Du mit Ctrl+F (Windows suche) nach "Chart" suchen (eventuell wiederholen bis Du zu einer Funktion landest). Bei mir ist die erste "ChartApplyTemplate" wenn Du draufklickst siehst Du links alle Funktionen die mit Chart anfangen.
Das ist (auch für mich!) der schnellste Weg, Funktionen zu finden, die etwas Bestimmtes tun sollen und deren Namen ich nicht kenne, oder mit dem ich nach Schlagworten suche, die in den Kurzbeschreibungen stehen.
Leider hat ist diese Doku noch nicht auf den neusten Stand - aber kommt sicherlich, wenn sich die Update-Flut gelegt hat!
Danke Carl, das kenn ich, schau ich täglich nach dort, gerne in englisch weil die deutsche übersetzung grauenhaft ist.
aber dort gibts keine Lösung für das, weil alle funktionen wollen die chart id
Danke Carl, das kenn ich, schau ich täglich nach dort, gerne in englisch weil die deutsche übersetzung grauenhaft ist.
aber dort gibts keine Lösung für das, weil alle funktionen wollen die chart id
Probier mal diese Funktion. Du öffnest einen Chart über eine Funktion.
Rückgabewert ist die ID des neuen Charts
long ChartOpen( string symbol, // Symbolname ENUM_TIMEFRAMES period // Periode );
//+------------------------------------------------------------------+ //| ChartOpen.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- long newChartID = ChartOpen("EURUSD", PERIOD_H1); Print(newChartID); } //+------------------------------------------------------------------+
Schau dir dieses Script an und iteriere durch alle Charts. Hier wird zv SILVER ausgegrenzt.
#property description "Aktuelles Template wird unter dem Namen 'LastApplied.tpl' gespeichert" #property description "und auf alle offenen Charts angewendet" string ProgName = MQLInfoString(MQL_PROGRAM_NAME); // Name des Scripts (für MessageBox) string TmplName = "LastApplied"; // unter diesem Namen wird die aktuelle Einstellung gespeichert, wird immer kommentarlos überschrieben void OnStart() { //ENUM_TIMEFRAMES initPeriod = _Period; // Timeframe des aktuellen Charts merken long initScale = ChartGetInteger(ChartID(),CHART_SCALE); // scale des aktuellen Charts merken long initChartID = ChartID(); // aktueller Chart long currChartID = ChartFirst(); // Schleifenvariable über alle Charts ObjectsDeleteAll(initChartID); // delete all useless objects if(!ChartSaveTemplate(initChartID,TmplName)) // hier wird die aktuelle Einstellung in Datei geschrieben { PlaySound("alert"); MessageBox("*ERROR* ChartSaveTemplate: "+TmplName,ProgName,MB_ICONERROR); return; // exit here } while(currChartID>=0) // Schleife über alle Charts { if(currChartID!=initChartID) // nicht für Chart in dem das Script gestartet wurde if(ChartSymbol(currChartID)!="SILVER") // nicht für Chart "SILVER". Diese Zeile kann enfernt werden, ist nur für meine Anwendung if(!ChartApplyTemplate(currChartID, TmplName)) // Template anwenden { MessageBox("*ERROR* ChartApplyTemplate: "+TmplName,ProgName,MB_ICONERROR); return; // exit here } currChartID=ChartNext(currChartID); } // currChartID = ChartFirst(); // reset auf ersten Chart // while(currChartID>=0) // nochmal Schleife über alle Charts // { // if(currChartID!=initChartID) // nicht für Chart in dem das Script gestartet wurde // { // if(ChartPeriod(currChartID)!=initPeriod) // Timeframe einstellen // ChartSetSymbolPeriod(currChartID,ChartSymbol(currChartID),initPeriod); // // if(ChartGetInteger(currChartID,CHART_SCALE)!=initScale) // Scale einstellen // ChartSetInteger(currChartID,CHART_SCALE, initScale); // } // currChartID=ChartNext(currChartID); // } PlaySound("ok"); // akustisch bemerkbar machen }

- 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.
Hallo Leute,
mal eine Frage zur Chart ID. Das aktuelle Fenster hat ja in MQL5 immer die Chart ID 0, das ist eigentlich nur eine Vereinfachung, damit sich MQ nicht die Arbeit machen muss, die Chart ID zu suchen.
Wenn man die ChartId wissen will
ChartID();
bekommt man ja eine 10 Stellige Zahl zurück.
in der Doku bezieht sich ja alles auf die ChartID = 0. auch vernünftig, weil 99% der sachen will ich auf den Chart machen.
Gibts auch eine Möglichkeit die Chart ID eines anderen Charts auszulesen?
Also ein Beispiel:
Ich habe den Chart EURUSD offen. der hat die ChartID = 0 für das arbeiten mit MQL5
jetzt stehe ich in diesen Chart und will z.B einen Chart schliessen, das geht ja ganz einfach über
wenn ich Chart ID 0 eingebe, ganz einfach, ich schliesse den aktuellen chart.
aber wie finde ich die ChartID von einem anderen offenen Chart?
danke