Unterschiedliche Reihenfolge der Diagramme in einem Profil
Wenn Sie ein neues Diagramm zu mehreren Diagrammen in einem Profil hinzufügen und es in die Mitte verschieben, sagen wir
dann in der nachfolgenden Auflistung der Diagramme mit dem Skript mit
sie wird an die letzte Stelle verschoben, obwohl sie sich in der Mitte befindet
Und wenn Sie das MT neu laden, wird es in der Mitte sein, wie in der Abbildung, während der neuen Aufzählung
Es zeigt sich ein unterschiedliches Verhalten vor und nach dem Nachladen. Wo ist die Logik?
Wir haben "EURAUD", "EURCAD", "EURUSD" und "NZDUSD" hinzugefügt und den ersten Chart - "EURAUD" - aktiviert.
"NZDUSD" wird nach "EURAUD" platziert und wir aktivieren den ersten Chart - "EURAUD".
Nach dem Neuladen (das erste Diagramm bleibt aktiv - "EURAUD")
Alles ergibt einen perfekten Sinn. Nur bevor das Skript aufgerufen wird:
//+------------------------------------------------------------------+//| ChartNext.mq5 |//| Copyright 2014, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2014, MetaQuotes Software Corp."#property link"http://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- переменные для идентификаторов графиковlong currChart,prevChart=ChartFirst();
int i=0,limit=100;
Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart);
while(i<limit)// у нас наверняка не больше 100 открытых графиков
{
currChart=ChartNext(prevChart); // на основании предыдущего получим новый графикif(currChart<0) break; // достигли конца списка графиковPrint(i,ChartSymbol(currChart)," ID =",currChart);
prevChart=currChart;// запомним идентификатор текущего графика для ChartNext()
i++;// не забудем увеличить счетчик
}
}
//+------------------------------------------------------------------+
müssen Sie die aktive Karte sorgfältig auswählen. Das nächste Diagramm wird vom aktiven Diagramm aus gezählt.
A100: Und was ist die Logik dahinter? Wenn es vor dem Neustart eine Sequenz 2-3-4-5 gab und nach dem Neustart eine andere 2-5-3-4?
Vor dem erneuten Laden werden die Diagramme in der Reihenfolge, in der sie erstellt wurden, in das Profil geschrieben, d. h. 1-2-3-4. Vor dem erneuten Laden wird das Profil neu geschrieben (die letzte Revision der Graphbewegungen wird in das Profil geschrieben, d.h. 1-4-2-3-3). Nach dem Neustart werden die Graphen entsprechend der letzten Revision der Graphenbewegungen neu gezeichnet (erstellt), d. h. 1-4-2-3-3.
Da die Diagramme nach dem Neustart in der Reihenfolge 1-4-2-3 erstellt wurden, bedeutet dies, dass ChartNext() genau diese Reihenfolge zurückgeben wird.
Vor dem erneuten Laden werden die Diagramme in der Reihenfolge, in der sie erstellt wurden, in das Profil geschrieben, d. h. 1-2-3-4. Vor dem erneuten Laden wird das Profil neu geschrieben (die letzte Revision der Graphbewegungen wird in das Profil geschrieben, d.h. 1-4-2-3-3). Nach dem Neuladen werden die Graphen entsprechend der letzten Revision der Graphenbewegungen neu gezeichnet (erstellt ), d. h. 1-4-2-3-3.
Die Frage ist nicht, wie es derzeit implementiert ist (es kann auch anders implementiert werden), sondern dass das Ergebnis vor und nach dem Neuladen (wenn alle anderen Dinge gleich sind) unterschiedlich ist und die Logik daher gebrochen ist.
A100: Die Frage ist nicht, wie es derzeit implementiert ist (es könnte anders implementiert werden), sondern dass das Ergebnis vor und nach dem Neuladen (wenn alle anderen Dinge gleich sind) unterschiedlich ist, was bedeutet, dass die Logik gebrochen ist.
Ich glaube, dass die Logik nicht verletzt wird, da nach dem Neuladen des Terminals die Diagramme neu erstellt werden und ChartNext() daher korrekt funktioniert. Sie können jedoch eine Anfrage an servicedesk stellen - bitte teilen Sie die Antwort anschließend mit.
Und warum?
Um die Logik zu verstehen.
Ausgedruckt - das Ergebnis ist oben beschrieben
Wo war der Ausdruck? Wo ist das Ergebnis? Ich sehe es nicht - Sie haben vergessen, den Ausdruck vorher und nachher beizufügen.
Beim Hinzufügen eines Bildes im Forum wird keine Kopfzeile angezeigt
Ich fülle das Feld Kopfzeile aus. Das Bild wird angezeigt, aber die Kopfzeile nicht
Unterschiedliche Reihenfolge der Diagramme in einem Profil
Wenn Sie ein neues Diagramm zu mehreren Diagrammen in einem Profil hinzufügen und es in die Mitte verschieben, sagen wir
dann in der nachfolgenden Auflistung der Diagramme mit dem Skript mit
sie wird an die letzte Stelle verschoben, obwohl sie sich in der Mitte befindet
Und wenn Sie das MT neu laden, wird es in der Mitte sein, wie in der Abbildung, während der neuen Aufzählung
Es zeigt sich ein unterschiedliches Verhalten vor und nach dem Nachladen. Wo ist die Logik?
Wir haben "EURAUD", "EURCAD", "EURUSD" und "NZDUSD" hinzugefügt und den ersten Chart - "EURAUD" - aktiviert.
"NZDUSD" wird nach "EURAUD" platziert und wir aktivieren den ersten Chart - "EURAUD".
Nach dem Neuladen (das erste Diagramm bleibt aktiv - "EURAUD")
Alles ergibt einen perfekten Sinn. Nur bevor das Skript aufgerufen wird:
müssen Sie die aktive Karte sorgfältig auswählen. Das nächste Diagramm wird vom aktiven Diagramm aus gezählt.Alles ergibt einen perfekten Sinn.
Und was ist die Logik dahinter? Wenn es vor dem Neustart eine Sequenz 2-3-4-5 gab und nach dem Neustart eine andere 2-5-3-4?
Vor dem erneuten Laden werden die Diagramme in der Reihenfolge, in der sie erstellt wurden, in das Profil geschrieben, d. h. 1-2-3-4. Vor dem erneuten Laden wird das Profil neu geschrieben (die letzte Revision der Graphbewegungen wird in das Profil geschrieben, d.h. 1-4-2-3-3). Nach dem Neustart werden die Graphen entsprechend der letzten Revision der Graphenbewegungen neu gezeichnet (erstellt), d. h. 1-4-2-3-3.
Da die Diagramme nach dem Neustart in der Reihenfolge 1-4-2-3 erstellt wurden, bedeutet dies, dass ChartNext() genau diese Reihenfolge zurückgeben wird.
Vor dem erneuten Laden werden die Diagramme in der Reihenfolge, in der sie erstellt wurden, in das Profil geschrieben, d. h. 1-2-3-4. Vor dem erneuten Laden wird das Profil neu geschrieben (die letzte Revision der Graphbewegungen wird in das Profil geschrieben, d.h. 1-4-2-3-3). Nach dem Neuladen werden die Graphen entsprechend der letzten Revision der Graphenbewegungen neu gezeichnet (erstellt ), d. h. 1-4-2-3-3.
Die Frage ist nicht, wie es derzeit implementiert ist (es könnte anders implementiert werden), sondern dass das Ergebnis vor und nach dem Neuladen (wenn alle anderen Dinge gleich sind) unterschiedlich ist, was bedeutet, dass die Logik gebrochen ist.