MqlRates velasJaponesas;
double mediaCandle(double media, &velasJaponesas[])
use o operador & antes do nome do array. só não sei se funciona criando o array direto nos parâmetros da função como vc fez. acho melhor criar o array fora.
Em MQL5 não podemos ter um retorno de array, pois, ao contrário das variáveis, os arrays apenas podem ser passados para uma função por referência. Isso significa que a função não cria a sua própria instância do array e, ao invés disso, trabalha diretamente com o array passado para ela. Assim, todas as mudanças realizadas nesse array dentro da função fazem com que o array original seja afetado.
Então o nome do array no parâmetro pouco importa. Imagina isso>
double x[]; bool funcX(double &T[]) { bool res=false; if(ArrayResize(T, 10)) res=true; return res; } void OnStart(void) { Print(ArraySize(x)); funcX(x); Print(ArraySize(x)); }
Em MQL5 não podemos ter um retorno de array, pois, ao contrário das variáveis, os arrays apenas podem ser passados para uma função por referência. Isso significa que a função não cria a sua própria instância do array e, ao invés disso, trabalha diretamente com o array passado para ela. Assim, todas as mudanças realizadas nesse array dentro da função fazem com que o array original seja afetado.
Então o nome do array no parâmetro pouco importa. Imagina isso>
Acho que to com problema de acessar a Struct Mqlrates dentro da função pra fazer as contas.
use o operador & antes do nome do array. só não sei se funciona criando o array direto nos parâmetros da função como vc fez. acho melhor criar o array fora.
O problema tá mais que é uma struct, só se criar uma lista normal e passar por parametro, mas vai dar mais trabalho.
Acho que to com problema de acessar a Struct Mqlrates dentro da função pra fazer as contas.
A questão é, um array tem dimensão e tamanho OK?
quando vc criou sua variavel do tipo array MqlRates vc definiu o seu tamanho ? muito provavelmente não, então é muito provável que o erro seja isso.
em que momento vc carrega os dados nessa variael ?
no seu código fica muito solto isso, cabe apenas interpretação.
A questão é, um array tem dimensão e tamanho OK?
quando vc criou sua variavel do tipo array MqlRates vc definiu o seu tamanho ? muito provavelmente não, então é muito provável que o erro seja isso.
em que momento vc carrega os dados nessa variael ?
no seu código fica muito solto isso, cabe apenas interpretação.
Entendi, Jonathan, você sabe como mandar a função retornar múltiplos valores?
pra definir o tamanho eu faço assim Mqlrates array[:12] tipo até o índice 11, tô mais acostumado com python. kkkkk
Para definir tamanho vc usa um ArrayResize igual ao exemplo que eu dei.
a função retornar mais de um valor.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Olá, Amigos!
No corpo funciona normal,mas quando tento acessar por função
o mesmo código ele não acessa muito bem o índice ou a struct,
tem algum jeito?? senão vou ter que criar metade do bot no corpo.