Ciclo operatore 'per' domande - pagina 16

 
RaptorUK:

No, questo è sbagliato . . sbarazzatene. Le posizioni e gli indici sono la stessa cosa e sono da 0 a 9 . . . non c'è niente che sia da 1 a 10 . . . espellilo dal tuo cervello.

Questo deve essere rettificato, subito.

Se gli indici e i numeri di posizione sono identici allora questo è vero...

Dieci biglietti in totale nel pool di ordini di compravendite attive:

i numeri di posizione dei biglietti sono i seguenti: 0,1,2,3,4,5,6,7,8,9

i numeri di posizione dei biglietti indicizzati sono i seguenti: |0|1|2|3|4|5|6|7|8|9|

Se questo è davvero il caso, un numero di posizione del biglietto può essere zero (0).

Si prega di confermare le dichiarazioni di cui sopra o si prega di dichiarare il contrario.


Grazie.

 
WhooDoo22:

Questo deve essere corretto, subito.

Se gli indici e i numeri di posizione sono identici allora questo è vero...

Dieci biglietti in totale nel pool di ordini di compravendite attive:

i numeri di posizione dei biglietti sono i seguenti: 0,1,2,3,4,5,6,7,8,9

i numeri di posizione dei biglietti indicizzati sono i seguenti: |0|1|2|3|4|5|6|7|8|9|

Se questo è il caso, un numero di posizione del biglietto può essere zero (0).

Ne abbiamo già parlato... un ordine ha un numero di ticket... un ordine ha anche una posizione nel pool di trading per gli ordini aperti/in sospeso o nel pool storico per gli ordini chiusi.

Se abbiamo 10 ordini aperti le posizioni degli ordini sono da 0 a 9 o 0,1,2,3,4,5,6,7,8,9 o 0|1|2|3|4|5|6|7|8|9| fine, Fin, done

 
RaptorUK:

Ci siamo già passati. . . . un ordine ha un numero di ticket . . . un ordine ha anche una posizione nel pool di trading per gli ordini aperti/pendenti o nel pool storico per gli ordini chiusi.

Se abbiamo 10 ordini aperti le posizioni degli ordini sono da 0 a 9 o 0,1,2,3,4,5,6,7,8,9 o 0|1|2|3|4|5|6|7|8|9| fine, Fin, done


Grazie.
 

Ciao forum della comunità MQL4,

Attualmente, cerco di salvare i valori dei prezzi per le chiusure degli ordini. Ho provato a includere la funzione OrderProfit() ma non mi piace. No-no :O .Lo userò se tutte le altre vie falliscono. Vorrei salvare il prezzo di chiusura dell'ordine :) invece uso la funzione OrderClosePrice(). Una volta salvati tutti i prezzi di chiusura degli ordini, potrei raggruppare i risultati in coppie. Una volta raggruppate le coppie, aggiungere ogni gruppo e poi dividere ogni gruppo per due per ricavarne la media. Una volta che tutte le coppie sono state calcolate come media, raggruppare nuovamente i risultati e ripetere il processo. Una volta che tutte le coppie sono state calcolate e rimane solo un totale, sottraggo lo spread da questo totale e se il risultato è maggiore o uguale (>=) al prezzo di apertura dell'ordine, un booleano rimane falso. Se il risultato è inferiore al prezzo di apertura dell'ordine, un booleano verrebbe inizializzato come vero.

Qualcuno ha già percorso questa strada? Se sì, potete fornire alcuni avvertimenti da tenere a mente?

Grazie a tutti

 
WhooDoo22:

Qualcuno ha già percorso questa strada? Se sì, può fornire alcuni avvertimenti da tenere a mente?

Non fatelo . . . leggete quello che vi serve dallo History pool è tutto lì dentro. Mantenete le cose semplici . . . se salvate i dati in un array dovete anche salvarli su file così in caso di crash di MT4 o del PC potete recuperarli . . . ecc, ecc, ecc

TESTA
 

Ah sì, la piscina della storia. "Non c'è dubbio!". Sei proprio un professionista Simon! Hahaha! ;) Perché non ci ho pensato prima, vero?

Farai di me una "rockstar della codifica MQL4"! Hahahaha!

Grazie, grazie

 

Simon,

Ho esaminato la documentazione per gli operatori 'Break' e 'Continue'. Per quanto posso vedere, un operatore 'Break' termina un ciclo 'while' o 'for' passando il controllo del programma alla prossima linea di codice sotto il ciclo 'while' o 'for'. Un operatore 'Continue' interrompe la lettura del corpo dell'operatore 'while' o 'for' e passa il controllo del programma all'espressione in un ciclo 'while' o all''Espressione 2' se un ciclo 'for' non possiede l''Espressione 3' o all''Espressione 3' se il ciclo 'for' possiede l''Espressione 3'.

Quali sono i vostri pensieri riguardo a questo?

Grazie a tutti

 
WhooDoo22:

Simon,

Ho esaminato la documentazione per gli operatori 'Break' e 'Continue'. Per quanto posso vedere, un operatore 'Break' termina un ciclo 'while' o 'for' passando il controllo del programma alla prossima linea di codice sotto il ciclo 'while' o 'for'. Un operatore 'Continue' interrompe la lettura del corpo dell'operatore 'while' o 'for' e passa il controllo del programma all'espressione in un ciclo 'while' o all''Espressione 2' se un ciclo 'for' non possiede l''Espressione 3' o all''Espressione 3' se il ciclo 'for' possiede l''Espressione 3'.

Quali sono i vostri pensieri al riguardo?

Grazie

Tutto sommato: usate continue all'interno di un ciclo per saltare indietro al punto di ingresso. usate break per uscire immediatamente dal ciclo.

Un'altra cosa, break e continue sono operazioni di ottimizzazione del codice, non ne avete mai veramente bisogno. Inoltre usateli con cura perché possono portare a bug difficili da rintracciare.

Come quasi sempre nella programmazione, un semplice esempio dice più di 1000 parole:

for(int i=0;i<10;i++){
 Print("1");
 continue;
 Print(2);
}

//Prints: 1111111111

for(int i=0;i<10;i++){
 Print("1");
 break;
 Print(2);
}

//Prints: 1

 

Michael, grazie per la tua spiegazione in parole e in codice. Entrambi sono esplicativi.

Grazie a voi