Fehler, Irrtümer, Fragen - Seite 1339

 
A100:
Und warum?
Um die Logik zu verstehen.
 
Karputov Vladimir:
Um die Logik zu verstehen.
Ich habe es ausgedruckt - das Ergebnis habe ich oben beschrieben
 
A100:
Ausgedruckt - das Ergebnis ist oben beschrieben
Wo haben Sie es ausgedruckt? Wo ist das Ergebnis? Ich sehe es nicht - Sie haben vergessen, den Ausdruck vorher und nachher beizufügen.
 
Karputov Vladimir:
Wo war der Ausdruck? Wo ist das Ergebnis? Ich sehe es nicht - Sie haben vergessen, den Ausdruck vorher und nachher beizufügen.

Vor dem Zurücksetzen Vor

Nach dem Zurücksetzen Nach

 

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

 
A100:

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.

Schritt 1

"NZDUSD" wird nach "EURAUD" platziert und wir aktivieren den ersten Chart - "EURAUD".

Schritt 2

Nach dem Neuladen (das erste Diagramm bleibt aktiv - "EURAUD")

Schritt 3

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                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- переменные для идентификаторов графиков
   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.
 
Karputov Vladimir:

Alles ergibt einen perfekten Sinn.

Worin besteht die Logik darin? Wenn es vor dem Neustart eine Sequenz 2-3-4-5 gab, und nach dem Neustart eine weitere 2-5-3-4?
 
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.

 
Karputov Vladimir:

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.