Come posso cambiare la struttura della variabile globale nell'indicatore quando mi sposto in un altro timeframe?

 
Come spostare una variabile globale, una struttura, un oggetto in un indicatore quando ci si sposta su un altro timeframe? Non l'ho trovato con Google.
 
Mikhail Nazarenko:
Come spostare una variabile globale, una struttura o un oggetto nell'indicatore quando ci si sposta su un altro timeframe? L'ho cercato su Google, ma non l'ho trovato.

Soluzione maldestra: se non sono oggetti, allora non reinizializzarli :-)

Quando il timeframe viene cambiato, i dati non vengono sovrascritti da soli, anche se l'EA riparte. Questo è un comportamento inaspettato per la C-suite, e forse cambierà in altre build, ma ci siamo ;-)

E la soluzione corretta - salvare lo stato in un file o database, e nella decisione OnInit - ripristinare lo stato precedente o ricominciare da capo

 
Maxim Kuznetsov:

Soluzione maldestra: se non sono oggetti, allora non reinizializzarli :-)

Quando il timeframe viene cambiato, i dati non vengono sovrascritti da soli, anche se l'EA riparte. Questo è un comportamento inaspettato per la C-suite, e forse cambierà in altre build, ma ci siamo ;-)

E la soluzione corretta - per salvare lo stato in un file o database, e nella decisione OnInit - per ripristinare lo stato precedente o riavviare da zero

Capisco che non ci sono soluzioni semplici per strutture e oggetti?

 

Maxim Kuznetsov:


Quando si cambia timeframe, i dati non vengono sovrascritti da soli, anche se l'EA si riavvia.


La domanda riguardava l'indicatore.

 
Mikhail Nazarenko:

Come spostareuna variabile globale, una struttura, un oggetto in un indicatore quando ci si sposta su un altro timeframe? L'ho cercato su Google e non l'ho trovato.

- variabile globale - basta salvarla nelle variabili globali del terminale.
- oggetto grafico - semplicemente non cancellarlo da un grafico.
- struttura - basta scriverlo in un file.

 
Mikhail Nazarenko:

Capisco che non ci sono soluzioni semplici per strutture e oggetti?

Non è una soluzione semplicescrivere su un file? Non sembra esserci nulla di complicato - FileWriteStruct() è disponibile. Quella parte dell'oggetto da scrivere (e sono ancora dati, non metodi, che non ha senso salvare), convertita in una struttura.

 
Ihor Herasko:

Scrivere su un file è una soluzione complicata? Non sembra esserci nulla di complicato - FileWriteStruct() è disponibile. Quella parte dell'oggetto da scrivere (e sono ancora dati, non metodi, che non ha senso salvare), convertita in una struttura.

Sembra una cosa semplice da capire, ma se non c'è niente di più elegante, allora a un file. Ingenuamente pensavo di poter fare a meno delle stampelle. Grazie.

 
È più facile ricalcolare tutte le strutture da zero in un reinit, a meno che, ovviamente, non ci siano dei calcoli super mega complessi...
 
transcendreamer:
È più facile ricalcolare tutte le strutture da zero, a meno che, ovviamente, non ci siano dei calcoli super mega complessi...

Ci sono momenti in cui i dati non vengono calcolati. Per esempio, le azioni degli utenti.

 
Ihor Herasko:

Ci sono momenti in cui i dati non vengono calcolati. Per esempio, le azioni degli utenti.

Sì, ci sono, ma di solito possono essere memorizzati come stati nei globali o il loro risultato oggettivato come stato degli oggetti del grafico...

 

qui@fxsaber ha mostrato un esempio di come salvare la struttura in variabili globali

https://www.mql5.com/ru/forum/320395/page6#comment_12910394

e sotto il suo post in questo thread