Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1409
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Una pregunta sobre mql4, más concretamente sobre la función ArraySort()
Aquí está mi código
Cuando LoY[0][0] ha obtenido el valor Bid( 1.6134) después de abrir la orden, la función ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND) ha ordenado la matriz en orden ascendente por la primera dimensión y ha movido el elemento de la matriz con el mayor valor a la parte superior de la matriz. Así, LoY[0][0] junto con su valor se convierte en LoY[30][0] en el array ordenado de forma ascendente. Esto es lógico y por lo tanto estoy de acuerdo con ello.
¿Qué es lo que, en mi opinión, no es lógico o aceptable para mí? ¿Por qué ArraySort() LoY[15][0] colocó el 0 bajo el índice, a pesar de que su valor (1,61040) es igual a los valores de todos los demás elementos del array excepto el trigésimo? Lo mismo no está claro, por qué ArraySort()LoY[30][0] ha puesto el índice 15, a pesar de que su valor (1,61040) es igual a los valores de todos los demás elementos de la matriz excepto el trigésimo.
UNA PREGUNTA: ¿cómo hacer que un elemento con índice 0 sea LoY[1][0] en este tick , un elemento con índice 15 seaLoY[15][0] y un elemento con índice 29 sea LoY[30][0]
. En otras palabras, cómo hacer que una función no ordene elementos con el mismo valor en adelante? No es lógico ni tiene sentido.
Gracias por su ayuda.
Este es probablemente el algoritmo de clasificación. Hay algunas permutaciones de los elementos de la matriz.
Pruebe otras opciones de clasificación.
Este es probablemente el algoritmo de clasificación. Hay algunas permutaciones de los elementos de la matriz.
Pruebe otras opciones de clasificación.
Muchas gracias por los consejos. ¿Podría decirme si hay otras opciones de clasificación en mql4? Si es así, ¿dónde se pueden encontrar en el directorio?
pruébalo:
aunque la función es para un array unidimensional, pero se puede rediseñar
pruébalo:
Es cierto que la función es para un array unidimensional, pero se puede rehacer.
Muchas gracias.
Un consejo, por favor,
El código busca los gráficos abiertos y crea una etiqueta con el nombre del símbolo, pero si dos gráficos tienen el mismo símbolo,
entonces sólo crea una etiqueta en un gráfico. ¿Qué estoy haciendo mal?
Un consejo, por favor,
El código busca los gráficos abiertos y crea una etiqueta con el nombre del símbolo, pero si dos gráficos tienen el mismo símbolo,
sólo crea la etiqueta en un gráfico. ¿Qué estoy haciendo mal?
Los ID de los gráficos (ChartID()) del mismo símbolo son diferentes. Utilízalos.
Los identificadores ChartID() del mismo símbolo son diferentes. Utilízalos.
ChartFirst()+i
es decir, pasar por todas las cartas abiertas
¿O te he entendido mal? ¿Hay alguna forma de aclararlo, en forma de código?
Muy extraño, en todos los nuevos gráficos abiertos pone una marca, sólo un gráfico es ignorado (
Lea atentamente la documentación y el código de ejemplo. Su bucle no está organizado correctamente.
No me digas que los bucles for y while funcionan igual. Ese no es el problema, sino las líneas resaltadas.