[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 4

 

Não sorrindo

 
Fox_RM: Nas iterações posteriores, tudo está bem. Por que é este o caso?

uma de duas coisas:

- Você usa inicialização variável na seção init(), nem todas as funções funcionam corretamente lá

- talvez você não tenha inicializado alguma variável, há muito tempo tem sido considerado uma boa prática de programação inicializar com pelo menos algum valor depois de descrever variáveis

ZS: por que você tem ArrHigh[i] array e usa ArrHigh[0] ?

 

E mais uma pequena pergunta.

Encontrei a seguinte entrada:

 void IncArray( int & Array[] )

Tudo parece fazer sentido, exceto o que significa o & neste caso?

 
Fox_RM o que significa o & sinal neste caso ?
https://docs.mql4.com/ru/basis/variables/formal
 

IgorM:

Uma de duas:

- você usa inicialização de variáveis na seção init(), nem todas as funções funcionam corretamente lá

- talvez você não tenha inicializado alguma variável, há muito tempo tem sido considerado uma boa prática de programação inicializar com pelo menos algum valor depois de descrever variáveis

. Você está absolutamente certo, " você usa inicialização variável na seção init(),..." - existe tal pecado)

"...qualquer valor" - 0 é atribuído.

"por que você tem ArrHigh[i] array e usa ArrHigh[0]..." A questão é esta.

Preciso obter o valor Alto[i ] para trabalharcom mais tarde no código.

Se eu fizer uma atribuição a uma variável no laço, ela será sobrescrita durante as próximas iterações. Não consigo pensar em nada mais inteligente do que atribuir

Alto[i] para uma matriz e depois trabalhar somente com ArrHigh[0]. Na próxima vez em que este loop for atingido, todos os valores serão reinicializados.

Talvez haja uma opção melhor?

 
Fox_RM:
1. você está absolutamente certo, "você usa inicialização de variáveis na seção init(),..." - existe tal pecado)

2.Talvez haja uma opção melhor?

1. você pode e às vezes só precisa inicializar na seção init(), eu apenas assinalei que as funções padrão não funcionarão todas corretamente, o acesso às séries de tempos funcionará corretamente

2. eu não entendo porque você tem que complicar a tarefa? array High[i] não irá a lugar algum por que copiá-lo novamente? se você tem medo de "perder um bar" quando você abre um novo bar, lembre-se do tempo do bar - o tempo nunca mudará, você pode usar esta construção High[iBarShift(NULL,0,mytime)]

ZS: após a frase: "Se você fizer uma atribuição para uma variável no loop, ela será sobrescrita nas próximas iterações". suspeito que o problema esteja na inicialização aleatória de alguma variável, tente imprimir() todas as variáveis na seção de código problemática

 
IgorM:
Obrigado Igor, vou tentar dessa forma!
 

Estou estudando isso há uma semana).

preciso prescrevê-lo para abrir duas ordens (multidirecionais) com uma certa parada e lucro e então, se eu as fechar, abro outras ordens com a mesma quantidade exata + verificação de fluxo e só abro posições com 8 a 8

Agradecemos antecipadamente))

 
vkontakte0:

Já estou estudando há uma semana)).

eu preciso prescrevê-lo para abrir duas ordens (multidirecionais) com uma certa parada e lucro e então, se eu as fechar, abro outras ordens com a mesma quantidade exata + verificação de fluxo e só abro posições com 8 a 8

agradecimentos com antecedência))))

Acho que um livro didático não é suficiente. O FMI tem muitos sites diferentes onde são dadas as noções básicas de MQL e as noções básicas de "escrita especializada" (eu lhe enviarei os links em privado se você precisar deles). Por exemplo, eu tenho

Eu os baixei e os converti para o formato chm. Tenho-os à mão o tempo todo. Se vou negociar com Consultores Especialistas, acho que estou com pressa, preciso me familiarizar com os índices e depois complicar o assunto IMHO.

Razão: