Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1422
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
Não sei por que o Consultor Especialista no Teste de Estratégia funciona bem, faz pedidos, etc., mas na conta real, embora o robô esteja ativo, os pedidos não são feitos
Você precisa ler a revista, pode haver uma resposta
Você pode me dizer como conseguir isso -
entenda isto -
Você pode me dizer como conseguir isso -
entenda isto -
Uma conversão do tipo explícita.
Você também pode arredondar um número inteiro de um não-inteiro, mas o dobro será 18,0
Então vou repetir a pergunta.
A expressão
if (izmb>b ||izmb<b || izms>s || izms<s)
é idêntico a este:
if (izmb!=b || izms!=s)
E se você quiser armazenar algo, faça-o em uma variável global.
Este é o que é declarado fora do corpo da função.
Bom dia a todos vocês!
Pergunta sobre a MQL4. Aqui está um código simples
Ele cria uma matriz bidimensional e a preenche com valores. Há duas funções no código que me interessam - ArrayFill(LoY,0,31,0.5555); e ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); De acordo com o Manual de Referência, ambas as funções funcionam com arrays bidimensionais.ArrayFill() trabalha estritamente em matrizes preenchidas horizontalmente, o livro de referência especifica que ele preenche a matriz com valores estritamente da esquerda para a direita (não de cima para baixo ou de baixo para cima). ArraySort() classifica uma matriz bidimensional pela primeira dimensão. A Referência não diz se ela ordena matrizes preenchidas horizontalmente ou verticalmente. A julgar pela execução do meu código, ArraySort() classifica apenas as matrizes preenchidas verticalmente . Parece que estas duas funções não podem lidar com uma e a mesma matriz em um programa.
P. É importante para mim, que a função ArraySort() funcione corretamente . Então, o ArraySort() pode ser configurado para classificar matrizes preenchidas horizontalmente, com as quais o ArrayFill() funciona? Ou a função de triagem da MQL5, que funciona na MQL4, pode me ajudar em vez disso? Ou existe uma função que converte uma matriz preenchida horizontalmente com todos os seus valores para uma matriz vertical, em uma palavra, como fazer meu programa ordenar uma matriz horizontalmente
Nota. Usar um loop ao invés de ArrayFill() não funciona para mim.
Obrigado pela ajuda.
Bom dia a todos vocês!
Pergunta sobre a MQL4. Aqui está um código simples
Ele cria uma matriz bidimensional e a preenche com valores. Há duas funções no código que me interessam - ArrayFill(LoY,0,31,0.5555); e ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); De acordo com o Manual de Referência, ambas as funções funcionam com arrays bidimensionais.ArrayFill() trabalha estritamente em matrizes preenchidas horizontalmente, o livro de referência especifica que ele preenche a matriz com valores estritamente da esquerda para a direita (não de cima para baixo ou de baixo para cima). ArraySort() classifica uma matriz bidimensional pela primeira dimensão. A Referência não diz se ela ordena matrizes preenchidas horizontalmente ou verticalmente. A julgar pela execução do meu código, ArraySort() classifica apenas as matrizes preenchidas verticalmente . Parece que estas duas funções não podem lidar com uma e a mesma matriz em um programa.
P. É importante para mim, que a função ArraySort() funcione corretamente . Então, o ArraySort() pode ser configurado para classificar matrizes preenchidas horizontalmente, com as quais o ArrayFill() funciona? Ou a função de triagem da MQL5, que funciona na MQL4, pode me ajudar em vez disso? Ou existe uma função que converte uma matriz preenchida horizontalmente com todos os seus valores para uma matriz vertical, em poucas palavras, como fazer meu programa classificar uma matriz horizontalmente?
Nota. Usar um loop ao invés de ArrayFill() não funciona para mim.
Obrigado por sua ajuda.
Você notou o
nota
Amatriz multidimensional ao processar com ArrayFill() aparece como unidimensional, por exemplo, a matriz[2][4] é processada como matriz[8], portanto, ao trabalhar com esta matriz é aceitável especificar um índice de elemento inicial igual a 5. Assim, chamar ArrayFill(array, 5, 2, 3.14) para array[2][4] irá preencher os elementos de array[1][1] e array[1][2] com 3.14.
Esta seqüência
irá preencher a matriz com exatamente uma linha.
Quanto à verticalidade/horizontalidade, é assim que você manteria sua cabeça olhando para a entrada. Olhe para a mesa de excelência e tudo se tornará claro. Se a coluna "A" for preenchida com valores, você obtém uma matriz unidimensional. Como é organizado? Certo... horizontalmente, porque estou olhando para ele deitado no sofá.........
Você já notou o
nota
Esta linha
irá preencher a matriz com exatamente uma linha.
Quanto à verticalidade/horizontalidade, é assim que você manterá sua cabeça olhando para a entrada. Olhe para a mesa de excelência e tudo se tornará claro. Se a coluna "A" for preenchida com valores, você obtém uma matriz unidimensional. Como é organizado? Certo... horizontalmente, porque estou olhando para ele deitado no sofá.........
Obrigado pela resposta. Tem tudo o que você escreveu. Mas não entendi o significado do que você escreveu em termos do meu problema.
Por matriz bidimensional horizontal em meu código quero dizer quando há 2 linhas sob o índice 0 ou 1 e colunas sob os índices 0 a 30. A primeira dimensão é designada como[0][0],[0][1],[0][2], ...[0][30] A segunda dimensão é designada por[1][0],[1][1] [ 1],[1][2], ...[1][30]
Por matriz bidimensional vertical em meu código quero dizer quando há 31 linhas indexadas de 0 a 30 e 2 colunas indexadas de 0 e 1. A primeira dimensão é designada como[0][0],[1[0],[2][0], ...[30][0] A segunda dimensão é designada por[0][1],[1][1],[2][1], ...[30][1]
Se você executar meu código, a matriz será preenchida verticalmente. E a função ArraySort() irá ordenar a matriz como deve ser.
PERGUNTA Por que a função ArrayFill() não funcionará neste caso ? Afinal, eu pedi para preencher a primeira dimensão da matriz (31 itens) com os mesmos valores 0,5555 no vigésimo minuto.
Obrigado por sua ajuda.
Eu tentaria isso.
Obrigado por sua ajuda. Vou tentar.
a expressão
é idêntico a este:
E se você quiser armazenar algo, faça-o em uma variável global.
Este é o que é declarado fora do corpo da função.
Queríamos verificar as condições de busca para entrar na EA não a cada tic, mas somente se outra ordem for aberta ou fechada por outra EA ou manualmente (a fim de evitar carga desnecessária no processador). É por isso que precisamos verificar se o número de pedidos corresponde a cada carrapato.
Podemos usar uma variável estática ? O programa funcionará de tal forma?