Errori, bug, domande - pagina 1339

 
A100:
Perché?
Per vedere la logica.
 
Karputov Vladimir:
Per vedere la logica.
Stampato - ho descritto il risultato sopra
 
A100:
Stampato - il risultato è descritto sopra
Dove l'hai stampato? Dov'è il risultato? Non lo vedo - hai dimenticato di allegare la stampa prima e dopo.
 
Karputov Vladimir:
Dov'era la stampa? Dov'è il risultato? Non lo vedo - hai dimenticato di allegare la stampa prima e dopo.

Prima del reset Prima di

Dopo aver resettato Dopo

 

Nessuna intestazione visualizzata quando si aggiunge un'immagine nel forum

Sto compilando il campo Header. L'immagine viene visualizzata ma l'intestazione non è

 
A100:

Ordine diverso dei grafici in un profilo

Se aggiungete un nuovo grafico a diversi grafici in un profilo e lo spostate al centro, diciamo

poi nel successivo elenco di grafici con lo script usando

sarà spostato all'ultimo nonostante il fatto che sia nel mezzo

E se ricaricate il MT, sarà al centro come nella figura

Risulta un comportamento diverso prima e dopo la ricarica. Dov'è la logica?

Abbiamo aggiunto "EURAUD", "EURCAD", "EURUSD" e "NZDUSD" e attivato il primo grafico - "EURAUD"

Passo 1

"NZDUSD" è posto dopo "EURAUD" e attiviamo il primo grafico - "EURAUD"

Passo 2

Dopo aver ricaricato (il primo grafico rimane attivo - "EURAUD")

Passo 3

Tutto ha perfettamente senso. Solo prima che lo script sia chiamato:

//+------------------------------------------------------------------+
//|                                                    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++;// не забудем увеличить счетчик
     }
  }
//+------------------------------------------------------------------+

è necessario scegliere con cura il grafico attivo. Il grafico successivo viene contato a partire da quello attivo.
 
Karputov Vladimir:

Tutto ha perfettamente senso.

Qual è la logica in questo? Se c'era una sequenza 2-3-4-5 prima del riavvio, e dopo il riavvio c'è un altro 2-5-3-4?
 
A100:
E qual è la logica dietro questo? Se prima del riavvio c'era una sequenza 2-3-4-5, e dopo il riavvio un'altra 2-5-3-4?

Prima di ricaricare, i grafici sono scritti nel profilo nell'ordine in cui sono stati creati, cioè 1-2-3-4. Prima di ricaricare, il profilo viene riscritto (l'ultima revisione dei movimenti del grafico, cioè 1-4-2-3-3, viene scritta nel profilo). Dopo il riavvio, i grafici sono ridisegnati (creati) secondo l'ultima revisione dei movimenti dei grafici, cioè 1-4-2-3-3.

E così dopo il riavvio, poiché i grafici sono stati creati nell'ordine di 1-4-2-3, significa che ChartNext() restituirà esattamente quell'ordine.

 
Karputov Vladimir:

Prima di ricaricare, i grafici vengono scritti nel profilo nell'ordine in cui sono stati creati, cioè 1-2-3-4. Prima di ricaricare, il profilo viene riscritto (l'ultima revisione dei movimenti del grafico, cioè 1-4-2-3-3, viene scritta nel profilo). Dopo aver ricaricato, i grafici sono ridisegnati (creati) secondo l'ultima revisione dei movimenti del grafico, cioè 1-4-2-3-3.

La questione non è come è implementato attualmente (può essere implementato diversamente), ma che prima e dopo il ricaricamento (a parità di altre condizioni) il risultato è diverso, e quindi la logica è rotta.
 
A100:
La questione non è come è implementato attualmente (potrebbe essere implementato diversamente), ma che prima e dopo il ricaricamento (a parità di altre condizioni) il risultato è diverso, il che significa che la logica è rotta.
Credo che la logica non sia violata perché dopo che il terminale viene ricaricato i grafici vengono ricreati e quindi ChartNext() funziona correttamente. Ma puoi fare una richiesta a servicedesk - per favore condividi la risposta dopo.