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

 
Vitaly Muzichenko:

Oggi mi sono trovato di fronte al fatto che una posizione si è chiusa e l'altra si è aperta su un'altra, e quasi allo stesso tempo tra i tick.

Alla fine OrdersTotal() è rimasto 8. La logica dell'Expert Advisor si è confusa - non ha ricalcolato i nuovi dati

Questo è esattamente quello che penso e non mi piace. Anche se la mia situazione sarà leggermente diversa, l'essenza è la stessa. Sto pensando.

 
Aleksandr Volotko:

È esattamente quello che sto pensando e non mi piace. Anche se la mia situazione sarà un po' diversa, ma il punto è lo stesso. Sto pensando.

Alexander, non troverai niente di meglio della biblioteca di Artem Trishkin. Anche se mi sta criticando, si tratta solo di mql5 e non sto facendo molto in mql4, ecco perché non sto usando quella libreria. Ho avviato un Expert Advisor e ho cercato di usarlo, ma ho rinunciato. L'idea si è rivelata incompetente prima che l'implementazione fosse terminata... )))

IMHO, costruire un algoritmo sulla ricerca della storia non è la migliore opzione. E cambiare la dimensione della storia è ancora peggio. Un problema è stato descritto da Vitaly, l'altro è che, se non stiamo scrivendo solo per noi stessi, è generalmente inaccettabile. Il numero di ordini nella storia su mql4 dipende dalla selezione della profondità

E immaginate che un utente decida di guardare la storia per oggi, poi per una settimana e un paio di altri interruttori... L'EA impazzirebbe se volesse))))

 
Aleksandr Volotko:

È esattamente quello che sto pensando e non mi piace. Anche se la mia situazione sarà un po' diversa, ma il punto è lo stesso. Sto pensando.

La somma hash delle proprietà degli ordini e delle posizioni. Il simbolo è codificato nella somma dei codici dei caratteri che compongono il suo nome. Ma poi solo un ciclo completo. Quando la somma dell'hash cambia - vedi cosa è successo.
 
Artyom Trishkin:
La somma hash delle proprietà degli ordini e delle posizioni. Il simbolo è codificato nella somma dei codici dei caratteri che compongono il suo nome. Ma poi solo un ciclo completo. Quando la somma dell'hash è cambiata - vedi cosa è successo.

Com'è?

 
Alexey Viktorov:

Alexander, non troverai niente di meglio della biblioteca di Artem Trishkin. Non so perché non lo uso, ho iniziato un EA cercando di usarlo, ma ho rinunciato. Ho avviato un Expert Advisor e ho cercato di usarlo, ma ho rinunciato. L'idea si è rivelata incompetente prima che l'implementazione fosse terminata... )))

IMHO, costruire un algoritmo sulla ricerca della storia non è la migliore opzione. E cambiare la dimensione della storia è ancora peggio. Un problema è stato descritto da Vitaly, l'altro è che, se non stiamo scrivendo solo per noi stessi, è generalmente inaccettabile. Il numero di ordini nella storia su mql4 dipende dalla selezione della profondità

E immaginate che l'utente decida di visualizzare la storia per oggi, poi per una settimana, e un paio di scambi... L'Expert Advisor impazzirebbe se volesse))))

Alexei, OrdersHistoryTotal() funziona chiaramente, c'è sempre un "Select period" da riempire o da sottrarre.

 
Vitaly Muzichenko:

Alexei, OrdersHistoryTotal() funziona bene, riempie o riduce sempre "Select period".

Non capisco. Stai dicendo che non dipende dalle impostazioni del terminale? Ci sono stati questi cambiamenti?

 
Alexey Viktorov:

Non capisco. Stai dicendo che non dipende dalle impostazioni del terminale? Ci sono stati questi cambiamenti?

No, ma forse stiamo parlando di cose diverse.

static __TotalHist = -1;
int HT=OrdersHistoryTotal();
  if(HT!=__TotalHist)
   {
     SetHistory();
     __TotalHist=OrdersHistoryTotal(); // запомним количество
   }

Questo funzionerà sempre.

Potrebbe non funzionare in 1 caso su 100.500.

static __Total = -1;
int OT=OrdersTotal();
  if(OT!=__Total)
   {
     SetMarket();
     __Total=OrdersTotal(); // запомним количество
   }
 
Artyom Trishkin:
Una somma hash delle proprietà degli ordini e delle posizioni. Il simbolo è codificato nella somma dei codici dei caratteri che compongono il suo nome. Ma poi solo un ciclo completo. Quando la somma dell'hash cambia - vedi cosa è successo.

dare un esempio nel codice - questa è una caratteristica necessaria

 
Alexey Viktorov:

IMHO, non è il modo migliore per costruire un algoritmo su una ricerca della storia.

Non ho nemmeno pensato di toccare OrderHistoryTotal(), perché?

 
Igor Makanu:

dare un esempio nel codice - questa è una caratteristica necessaria

Descritto nei miei articoli. È quasi all'inizio. E per MQL4 - negli articoli sulla compatibilità con il 4.
È difficile dare un link da un telefono cellulare. Ma se aprite uno di quelli recenti, c'è una lista di tutti gli articoli alla fine.