Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1686
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
è maggiore o uguale a, perché anche il primo elemento della matrice deve essere preso in considerazione, e il suo indice nella matrice è zero.
No, va bene. Se non ci sono posizioni, allora i=OrdersTotal()-1 sarà uguale a -1. E la condizione di loop i>=0 non sarà eseguita immediatamente. E il programma non entrerà nel ciclo.
Non capisco a quale matrice tutti si riferiscono qui. Se OrdersTotal non funziona così.
Gli ordini sono essenzialmente in un array nel programma, solo che non lo vediamo. OrdersTotal è uguale a ArraySize, e mostra il numero totale di elementi.
In una matrice, l'indice del primo elemento inizia sempre con zero, e la dimensione dell'ultimo elemento meno uno.
Gli ordini sono essenzialmente in un array nel programma, solo che non lo vediamo. OrdersTotal è uguale a ArraySize, e mostra il numero totale di elementi.
L'indice del primo elemento della matrice è sempre zero, mentre la dimensione dell'ultimo, rispettivamente, è meno uno.
Che differenza fa dove si trovano gli ordini, se OrdersTotal non è un array. Restituisce il numero di ordini, non l'indice dell'array.
Ma questo non è corretto, risulta che "somma degli ordini" è 1, il che significa che 1 ordine sarà sempre escluso dal ciclo.
gli ordini sono in una lista numerata... La lista conta alla rovescia da 0...
Per esempio
numero di serie 0, tipo di acquisto, lotto 0.1
numero di serie 1, tipo di vendita, lotto 1
numero di serie 2, tipo di vendita, lotto 0,5
numero di sequenza 3, tipo di acquisto, lotto 0,16
Se ora chiamate OrdersTotal() sarà = 4
Ma se vogliamo navigare attraverso tutte le righe della lista, dobbiamo passare attraverso i numeri 0 1 2 3, il numero 4 non è qui... anche se ci sono 4 ordini.
Così si fa un trucco, quando si mette insieme un ciclo, meno 1 sul numero di ordini, ecco fatto...
Che differenza fa dove si trovano gli ordini se OrdersTotal non è un array. Restituisce il numero di ordini, non l'indice dell'array.
Che differenza fa dove si trovano gli ordini se OrdersTotal non è un array
Ma questo non è corretto, si ottiene "somma degli ordini" - 1, cioè 1 ordine sarà sempre escluso dal ciclo.
Se non ti piace "-1", puoi fare così
Gli ordini sono essenzialmente in un array nel programma, solo che non lo vediamo. OrdersTotal è uguale a ArraySize, e mostra il numero totale di elementi.
In una matrice, l'indice del primo elemento inizia sempre con zero, e la dimensione dell'ultimo - meno uno.
Quindi il totale e l'indice dell'array sono cose diverse, perché pensi che sia la stessa cosa? Per creare un array con 1 indice, digitate 1, non 0, (int ar[1]), quindi anche ArraySize( ar ) restituisce 1, non 0.
Se non ti piace "-1", puoi
non è corretto... un ordine con il numero 0 sarà saltato...
Il modo corretto è -