Relata um conjunto de erros fora do intervalo em '**.mq5' (13,10) Se eu substituir o fio duplo buf[]; por duplo buf[10]; então não há saída fora da matriz.
relata um array de erros fora do intervalo em '**.mq5' (13,10) se eu substituir a string double buf[]; por double buf[10]; então não há saída do array.
Ou duplo buf[10];
Ou duplo buf[]; mas depois necessariamente ArrayResize(buf,10);
Ou duplo buf[]; mas depois tenho de fazer ArrayResize(buf,10);
Obrigado.
posso explicar algo mais?
Isto é, se eu inicializar uma matriz e depois a preencher no laço, o seu tamanho crescerá a cada iteração, e terei de redefinir o seu tamanho... Pensei que isto era feito automaticamente, não importa quantos elementos eu lhe acrescentasse.
Se o preencher imediatamente com um certo número de elementos, não tenho de fazer este procedimento.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
Ou seja, se eu inicializar uma matriz e depois a preencher no laço, o seu tamanho crescerá a cada iteração, e terei de redefinir o seu tamanho... Pensei que se fazia automaticamente, independentemente de quantos elementos lhe acrescentasse.
e se o preencher imediatamente com um certo número de elementos, não tenho de fazer tal procedimento.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
A função CopyXXXX() anula automaticamente o tamanho da matriz passada para ela.
Se preencher a matriz você mesmo, se for dinâmica, então cabe ao programador certificar-se de que é do tamanho certo.
Pode, quando declara uma matriz, fazê-la
uma matriz dinâmica, caso em que cabe-lhe a si redefinir o seu tamanho.
não-dinâmico: buff[5] - nesse caso, é necessário inicializá-lo com os valores certos
não dinâmico: buff[]={10,20,30,40,50}; - neste caso é inicializado com valores na declaração
Quem sabe o que significam os números no gráfico de execução na optimização genética? Existem dois números, por exemplo 0,637 ou 7,27. E como escolher a corrida certa. Por exemplo, estou interessado na corrida número 5381. Como escolhê-lo?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Como é que sei porque é que esta construção não funciona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
Se eu substituir o fio duplo buf[]; por duplo buf[10]; então não há saída fora da matriz.
Pode dizer-me porque é que esta construção não funciona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
se eu substituir a string double buf[]; por double buf[10]; então não há saída do array.
Ou duplo buf[10];
Ou duplo buf[]; mas depois necessariamente ArrayResize(buf,10);
Ou duplo buf[10];
Ou duplo buf[]; mas depois tenho de fazer ArrayResize(buf,10);
Obrigado.
posso explicar algo mais?
Isto é, se eu inicializar uma matriz e depois a preencher no laço, o seu tamanho crescerá a cada iteração, e terei de redefinir o seu tamanho... Pensei que isto era feito automaticamente, não importa quantos elementos eu lhe acrescentasse.
Se o preencher imediatamente com um certo número de elementos, não tenho de fazer este procedimento.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
Obrigado.
Posso torná-lo mais claro?
Ou seja, se eu inicializar uma matriz e depois a preencher no laço, o seu tamanho crescerá a cada iteração, e terei de redefinir o seu tamanho... Pensei que se fazia automaticamente, independentemente de quantos elementos lhe acrescentasse.
e se o preencher imediatamente com um certo número de elementos, não tenho de fazer tal procedimento.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
A função CopyXXXX() anula automaticamente o tamanho da matriz passada para ela.
Se preencher a matriz você mesmo, se for dinâmica, então cabe ao programador certificar-se de que é do tamanho certo.
Pode, quando declara uma matriz, fazê-la
A função CopyXXXX() anula automaticamente o tamanho da matriz que lhe foi passada.
Se for você mesmo a preencher o conjunto, se for dinâmico, cabe ao programador certificar-se de que tem o tamanho certo.
Pode, quando declara uma matriz, fazê-la
quem sabe o que é o sinal entre parênteses?GHPR=(BalanceClose/BalanceOpen)^(1/N)
A operação bitwise é um OR exclusivo.
A sério? A sério?
Sempre pensei que(^) era uma exponenciação.
quem sabe o que é o sinal entre parênteses?GHPR=(BalanceClose/BalanceOpen)^(1/N)