Um bug na função OrderSend() ? - página 7

 
tara:
Como não prevê que a variável seja inicializada no reinício do programa, ela DEVE.

Mais uma vez, para os que estão no tanque:

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   static int cc=20;
   Print("cc = ",cc);
   cc++;
   
   return(0);
  }
Trabalhos de exemplo. Obras de inicialização.
 
hoz:

Embora este ponto(do livro didático) não seja muito claro para mim:

"As variáveis estáticas são inicializadas uma vez antes de chamar a função init() especializada, ou seja, o valor desta variável não é perdido ao sair da função, dentro da qual uma variável estática é declarada.

O que isso tem a ver com " antes de chamar a função init() especial " e depois " ou seja, quando você sai de uma função do usuário (a julgar pelo conteúdo) na qual uma variável estática é declarada? "

Uma função na qual uma variável estática é declarada pode estar no final de um programa... ou seja, no final do código ou em outro lugar. A funçãoinit() é executada uma vez pouco antes do início do programa. Acontece que é inconsistente. Como uma variável pode ser inicializada antes da funçãoinit() ?

Não importa onde a função está no programa, as variáveis estáticas estão fora das funções.
 
PapaYozh:
Não importa onde a função está no programa, as variáveis estáticas estão fora das funções.

O que você quer dizer com isso?
 
tara:

Não, não vai. É um bug :)
É um mau hábito confiar na inicialização por padrão.
 
PapaYozh:

Mais uma vez, para os que estão no tanque:

O exemplo funciona. A inicialização funciona.

Clínica...

Sim, a inicialização funciona. Exatamente uma vez. E no reinício, não. Quem me dera que assim fosse. Isso é mais claro?

 
Pelo amor de Deus, não use estática nos EAs.
 
tara:

Clínica...

Sim, a inicialização funciona. Exatamente uma vez. E no reinício, não. Quem me dera que assim fosse. Isso é mais claro?

Deve funcionar somente uma vez, quando você reiniciar o Expert Advisor.

O que você quer dizer com reiniciar, entrar nas propriedades do Expert Advisor e sair pressionando OK?

 
TheXpert:
Pelo amor de Deus, não use estática nos EAs.
Não "não usar", mas"usar corretamente" ou"não usar incorretamente".
 

Sim, e também:

1. Quando a conta é alterada;

2. Ao trocar um instrumento;

3. Ao mudar a TF.