Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1686
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
es mayor o igual que, porque también hay que tener en cuenta el primer elemento de la matriz, y su índice en la matriz es cero.
No, está bien. Si no hay posiciones, entonces i=Total de órdenes()-1 será igual a -1. Y la condición del bucle i>=0 no se ejecutará inmediatamente. Y el programa no entrará en el bucle.
No entiendo a qué conjunto se refiere todo el mundo aquí. Si OrdersTotal no funciona así.
Los pedidos están esencialmente en un array en el programa, sólo que no lo vemos. OrdersTotal es igual a ArraySize, y muestra el número total de elementos.
En un array, el índice del primer elemento siempre empieza por cero, y el tamaño del último elemento menos uno.
Los pedidos están esencialmente en un array en el programa, sólo que no lo vemos. OrdersTotal es igual a ArraySize, y muestra el número total de elementos.
El índice del primer elemento de la matriz es siempre cero, mientras que el tamaño del último, respectivamente, es menos uno.
Qué diferencia hay en la ubicación de los pedidos, si OrdersTotal no es un array. Devuelve el número de pedidos, no el índice del array.
Pero eso no es correcto, resulta que la "suma de órdenes" es 1, lo que significa que 1 orden siempre será excluida del bucle.
los pedidos están en una lista numerada... La lista cuenta desde 0...
Por ejemplo
número de serie 0, tipo de compra, lote 0.1
número de serie 1, tipo de venta, lote 1
número de serie 2, tipo de venta, lote 0,5
número de secuencia 3, tipo de compra, lote 0,16
Si ahora llama a OrdersTotal() será = 4
Pero si queremos navegar por todas las filas de la lista, tenemos que pasar por los números 0 1 2 3, el número 4 no está aquí... aunque hay 4 órdenes.
Así que se hace un truco, al armar un bucle, menos 1 en el número de órdenes, eso es...
Qué diferencia hay en la ubicación de los pedidos si OrdersTotal no es un array. Devuelve el número de pedidos, no el índice del array.
Qué diferencia hay en la ubicación de los pedidos si OrdersTotal no es un array
Pero esto no es correcto, se obtiene "suma de pedidos" - 1, es decir, siempre se excluirá 1 pedido del bucle.
Si no te gusta el "-1", puedes hacer esto
Los pedidos están esencialmente en un array en el programa, sólo que no lo vemos. OrdersTotal es igual a ArraySize, y muestra el número total de elementos.
En un array, el índice del primer elemento siempre empieza por cero, y el tamaño del último - menos uno.
Así que el índice total y el índice de matriz son cosas diferentes, ¿por qué crees que es lo mismo? Para crear un array con 1 índice, escribe 1, no 0, (int ar[1]), por lo que ArraySize( ar ) también devuelve 1, no 0.
Si no te gusta el "-1", puedes
eso no es correcto... un pedido con el número 0 se saltará...
La forma correcta es la siguiente