Con cosa sostituire OnTradeTransaction() in mql4? - pagina 3

 
Igor Makanu:

Se abbiamo bisogno di una soluzione rapida, allora metterei tutti i ticket in CArrayInt e confronterei i ticket degli ordini aperti con CArrayInt; il metodo Search() è lì; se non ci sono ticket, smettiamo di confrontare CArrayIntcon i contatori degli ordini aperti, resettare CArrayInt e scrivere di nuovo tutti i biglietti in CArrayInt e impostare globalmente il flag descritto MyOnTradeTransaction - questo è un segno che l'elenco degli ordini è cambiato - il codice sarà abbastanza compatto

E quando abbiamo bisogno di catturare qualcosa di più della perdita dell'ordine, è allora che cominciamo a ballare con i diamanti...

Il controllo di OrdersTotal() non mostrerà, per esempio, l'attivazione di un ordine pendente - il numero di ordini rimane lo stesso, così come i biglietti... E quando dobbiamo prendere il fatto della modifica dell'ordine/posizione...

Tutto, però, è già stato pensato, fatto e reso pubblico con spiegazioni...

 
Alexey Viktorov:

Quali vantaggi sto negando? Ho solo una negazione. Voglio capire come funziona qualcosa, e se può essere compreso solo da qualcuno che non sia la mia mente, allora non mi sento a mio agio nell'usarlo, e tutto ciò con cui non mi sento a mio agio lo nego. Ti ho già detto che scrivi più lettere di quante ne possa leggere per il resto della mia vita. Non prendertela con me...

I vantaggi sono che nessun evento può perdersi. A differenza di OnTrade() e OnTradeTransaction(). Ma tu non credi che un tale evento possa perdersi... Ecco perché dico che la discussione è inutile.

 
Artyom Trishkin:

E quando hai bisogno di prendere qualcosa di più di un ordine mancante, è lì che inizia il tamburello...

Il controllo di OrdersTotal() non mostrerà l'attivazione di un ordine in sospeso, per esempio - il numero di ordini è costante, anche i biglietti... E quando abbiamo bisogno di prendere la modifica di un ordine/posizione...

Tutto, però, è già stato pensato, fatto e reso liberamente disponibile con spiegazioni...

Non suggerisco di analizzare OrdersTotal, non è affidabile.

Non sarete in grado di tracciare le modifiche dell'ordine in questo modo, dovrete scrivere la vostra classe basata su CArray o CObj.

Ho suggerito una soluzione veloce, non un lavoro fondamentale ;)

Artyom Trishkin:

I vantaggi sono che non possiamo perdere gli eventi.

può se si preme il pulsante di reset del PC .... non seguo gli articoli da molto tempo, ma ricordo di aver chiesto una tecnica per salvare lo stato della classe in un file nel caso in cui il terminale venga riavviato - è stato implementato?
 
Igor Makanu:

Non sto suggerendo di analizzare OrdersTotal, non è affidabile

la modifica dell'ordine non può essere tracciata in questo modo, è necessario scrivere la propria classe basata su CArray o CObj

Ho suggerito una soluzione veloce, non un lavoro fondamentale).

possono se si preme il pulsante di reset del PC .... Non seguo gli articoli da molto tempo, ma ricordo di aver chiesto della tecnica di salvare lo stato delle classi in un file nel caso in cui il terminale venga riavviato - è già implementato?

E si può anche lanciare un computer dal balcone - per una perdita affidabile :) E che il rullo aspetti sotto. Poi si può anche versare del cemento sopra :)))

No, non è implementato - non è la cosa principale ora. È quasi alla fine - è più facile fare tutto allo stesso modo in una volta sola, piuttosto che dividerlo in diverse fasce orarie. Per me.

 
Artyom Trishkin:

No, non implementato - non è la cosa principale ora. È quasi alla fine - è più facile fare tutto lo stesso tipo in una volta sola, invece di dividerlo in diverse fasce orarie. Per me.

OK, aspettiamo

Ma mi sono rivelato essere il contrario - ho già incontrato questo problema - non ho messo la possibilità di salvare nella struttura del programma, e ho iniziato a scrivere salvando in un file, molto ingombrante tutto si è rivelato.... Ho già incontrato questo problema - non ho messo il salvataggio in un file nella struttura del programma - ho iniziato a scrivere il salvataggio in un file e si è rivelato molto macchinoso - ho rinunciato e ho riscritto la maggior parte del codice da zero di nuovo - imho, se vuoi salvare in un file, devi implementarlo immediatamente, almeno con "stub", altrimenti dovrai raccogliere tutto ciò che vuoi salvare in ogni classe - un lavoro molto laborioso, infatti dovrai analizzare l'intero codice sorgente

 
fxsaber:

