Errori, bug, domande - pagina 1432

 
Alexey Kozitsyn:

La funzione OrderGetTicket() restituisce il biglietto dell'ordine il cui indice le è stato passato.

Per la seconda domanda, OrderGetTicket() restituisce sia il biglietto che seleziona l'ordine per lavorare con esso.

Grazie, capitano O. E come è definito l'ordine degli indici nella lista di tutti gli ordini?

OrderGetTicket restituisce il biglietto d'ordine con il numero passato nella lista, non il numero dell'ordine attualmente selezionato di cui chiedevo.

 
Ilya Malev:

Grazie, capitano O. E come viene determinato l'ordine degli indici nella lista di tutti gli ordini?

OrderGetTicket restituisce il biglietto d'ordine con il numero passato nella lista, non il numero dell'ordine attualmente selezionato di cui chiedevo.

Per quanto mi ricordo il più vecchio (primo) = 0 ecc. Controlla, è un lavoro di 5 minuti.

Questo è l'ordine che avete selezionato. Come è stato selezionato? Per numero o per biglietto?

In breve, ci sono due modi: per numero e per biglietto. Finora nella mia pratica, non ci sono state situazioni in cui questo non sarebbe stato sufficiente.

 
Alexey Kozitsyn:

Controlla, ci vorranno solo cinque minuti.

Naturalmente posso controllare io stesso. Non scriverei qui se risolvesse il problema. Hai bisogno di una conferma da parte degli sviluppatori, perché il risultato del controllo può essere situazionale o cambiare arbitrariamente in futuro.

>>Il tuo ordine è stato selezionato. Come è stato selezionato? Per numero o per biglietto?

Si tratta di una domanda aggiuntiva in MT4, non mi interessava come veniva selezionato ma avevo bisogno di sapere il suo biglietto per farci qualcosa al di fuori della funzione che lo ha selezionato. In MT5 sembra che dovrà essere risolto programmaticamente, così come molte altre cose.

Alexey Kozitsyn:

Finora non c'erano situazioni nella mia pratica in cui non era sufficiente.

Ci sono molte situazioni di questo tipo nella mia pratica. Succede ogni volta che si vuole risparmiare sulla dimensione del codice in termini di parametri passati quando si chiamano funzioni che si occupano di ordini.
 

Non solo, a proposito: immaginate una situazione in cui state lavorando con l'ordine che avete appena selezionato, ma avete bisogno di chiamare una funzione per ottenere informazioni da altri ordini.

Quando questa funzione viene chiamata, dovrete selezionare di nuovo l'ordine, perché questa funzione modifica la selezione corrente ottenendo alcune informazioni da altri ordini.

Sarebbe logico in tutte queste funzioni ricordare la selezione dell'ordine corrente prima di eseguirle e riselezionarla prima di tornare, in modo che la selezione dell'ordine corrente non cambi quando tali funzioni vengono chiamate, il che può aiutare ad evitare alcuni errori logici difficili da trovare nel codice. Ma in MT5 questo semplicemente non è possibile perché non c'è un analogo della funzione OrderTicket e dobbiamo inventare un wrapper di programma sotto forma di una classe speciale per la selezione dell'ordine e per ottenere il suo ticket.

 
Ilya Malev:

Non solo, a proposito: immaginate una situazione in cui state lavorando con un ordine che avete appena selezionato, ma avete bisogno di chiamare una funzione per ottenere informazioni da altri ordini.

Dopo aver chiamato questa funzione, dovrete selezionare di nuovo l'ordine, perché questa funzione modifica la selezione corrente ottenendo alcune informazioni da altri ordini.

Sarebbe logico in tutte queste funzioni ricordare la selezione dell'ordine corrente prima di eseguirle e riselezionarla prima di tornare, in modo che la selezione dell'ordine corrente non cambi quando tali funzioni vengono chiamate, il che può aiutare ad evitare alcuni errori logici difficili da trovare nel codice. Ma in MT5 questo semplicemente non è possibile perché non c'è un analogo della funzione OrderTicket e dobbiamo inventare un wrapper di programma sotto forma di una classe speciale per la selezione dell'ordine e per ottenere il suo ticket.

Non vedo il problema. Abbiamo selezionato l'ordine. Abbiamo ricordato il suo biglietto. Abbiamo bisogno di un altro ordine - abbiamo trovato un altro ordine. Lo elaboriamo. Abbiamo bisogno di tornare all'ordine precedente, usiamo OrderSelect(). Questo è tutto.
 
Alexey Kozitsyn:
Non vedo il problema. Ha scelto un ordine. Si è ricordato del suo biglietto. Bisogno di un altro ordine - trovato un altro ordine. Lo elaboriamo. Abbiamo bisogno di tornare all'ordine precedente, usiamo OrderSelect(). Questo è tutto.
Se il problema è qualcosa che non può essere aggirato e fatto in un altro modo, allora non c'è problema. Ma non c'è nemmeno un analogo della funzione OrderTicket di MQL4 che sia utile.
 
Ilya Malev:
Se il problema è qualcosa che non può essere aggirato e fatto in un altro modo, allora non c'è problema. Ma non c'è nemmeno un analogo dell'utile funzione OrderTicket di MQL4.
Se ne hai davvero bisogno, sai dove chiedere. Tuttavia, è improbabile che tu sia felice lì.
 
MT4, build 910. Nessuna retrocompatibilità con la build precedente. Do un file indicatore compilato a una persona nella build 910 e non può lanciarlo nella build 902 con un errore:

ha una versione più recente non supportata, aggiorna il tuo terminale client


È così che sarà ora?

 
Artyom Trishkin:
MT4, build 910. Nessuna retrocompatibilità con la build precedente. Do un file indicatore compilato a una persona nella build 910 e non può lanciarlo nella build 902 con un errore:

ha una versione più recente non supportata, aggiorna il tuo terminale client


È così che sarà ora?

Era lo stesso in MT5 quando hanno introdotto i tick.
 
Artyom Trishkin:
MT4, build 910. Nessuna retrocompatibilità con la build precedente. Do un file indicatore compilato a una persona nella build 910 e non può lanciarlo nella build 902 con un errore:

ha una versione più recente non supportata, aggiorna il tuo terminale client


È così che sarà ora?

Sì, è così che dovrebbe funzionare. Ci sono stati cambiamenti nel compilatore nella build 910, rispettivamente, ex4 generato dal compilatore aggiornato non può essere eseguito nelle versioni precedenti del terminale.

Motivazione: