Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1590

 
законопослушный гражданин:

Eu me ajustei da seguinte forma:

1.eu clico uma vez no botão deslizante, depois o mouse pode ser movido, o principal é não clicar em outros espaços

2.Eu o ajuste pressionando as setas do teclado - mais rápido mais lento

P.S., sobre o testador de estratégia MT4 integrado

Eh, seria um conto de fadas se você pudesse clicar em um gráfico e o efeito das teclas de atalho não fosse reinicializado. Mas é melhor do que nada
 

Surgiu uma pergunta. Faz sentido declarar variáveis estáticas no escopo global.

No local que entendo, nenhuma visibilidade fora do corpo funcional e valores de economia da chamada anterior.

E qual poderia ser o objetivo de um global?

 
Valeriy Yastremskiy:

Surgiu uma pergunta. Faz sentido declarar variáveis estáticas no escopo global.

No local que entendo, nenhuma visibilidade fora do corpo funcional e valores de economia da chamada anterior.

E qual seria o sentido em um global?

Somente se puder ser alterado em diferentes funções

 
MakarFX:

Somente se puder mudar em diferentes funções

Não entendo) A variável global também muda em diferentes funções. A variável stat.variable neste caso não é diferente da variável global habitual. E a memória está localizada na piscina global. A partir da referência:

Variáveis

Há três classes de memória: estática, de entrada e externa. Estes modificadores de classe de memória dizem explicitamente ao compilador que as variáveis correspondentes são alocadas em uma área pré-definida de memória, chamada de pool global.

Às vezes me deparo com variáveis estáticas declaradas no escopo global do código. Não consigo entender a lógica dos autores.

 
Valeriy Yastremskiy:

Não entendo) Global também muda em diferentes funções. Neste caso, não é diferente de uma variável global regular. E a memória está localizada na piscina global. A partir da referência:

Variáveis

Há três classes de memória: estática, de entrada e externa. Estes modificadores de classe de memória dizem explicitamente ao compilador que as variáveis correspondentes são alocadas em uma área pré-definida de memória, chamada de pool global.

Às vezes me deparo com variáveis estáticas declaradas noescopo global do código. Não consigo entender a lógica dos autores.

Sim, você está certo e não há lógica. É exatamente assim que o autor do código o vê.

Meu posto anterior não foi bem pensado.

 

Valeriy Yastremskiy:

Eu não entendo a lógica dos autores.

Não há lógica, apenas esquizofrenia. A expressão "óleo amanteigado" é uma definição tão educada de "esquizofrenia".

 
MakarFX:

Sim, você está certo e não há lógica. É exatamente como o autor do código o vê.

Alexey Viktorov:

Não há lógica, apenas esquizofrenia. A expressão "oleado" é uma definição tão educada de "esquizofrenia".

Obrigado, às vezes é difícil encontrar a lógica do autor através do código))))

 
MakarFX:
sim

Você poderia, por favor, aconselhar

Como devolver o lote inicial -Lot, (para abrir a próxima ordem), após a execução desta parte da função:

if(GetProfitFromStart()>CountProfit || GetProfitFromStart()<CountLoss*-1)
     {
      if (IsTesting()) 
        {
         CloseOrder(); ObjectSetInteger(0,"lab_Button",OBJPROP_STATE,false);
        }
      else
        {
         CloseOrder();
        }
     }
Arquivos anexados:
 
законопослушный гражданин:

Você poderia, por favor, aconselhar

como devolver o lote inicial -Lot, (para abrir a próxima ordem), após a execução desta parte da função:

depois de

CloseOrder();
adicionar
Start = TimeCurrent();
 

com estática em mql tudo está funcionando e repleto de erros. O código é sempre construído/compilado como um todo, sem objeção intermediária e a declaração de estática é apenas um tributo à tradição.

Se alguém usa estática em mql - isso é quase 100% do mundo C/C++/C#; ou se alguém espreita e imita ridiculamente :-)

mas também há __thread__ :-)

Razão: