Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 902
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
1.eu tenho tal pergunta, como posso apagar um elemento de um array através da memória, no momento eu apago um elemento movendo o array matematicamente através de um loop, é isso possível em mql4? Se for possível, dê um exemplo de como isso é feito em uma matriz unidimensional.
2. além disso, qual seria a forma mais eficiente, levando em conta: se eu apagar via memória, cortar um segmento com elementos desnecessários, o array será reduzido e seu número diminuirá pelo valor dos itens apagados, e no uso seguinte do array, teremos que restaurar o array ao seu estado original; se eu apagar via um método matemático, o processamento do ciclo, que envolve cálculos constantes para atribuir valores às variáveis, o que por sua vez afeta o programa?
1.eu tenho tal pergunta, como posso apagar um elemento de um array através da memória, no momento eu apago um elemento movendo o array matematicamente através de um loop, é isso possível em mql4? Se for possível, dê um exemplo de como isso é feito em uma matriz unidimensional.
2. além disso, qual será a maneira mais eficiente, levando em conta que se você apagar via memória, cortar um array com elementos desnecessários, o array irá reduzir e seu número irá diminuir pelo valor dos itens apagados, e no uso seguinte de um array, teremos que restaurar o array ao seu estado original; se você apagar via um método matemático, o processamento do ciclo, que envolve cálculos constantes para atribuir valores a variáveis, o que por sua vez afeta o programa?
Basta copiar a matriz "em si mesma" e reduzir o tamanho da matriz pelo número de elementos de que não precisa.
Para inserir um único elemento, basta aumentar o tamanho, copiar novamente "para si mesmo" e colar o valor desejado no espaço livre.
Basta copiar a matriz "em si mesma" e reduzir o tamanho da matriz pelo número de elementos desnecessários.
Para inserir um único elemento, basta aumentar o tamanho, copiar novamente "para si mesmo" e colar o valor desejado no espaço livre.
Eu tentei inserir uma matriz tridimensional na função de cópia, não há erros, de modo que esta função pode funcionar com matrizes de diferentes dimensões ou simplesmente tem duplicatas para diferentes dimensões. Como acontece, esta função pode ser usada em vez de uma função de turno, sem necessidade de escrever a sua própria, gostaria de ter pensado nisso antes, como é arriscado copiar um array para si mesmo, está escrito que o resultado pode não ser definido.
Tentei inserir uma matriz tridimensional na função de cópia, sem erros, para que esta função possa funcionar com matrizes de diferentes dimensões ou simplesmente tenha duplicatas para diferentes dimensões. Como acontece, esta função pode ser usada em vez de uma função de turno, sem necessidade de escrever a sua própria, gostaria de ter pensado nisso antes, como é arriscado copiar um array para si mesmo, está escrito que o resultado pode não ser definido.
Ao copiar uma matriz multidimensional, você tem que considerar a dimensionalidade da segunda dimensão e das dimensões subseqüentes. Isto determina o quanto você tem que mudar ao copiar. Simplificando, como entendi em minhas experiências, todos os valores de uma matriz multidimensional estão alinhados em "uma fila" e depois alinhados novamente em "coluna por...".
Em suma, não posso recontar a teoria agora. Terei de verificá-lo novamente, se precisar usá-lo.
Ao copiar uma matriz multidimensional, a dimensionalidade da segunda dimensão e das dimensões subseqüentes deve ser levada em consideração. Isto determina o quanto é necessário mudar ao copiar. Simplificando, como entendi em minhas experiências, todos os valores de uma matriz multidimensional estão alinhados em "uma fila" e depois alinhados novamente em "coluna por...".
Em geral, não posso recontar a teoria agora. Mais uma vez terá que ser verificado se há necessidade de utilizá-lo.
Em C++, não há diferença entre isso
em qualquer um destes casos, haverá uma saída. Como eles se encontram em um bloco de memória e C++ os acessa diretamente, enquanto em nossa memória de concha o acesso é fechado e não há como passar corretamente matrizes de diferentes dimensões em uma função, ou endereçá-las desta forma, a única nuança é que as matrizes multidimensionais em C++ estão dispostas em memória dinâmica, talvez até mesmo dispersa, embora ninguém tenha visto o mapa eletrônico. Então, copiar arrays multidimensionais pelo conceito em si é uma questão muito sutil ou pode não funcionar corretamente?
Tenho um código que não é executado em MQL5 no meu indicador
A questão é que sepreço == STO_LOWHHIGH tudo funciona corretamente, mas sepreço == STO_CLOSECLOSE a função atribui somente a variáveis estáticas
vhigh = 0; vlow = High[i];
... contornando o loop
Tenho um código que não é executado em MQL5 no meu indicador
A questão é que sepreço == STO_LOWHHIGH tudo funciona corretamente, mas se preço == STO_CLOSECLOSE a função atribui somente a variáveis estáticas
... contornando o loop
Algo está errado com os parênteses. Na minha opinião, eles não são de modo algum necessários aqui. Nenhuma delas é necessária.
Ou pelo menos mova os destacados antes do ponto de interrogação para a esquerda.
Em geral, você só precisa entender que ?: operador é equivalente a se mais
Você tem uma condição duas vezes. Uma condição como esta seria suficiente
Ou eu não entendo onde você estava tentando chegar.Há algo de errado com os parênteses. Na minha opinião, eles não são de todo necessários aqui. Nenhum deles é.
Ou pelo menos mova os destacados para a esquerda antes do ponto de interrogação.
Em geral, você só precisa entender que ?: operador é equivalente a se mais
Você tem uma condição duas vezes. Tal condição seria suficiente.
Ou eu não entendo onde você estava tentando chegar.Quero obter estocásticos normais maxHigh e minLow dentro do período K por Low/High e Close/Close
Baixa/alta durante a inicialização funciona bem, mas fechar/fechar não
Há algo de errado com os parênteses. Na minha opinião, eles não são de todo necessários aqui. Nenhum deles é.
Ou pelo menos mova os destacados para a esquerda antes do ponto de interrogação.
Em geral, você só precisa entender que ?: operador é equivalente a se mais
Você tem uma condição duas vezes. Tal condição é suficiente.
Ou eu não entendo onde você estava tentando chegar.Eu não entendi imediatamente, mas se você está falando sério.
não resolve meu problema.