Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1409
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
Uma pergunta sobre mql4, mais especificamente sobre a função ArraySort()
Aqui está meu código
Quando LoY[0][0] tem o valor Bid( 1,6134) após a ordem ter sido aberta, a função ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND) ordenou o array em ordem ascendente pela primeira dimensão e moveu o elemento do array com o maior valor para o topo do array. Assim, LoY[0][0] junto com seu valor se torna LoY[30][0] na matriz ordenada em ordem ascendente. Isto é lógico e, portanto, estou de acordo com ele.
O que, em minha opinião, não é lógico ou aceitável para mim? Por que o ArraySort() LoY[15][0] colocou 0 sob o índice, apesar de seu valor (1,61040) ser igual aos valores de todos os outros itens do array, exceto o trigésimo. O mesmo não é claro, porque o ArraySort()LoY[30][0] colocou o índice 15, apesar de seu valor (1,61040) ser igual aos valores de todos os outros elementos do array, exceto o trigésimo.
Uma pergunta: como fazer um elemento com índice 0 ser LoY[1][0] neste tick , um elemento com índice 15 serLoY[15][0] e um elemento com índice 29 ser LoY[30][0]
. Em outras palavras, como fazer uma função para não ordenar mais elementos com o mesmo valor? Não é lógico e sem sentido.
Obrigado por sua ajuda.
Este é provavelmente o algoritmo de classificação. Há algumas permutações dos elementos da matriz.
Tente outras opções de ordenação.
Este é provavelmente o algoritmo de classificação. Há algumas permutações dos elementos da matriz.
Tente outras opções de ordenação.
Muito obrigado pelo conselho. Você poderia me dizer se existem outras opções de ordenação em mql4? Em caso afirmativo, onde podem ser encontrados no diretório?
experimente:
embora a função seja para uma matriz unidimensional, mas pode ser redesenhada
experimente:
É verdade que a função é para uma matriz unidimensional, mas ela pode ser retrabalhada.
Muito obrigado.
Uma palavra de conselho, por favor,
O código procura por gráficos abertos e cria uma etiqueta com o nome do símbolo, mas se dois gráficos tiverem o mesmo símbolo,
O que estou fazendo de errado?
Uma palavra de conselho, por favor,
O código procura por gráficos abertos e cria uma etiqueta com o nome do símbolo, mas se dois gráficos tiverem o mesmo símbolo,
O que estou fazendo de errado?
Os IDs dos gráficos (ChartID()) do mesmo símbolo são diferentes. Utilize-os.
Os identificadores ChartID() do mesmo símbolo são diferentes. Utilize-os.
ChartFirst()+i
ou seja, passar por todos os gráficos abertos
Ou eu o entendi mal? Há alguma forma de deixar claro, sob a forma de código?
Muito estranho, em todos os novos gráficos abertos coloca uma marca, apenas um gráfico é ignorado (
Leia cuidadosamente a documentação e o código de exemplo. Seu laço não está organizado corretamente.
Não me diga isso por e enquanto os laços funcionam da mesma maneira. Esse não é o problema, mas sim as linhas destacadas.