Como posso mudar a estrutura global de variáveis no indicador ao passar para outro período de tempo?

 
Como mover uma variável global, estrutura, objeto em um indicador ao mover-se para outro período de tempo? Não o encontrei pelo Googling.
 
Mikhail Nazarenko:
Como mover uma variável global, estrutura ou objeto no indicador ao mover-se para outro período de tempo? Procurei no Google, mas não o encontrei.

solução desajeitada : se não objetos, então não os reinicialize :-)

Quando o cronograma é alterado, os dados não são sobrescritos por si só, embora a EA reinicie. Este é um comportamento inesperado para a suíte C, e talvez mude em outras construções, mas lá vai você ;-)

E a solução correta - salvar o estado em um arquivo ou banco de dados, e no OnInit decidir - para restaurar o estado anterior ou começar de novo

 
Maxim Kuznetsov:

solução desajeitada : se não objetos, então não os reinicialize :-)

Quando o cronograma é alterado, os dados não são sobrescritos por si só, embora a EA reinicie. Este é um comportamento inesperado para a suíte C, e talvez mude em outras construções, mas lá vai você ;-)

E a solução correta - para salvar o estado em um arquivo ou banco de dados, e no OnInit decidir - para restaurar o estado anterior ou reiniciar a partir do zero

Entendo que não há soluções simples para estruturas e objetos?

 

Maxim Kuznetsov:


Quando você muda o cronograma, os dados não são sobrescritos por si só, embora a EA reinicie.


A pergunta era sobre o indicador.

 
Mikhail Nazarenko:

Como moveruma variável global, estrutura, objeto em um indicador ao mover-se para outro período de tempo? Procurei no Google e não o encontrei.

- variável global - basta salvá-la em variáveis globais do terminal.
- objeto gráfico - simplesmente não exclua-o de um gráfico.
- estrutura - basta escrevê-la em um arquivo.

 
Mikhail Nazarenko:

Entendo que não há soluções simples para estruturas e objetos?

Não é uma solução fácilescrever em um arquivo? Não parece haver nada complicado - FileWriteStruct() está disponível. Essa parte do objeto a ser escrita (e ainda são dados, não métodos, o que não faz sentido salvar), convertida em uma estrutura.

 
Ihor Herasko:

Escrever para um arquivo é uma solução complicada? Não parece haver nada complicado - FileWriteStruct() está disponível. Essa parte do objeto a ser escrita (e ainda são dados, não métodos, o que não faz sentido salvar), convertida em uma estrutura.

Parece uma coisa simples de entender, mas se não há nada mais elegante, então para um arquivo. Pensei ingenuamente que poderia passar sem muletas. Obrigado.

 
É mais fácil recalcular todas as estruturas a partir do zero em um reinício, a menos, é claro, que haja alguns cálculos super-mega-complexos...
 
transcendreamer:
É mais fácil recalcular todas as estruturas a partir do zero, a menos, é claro, que haja alguns cálculos super-mega-complexos...

Há momentos em que os dados não são calculados. Por exemplo, as ações dos usuários.

 
Ihor Herasko:

Há momentos em que os dados não são calculados. Por exemplo, as ações dos usuários.

Sim, existem, mas geralmente podem ser armazenados como status em globais ou seu resultado objetivado como estado de objetos gráficos...

 

aqui@fxsaber mostrou um exemplo de como salvar a estrutura em variáveis globais

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

e abaixo de seu posto nesta linha