Ciclo operatore 'per' domande - pagina 14

 
RaptorUK:

Tuttavia, questo non funziona come previsto perché il concetto è fatalmente difettoso . . . finché non si capisce perché non ha senso continuare . . .


Come ho detto . . .
 

Simon,

Credo di aver capito.

Ho a che fare con due indici di posizione dell'ordine. Il primo indice di posizione dell'ordine è un "Acitve order index" e il secondo indice di posizione dell'ordine è un "History order index".

Il programma sta stampando un numero di biglietto d'ordine per la chiusura di un ordine diverso nell'"Indice storico degli ordini". Devo salvare il biglietto d'ordine attuale per selezionare il numero di biglietto appropriato affinché il programma esegua la funzione Print() includendo il corretto tempo di chiusura del numero di biglietto d'ordine.

Grazie.

 

Simon,

Desidero leggere la tua risposta e rispondere in modo da poter completare altri compiti. Spero di continuare presto questa discussione. Molto è stato fatto.

Grazie.

 
Siete i benvenuti... prendetevi il vostro tempo, lasciate che affondi, IMPARATE.
 

Sì, credo che sto imparando molto, dentro e fuori il forum MQL4. Sì, coprirò anche alcune basi. Haha ;)

Grazie mille.

 

Simon,

Ho esaminato gli array per cambiare un po' di marcia. Questo è quello che credo di aver imparato riguardo agli array a più dimensioni.

Gli array possono essere uno, due, tre o quattro dimensioni. Sono indicizzati. Gli indici iniziano con zero e continuano (esempio: 0,1,2,3,4)

Gli indici si presentano così, |0|1|2|3|4|...

Un esempio di un array bidimensionale sarebbe così-

int two_dim_array[5,2][4,3];

Un array bidimensionale assomiglia un po' a una scacchiera. Se avete mai giocato a scacchi credo che siate d'accordo che i pezzi sono mossi in questo modo, "sposta il re in d2" o "sposta la torre in h4".

Le dimensioni degli array che coinvolgono più di una dimensione sono semplicemente ulteriori "scacchiere virtuali" ;)

Un esempio di un array tridimensionale sarebbe così-

int three_dim_array[5,2][3,6][7,5]; // each "[]" aka index represents a virtual chess board. (three indexes/virtual chessboards)

Credo che questo dovrebbe bastare per ora. Qual è la vostra risposta a ciò che credo di aver imparato?


Il problema di fondo che è causato dal modo in cui hai codificato il tuo ciclo while . . . il problema che stava causando Invalid ticket per la funzione OrderClose e Unknown ticket 2 per OrderModify non hai risolto la causa ma hai affrontato il sintomo.

Desidero discutere questo problema con voi in dettaglio da solo, permettendomi di concentrare i miei pensieri sulla risoluzione del problema senza distrazioni da altri punti.


Grazie.

 
WhooDoo22:

Credo che questo dovrebbe bastare per ora. Qual è la vostra risposta a ciò che credo di aver imparato?

Non lo so, cosa hai imparato? Sai cos'è un ordinamento a bolle? Sai come dichiarare correttamente un array? Sai come dichiarare erroneamente un array?


Ho imparato l'ordinamento a bolle più di 30 anni fa, non ricordo i dettagli ma ricordo che un modo per ordinare un array è usare un ordinamento a bolle.
 

Simon,


"sai come dichiarare correttamente un array?"

Ho dichiarato gli array in questa forma (sotto SRC è un esempio di array unidimensionale)

int one_dim_vector[]={0,0,0,0,0};  // one dimensional array declaration;


"Ho imparato l'ordinamento a bolle più di 30 anni fa".

Ho appena compiuto 22 anni lo scorso ottobre, quindi hai un paio d'anni più di me, signore;)

Ordinamento a bolle. Hmm, darò sicuramente un'occhiata a questo!


Il problema di fondo che è causato dal modo in cui hai codificato il tuo ciclo while . . . il problema che stava causando Invalid ticket per la funzione OrderClose e Unknown ticket 2 per OrderModify non l'hai risolto perché hai affrontato il sintomo.

Desidero discutere questo problema con voi in dettaglio da solo, permettendomi di concentrare i miei pensieri sulla risoluzione del problema senza distrazioni da altri punti.


Grazie.
 

Simon,

Ho dichiarato tutte le variabili, inizializzato tutti gli array ecc. Sono pronto per iniziare a scrivere il codice per il mio ordine di invio. Desidero scrivere il codice in modo diverso per "far girare la palla". Il codice deve selezionare un ordine (attualmente non so quale ordine deve scegliere). Avete menzionato che un EA deve essere in grado di apparire su un grafico e iniziare il trading indipendentemente dall'attività di trading del conto corrente. Cosa richiede questo? Sono sicuro di poterlo codificare.

Grazie.

 
WhooDoo22:

Simon,

Ho dichiarato tutte le variabili, inizializzato tutti gli array ecc. Sono pronto per iniziare a scrivere il codice per il mio ordine di invio. Desidero scrivere il codice in modo diverso per "far girare la palla". Il codice deve selezionare un ordine (attualmente non so quale ordine deve scegliere). Avete menzionato che un EA deve essere in grado di apparire su un grafico e iniziare il trading indipendentemente dall'attività di trading del conto corrente. Cosa richiede questo? Sono sicuro di poterlo codificare.

Grazie.

Se non riesci a capire cosa è necessario non lo codificherai mai... capirlo prima, questa è la parte difficile, codificare è facile in confronto. Non pensare sempre al "codice"... è un errore comune da fare... ma
dovete disintossicarvi da esso.

Se il tuo codice non fa nulla con gli ordini aperti perché sono lasciati a correre al TP o SL allora il tuo codice non ha bisogno di preoccuparsi di eventuali ordini aperti quando viene avviato . . . . D'altra parte, se il tuo codice gestisce gli ordini aperti in qualche modo, per esempio il trailing SL, allora deve prima trovare tutti gli ordini aperti che gli appartengono e gestire il loro trailing SL come farebbe per un ordine che ha appena piazzato... hai un diagramma di flusso per l'EA che stai cercando di codificare?