Às vezes é necessário classificar os dados na MQL4 sem tocar nos próprios dados. Não há indicadores na MQL4, também não há estruturas.
A variante alternativa é criar posições de matriz[][2], copiar o parâmetro a ser classificado pelo índice zero e dar o primeiro índice para as posições. Em seguida, classifique a matriz com a função padrão AgraSort.
Alternativamente, você pode criar um array Posições[][2], copiar o parâmetro a ser classificado pelo índice zero e dar o primeiro índice para as posições. Em seguida, classifique a matriz com a função padrão AgraSort.
Você poderia converter meu roteiro, na página anterior, usando seu método? Eu não entendo a descrição.
hrenfx: Você poderia converter meu roteiro, na página anterior, usando seu método? Eu não entendo a descrição.
Gostei do caminho sugerido por https://www.mql5.com/ru/users/candid. Usado para torná-lo um pouco mais complicado. Vou usar um mais simples. Você pode classificar por qualquer atributo. Muito conveniente.
hrenfx: Você poderia converter meu roteiro, na página anterior, usando seu método? Eu não entendo a descrição.
Não vou lhe dar o roteiro completo, mas vou lhe dar um esboço da função, deve ser o suficiente para entender a idéia
void SortArrayINT( int& Array[], int& Positions[][]) {
int i, Size = ArraySize(Array);
ArrayResize(Positions, Size);
for (i = 0; i < Size; i++) {
Positions[i][0] = Array[i];
Positions[i][1] = i;
}
ArraySort(Positions);
return;
}
Agora, Posições[0][1] contém o índice do menor elemento Array, Posições[1][1] contém o índice do próximo elemento Array maior e Posições[i][1] contém o índice do i-ésimo elemento.
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.
Às vezes é necessário classificar os dados na MQL4 sem tocar nos próprios dados. Não há indicadores na MQL4, também não há estruturas.
A variante alternativa é criar posições de matriz[][2], copiar o parâmetro a ser classificado pelo índice zero e dar o primeiro índice para as posições. Em seguida, classifique a matriz com a função padrão AgraSort.
A vantagem é que o AgraSort utiliza um algoritmo de classificação eficiente, além disso, ele funciona em código nativo.
Alternativamente, você pode criar um array Posições[][2], copiar o parâmetro a ser classificado pelo índice zero e dar o primeiro índice para as posições. Em seguida, classifique a matriz com a função padrão AgraSort.
Você poderia converter meu roteiro, na página anterior, usando seu método? Eu não entendo a descrição.
Gostei do caminho sugerido por https://www.mql5.com/ru/users/candid. Usado para torná-lo um pouco mais complicado. Vou usar um mais simples. Você pode classificar por qualquer atributo. Muito conveniente.
Você poderia converter meu roteiro, na página anterior, usando seu método? Eu não entendo a descrição.
Não vou lhe dar o roteiro completo, mas vou lhe dar um esboço da função, deve ser o suficiente para entender a idéia
Agora, Posições[0][1] contém o índice do menor elemento Array, Posições[1][1] contém o índice do próximo elemento Array maior e Posições[i][1] contém o índice do i-ésimo elemento.
Não vou escrever o roteiro inteiro, mas vou lhe dar um esboço da função, deve ser o suficiente para entender a idéia.
Eu não conhecia as peculiaridades de trabalhar com arrays multidimensionais na MQL4. Obrigado, o método funciona: