[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 307

 
hoz:

Não é um encaixe, é uma espécie de encaixe automático :)

Um ajuste sem uma marca firme é um ajuste.

Até que os parâmetros principais funcionem corretamente, eles devem ser definidos pensando, tentando, testando no testador, na demonstração e no jogo real, e assim por diante, até que algo novo lhe venha à mente que pareça melhor. E tudo sem ajuste, mas pela lógica, teoria e prática!

 
Zhunko:
Qualquer variável deve ser declarada antes de poder ser utilizada. Pode ser em parâmetros, pode ser em nível de biblioteca global.


Não só isso, mas também deve ser explicitamente iniciado.
 
hoz:

Portanto, aqui está uma função da biblioteca:

Vadim, sobre funções no laço Você quer dizer o que o operador do interruptor retorna? Mas não é como se eu estivesse obtendo valores sobre o número total de variáveis de loop. É apenas comparar o tipo de máscara (variável de entrada da função) que estou obtendo e depois calcular o valor da máscara. Acontece que não há cálculos adicionais. Eu apenas seleciono o tipo de máscara e pronto! Eu quero entender o que você quer dizer com isso:

Você pode explicar?
Isto pressupõe o que você fará com esta função. Este é o tipo de função que normalmente é executada através da história.
FAQ:

Não só isso, mas também deve ser iniciado explicitamente.
De preferência para pedidos, mas na MQL4 eles são inicializados com zeros por padrão quando declarados.
 
Eu tenho enfrentado um problema recentemente: como saber que o indicador, que usamos no Expert Advisor através do iCustom(), foi inicializado e podemos obter dados dele? Outras vezes, há situações em que o gráfico ainda não teve tempo de exibir seus objetos e a EA está tentando tirar alguns dados de seus amortecedores. Como resultado, às vezes aparecem valores zero. É claro que eu verifiquei valores não zero e só então deixei a EA continuar sua operação, mas ... talvez haja uma solução mais elegante?
 

Mais uma coisa: encontrei um comportamento estranho (para mim) de UninitializeReason(). Verifico seu valor na Inite, e se o prazo foi alterado e há posições em aberto, então deve haver um pedido para fechá-las. Se inicialmente executarmos a EA na M5, e depois mudarmos para outro período de tempo, então não haverá solicitação. Se voltarmos ao TF inicial (M5), haverá um pedido. Eu acho que isto não é normal. Eu preciso ter um pedido em qualquer mudança da TF.

Alguém pode explicar?

 
artmedia70:

Mais uma coisa: encontrei um comportamento estranho (para mim) de UninitializeReason(). Verifico seu valor na Inite, e se o prazo foi alterado e há posições em aberto, então deve haver um pedido para fechá-las. Se inicialmente executarmos a EA na M5, e depois mudarmos para outro período de tempo, então não haverá solicitação. Se voltarmos ao TF inicial (M5), haverá um pedido. Eu acho que isto não é normal. Eu preciso ter um pedido em qualquer mudança da TF.

Alguém pode explicar?

Fazê-lo funcionar, DeinitReason é uma variável global

int deinit()
  {
//----
   DeinitReason = UninitializeReason( );
   Print("DeinitReason ",DeinitReason);
//----
   return(0);
  }
 
Mislaid:

Fazê-lo funcionar, DeinitReason é uma variável global

Exatamente. A variável Reason global recebe um valor, mas o recebe no init() ao invés de deinit(), de modo que quando você executa o init() você pode ver o motivo da última desinicialização e, com base no valor, executar uma ação ou outra. Mas não funciona como deveria.
 

Boa tarde. Surgiu uma nova pergunta. Ajude, por favor. Para os conhecedores há um minuto, mas para os iniciantes é difícil. O Google nada ajuda, mas talvez alguém tenha enfrentado.

A revista diz

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1: 2 parâmetro para a função SetIndexBuffer deve ser array).

https://forum.mql4.com/ru/55137#786974

 
palomnik:

Boa tarde. Surgiu uma nova pergunta. Ajude, por favor. Para os conhecedores há um minuto, mas para os iniciantes é difícil. O Google nada ajuda, mas talvez alguém tenha enfrentado.

A revista diz

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1: 2 parâmetro para a função SetIndexBuffer deve ser array).

https://forum.mql4.com/ru/55137#786974


Ele diz que o segundo parâmetro na função SetIndexBuffer deve ser uma matriz. Ou seja, não znach1 duplo, mas znach1 duplo[]
 
Como faço para executar o script que acabei de editar sem reiniciar o mt4?