Vi sarei grato se poteste fornire qualche esempio riproducibile (senza il sondaggio della storia commerciale).

Sarei felice di ripagare la tua utilità. Sfortunatamente ho delle difficoltà a forgiare del codice breve e funzionante da un codice molto grande e complesso. Che è anche molto specifico (per esempio, apre solo una posa alla volta).

Quindi per Slava ho dovuto postare uno scheletro di codice invece di un esempio compilabile.

Ma cercherò di fare qualcosa, altrimenti la mia coscienza mi tormenterà. Ma non rapidamente.

PS: Voglio dire che ho una produttività molto bassa nello scrivere codice. Lo prendo solo con la persistenza. E allo stesso tempo - super impegnato a far funzionare l'EA su un conto reale il più presto possibile. Invidio la tua produttività.

 
Igor Makanu:

OK, aspettiamo

Ma mi sono rivelato essere il contrario - ho già incontrato questo problema - non ho messo la possibilità di salvare nella struttura del programma, e ho iniziato a scrivere salvando in un file, molto ingombrante tutto si è rivelato.... Ho già incontrato questo problema - non ho messo il salvataggio in un file nella struttura del programma e ho iniziato a scrivere il salvataggio in un file, si è rivelato molto ingombrante - poi ho rinunciato e ho riscritto la maggior parte del codice da zero di nuovo - imho, se hai intenzione di salvare in un file, devi implementarlo immediatamente, almeno con "stub", altrimenti dovrai raccogliere tutto ciò che vuoi salvare in ogni classe - un lavoro molto laborioso, infatti dovrai analizzare l'intero codice sorgente

I metodi save/load sono inizialmente dichiarati. E nell'oggetto base CObject della libreria standard. L'implementazione del salvataggio in un file in ogni oggetto della libreria può essere descritta per uno o due oggetti. Ma scrivere in ogni articolo descrizioni di metodi di salvataggio/caricamento - sarà piuttosto noioso leggere praticamente la stessa "azione" da un articolo all'altro, e semplicemente omettere - non è bello per il lettore (e così alcune persone dicono che è difficile per loro leggere tali volumi di articoli, penso - anche tu). Quindi - questo compito per la descrizione in due o tre articoli più vicini alla fine - in una volta in un colpo solo, e non troppo gravoso per il lettore.

Un'altra cosa sarebbe se nulla fosse descritto negli articoli - allora naturalmente sarebbe necessario subito. Tutto dipende dalle specificità della storia e dagli obiettivi. Se lo scopo - kodobaza, allora tutto in una volta, e se lo scopo - articoli di formazione - allora gradualmente - quando è il momento. Ho la seconda opzione.

 
Ihor Herasko:

La OnTradeTransaction è stata menzionata di nuovo. Non c'è nessun problema a garantireOnTradeTransaction in caso di perdita di connessione ecc., poiché il terminale sincronizzerà comunque l'ambiente di trading una volta ripristinata la connessione. Dato cheOnTrade è secondario, significa che puoi fare affidamento su di loro. Se gli sviluppatori stessi non hanno fatto un errore, ma se hanno rimosso la clausola, significa che tutto è a posto.

 
Artyom Trishkin:

Ma inserire in ogni articolo descrizioni di metodi di salvataggio/caricamento - sarà piuttosto noioso leggere quasi la stessa "azione" da un articolo all'altro, e semplicemente omettere - non è bello per il lettore (e così alcuni dicono che hanno difficoltà a leggere tali volumi di articoli, penso - anche tu). Quindi - questo compito per la descrizione in due o tre articoli più vicini alla fine - in una sola volta in un colpo solo, e non troppo gravoso per il lettore.

Non ho detto che il volume di articoli da leggere è molto grande, ma ho scritto che la quantità di fonti è enorme e impossibile capire come usarlo senza un qualche tipo di aiuto/FAQ

Aspetterò l'implementazione del salvataggio di una tale quantità di dati, è interessante vedere come sarà

 
Igor Makanu:

L'implementazione del salvataggio di così tanti dati dovrà aspettare, sarà interessante vedere come sarà

ok

Motivazione: