É possível passar uma matriz para uma função que não começa com um elemento zero? Por exemplo, como uma referência ao i-ésimo elemento, e como seria isso?
fellow: É possível passar uma matriz para uma função que não começa com um elemento zero? Por exemplo, como referência ao i-ésimo elemento, e como seria este?
fellow: é possível passar uma matriz para uma função que não começa com um elemento zero? Por exemplo, como uma referência ao i-ésimo elemento, e como seria isso?
Não se declara uma matriz na função importação, mas sim uma simples referência.
Ao chamar a função, passe no i-ésimo elemento da matriz como parâmetro. Se quiser um array desde o início, passe no 0º elemento do array como parâmetro.
Aproximadamente assim:
#import "MyDLL.dll"void MyFunc(int& par1, int size);
#import
...
int IntArray[100];
int i;
...
MyFunc(IntArray[0],100);
...
i=55;
MyFunc(IntArray[i],ArraySize(IntArray)-i);
...
Uma palavra de conselho a um muito novato)))). A questão é a seguinte:
Vamos assumir que uma posição foi aberta por um salto de preço e um MA ascendente (foi definido no código), mas quase imediatamente o gráfico mudou, ou seja, o MA começou a descer (assim como todo o gráfico, claro)) ). Tenho de escrever uma função que fechará a posição neste momento, mas não cheguei a parar a perda ou limitar e reabrir a posição com os novos dados. E tudo isto tem de ser verificado de cada vez. Espero que a descrição seja clara:))))
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.
É possível passar uma matriz para uma função que não começa com um elemento zero? Por exemplo, como referência ao i-ésimo elemento, e como seria este?
pode
memcpy de winapi, etc., para ajudar.
é possível passar uma matriz para uma função que não começa com um elemento zero? Por exemplo, como uma referência ao i-ésimo elemento, e como seria isso?
Não se declara uma matriz na função importação, mas sim uma simples referência.
Ao chamar a função, passe no i-ésimo elemento da matriz como parâmetro. Se quiser um array desde o início, passe no 0º elemento do array como parâmetro.
Aproximadamente assim:
Isto é mais ou menos correcto:
Bem, não funciona em 4 porque o elemento índice não é um lvalue quando é passado para a função.
Funciona em 5.
Bem, isto não funcionará em 4, porque o elemento índice não é um lvalue quando passado para a função
Não me apercebi que estávamos a falar de um quatro.
Então estes exemplos são para uma biblioteca externa? E sem DLL ?
winapi memcpy também não pertence ao mql5
Então estes exemplos são para uma biblioteca externa? E sem DLL ?
winapi memcpy também não pertence ao mql5
Então estes exemplos são para uma biblioteca externa? E sem DLL ?
winapi memcpy também não pertence ao mql5
Bom dia!
Uma palavra de conselho a um muito novato)))). A questão é a seguinte:
Vamos assumir que uma posição foi aberta por um salto de preço e um MA ascendente (foi definido no código), mas quase imediatamente o gráfico mudou, ou seja, o MA começou a descer (assim como todo o gráfico, claro)) ). Tenho de escrever uma função que fechará a posição neste momento, mas não cheguei a parar a perda ou limitar e reabrir a posição com os novos dados. E tudo isto tem de ser verificado de cada vez. Espero que a descrição seja clara:))))