Variáveis globais versus FileWrite

 

Tenho cerca de 8-10 variáveis que não podem ser recalculadas sem agravamento substancial (elas derivam de chamadas iCustom potencialmente passadas há muito tempo).

Considerando que normalmente executo 5-10 instâncias do EA por terminal e quero criar um nível de persistência, que é minha melhor opção para confiabilidade e velocidade:

1. Variáveis Globais; ou

2. FileWrite

Tenho certeza de que serei capaz de descobrir o que preciso fazer com qualquer um dos sistemas, mas não estou claro qual é o melhor caminho a ser seguido.

Qualquer pensamento será muito apreciado.

 
toast:

Tenho cerca de 8-10 variáveis que não podem ser recalculadas sem agravamento substancial (elas derivam de chamadas iCustom potencialmente passadas há muito tempo).

Considerando que normalmente executo 5-10 instâncias do EA por terminal e quero criar um nível de persistência, que é minha melhor opção para confiabilidade e velocidade:

1. Variáveis Globais; ou

2. FileWrite

Tenho certeza de que serei capaz de descobrir o que preciso fazer com qualquer um dos sistemas, mas não estou claro qual é o melhor caminho a ser seguido.

Qualquer pensamento será muito apreciado.

As variáveis globais do terminal são mais fáceis de usar, você também pode alterá-las manualmente dentro do terminal. Mas a escrita em um arquivo é mais flexível.
 
angevoyageur:
Mas escrever para um arquivo é mais flexível.

mas mais confiável
 

As Variáveis Globais podem ser confiáveis se você codificar sua ea corretamente. A mesma coisa para escrever em um arquivo.

Nada é confiável se seu código ea não for feito corretamente para lidar com Variáveis Globais ou para escrever em um arquivo.

As Variáveis Globais ou a escrita em um arquivo são apenas sabores ao seu gosto na verdade.

 

você está certo!!!

lembro-me dos tempos (alguns anos atrás) em que as Global Variables foram salvas em um arquivo somente fechando o terminal

o que significa que se houver uma falha de terminal/computador/poder, eles não foram salvos

parece que as coisas mudaram desde então e agora são salvas imediatamente em um arquivo

obrigado pela informação

 
Muito obrigado pelas respostas rápidas a todos - rápidas e informativas, como sempre!
 
qjol:

você está certo!!!

lembro-me dos tempos (alguns anos atrás) em que as Global Variables foram salvas em um arquivo somente fechando o terminal

o que significa que se houver uma falha de terminal/computador/poder, eles não foram salvos

parece que as coisas mudaram desde então e agora são salvas imediatamente em um arquivo

obrigado pela informação


A GV está se tornando mais confiável hoje em dia.

Legal, não é? Espero que a MetaQuotes possa torná-lo ainda mais agradável :)

 

Se eu puder incomodar vocês com outra pergunta:

O uso de ChartID() é uma forma confiável de nomear variáveis globais? É sempre único, e não muda uma vez atribuído a um determinado gráfico?

Eu estava pensando em usar uma combinação de número mágico e Symbol(), mas minha preocupação é que alguém mude o número mágico com o comércio ativo. Se isto acontecer, então os GVs usados no gerenciamento das transações não serão recuperados corretamente.


(Observação: Não compartilho GVs em diferentes gráficos/EA, portanto, não preciso me preocupar com que outra EA consiga recuperar o GV. Estou usando-os apenas para persistência)

 
toast:

Se eu puder incomodar vocês com outra pergunta:

O uso de ChartID() é uma forma confiável de nomear variáveis globais? É sempre único, e não muda uma vez atribuído a um determinado gráfico?

Eu estava pensando em usar uma combinação de número mágico e Symbol(), mas minha preocupação é que alguém mude o número mágico com o comércio ativo. Se isto acontecer, então os GVs usados no gerenciamento das transações não serão recuperados corretamente.


(Observação: Não compartilho GVs em diferentes gráficos/EA, portanto, não preciso me preocupar com que outro EA consiga recuperar o GV. Estou usando-os apenas para persistência)


O número mágico não pode ser alterado uma vez que esteja em ordens (pendentes ou de mercado).
 

Obrigado pela resposta.

Sim, eu concordo.

Mas o problema será o seguinte:

Um comércio é aberto com o número mágico 123.

Ao administrar este comércio, a EA estará procurando o GV com o nome 123xxxxxx

Agora o usuário muda a configuração do EA para número mágico para 789, enquanto o comércio ainda está ativo.

Agora a EA está procurando GV com o nome 789xxxxx (que não existe).

Essencialmente, estou procurando por uma convenção de nomes GV que não pode ser modificada pela entrada do usuário.

 
toast:

Obrigado pela resposta.

Sim, eu concordo.

Mas o problema será o seguinte:

Um comércio é aberto com o número mágico 123.

Ao administrar este comércio, a EA estará procurando o GV com o nome 123xxxxxx

Agora o usuário muda a configuração do EA para número mágico para 789, enquanto o comércio ainda está ativo.

Agora a EA está procurando GV com o nome 789xxxxx (que não existe).

Essencialmente, estou procurando por uma convenção de nomes GV que não pode ser modificada pela entrada do usuário.

Não permita mudar o número mágico se ainda houver negócios abertos com magia antiga.