Il problema del trasferimento da MT4 a MT5. O, più precisamente, l'impossibilità di eseguire alcuni algoritmi in MT5 senza 'err. - pagina 10
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
È strano, ma non avevo pensato di farlo prima:
Si sbarazzerebbe di alcuni controlli di massa degli errori, come l'allocazione della memoria.
non è un'opzione, l'EA sarà rimosso dal grafico, ed è sufficiente "uscire su OS" prima del prossimo tick da qualsiasi punto del programma
Molto probabilmente, è possibile avvolgere elegantemente tutto in una macro, per chiamare in modo sicuro le funzioni relative all'indisponibilità dei dati sul tick corrente, ecco un "dummy"
per la leggibilità del codice sarebbe bello scriverlo in questo modo:
Questo Try è realisticamente avvolto in una macro e "exit to OS" in caso di fallimento?
è realistico avvolgere questo Try in una macro e "uscire al SO" in caso di fallimento?
No?
Spesso scrivo ogni sorta di minimax all'inizio di una funzione, con undefine alla fine. Naturalmente, se l'azione si ripete spesso, altrimenti non ha senso.
E ti sbagli sull'aborto, per alcuni errori è perfetto.
No?
Sì!
ma idealmente mi piacerebbe invece:
come questo:
non si tratta di rendere diversa la firma della funzione Open()... Ma in questa forma otterrò quello che vorrei davvero! ;)
----------------------
PS: come opzione anche le variabili globalmente descritte Tryerror o bool Tryresult andrebbero bene - lo scopo di una linea "chiamata sicura", se questa chiamata finisce con un errore uscire dal corpo OnTick()
come questo:
Dubito che sia possibile, anche nei plus (si può lanciare un'eccezione, ma è improbabile). Ma le cose accadono, forse qualcuno sorprenderà ...
Quindi, ad una rapida occhiata:
che è probabilmente il massimo in questa situazione.
Totalmente stupido, puoi farlo, vero?
Non l'ho compilato, ma dovrebbe funzionare.
Sono così stupido che non posso farci niente, vero?
Non l'ho compilato, ma dovrebbe funzionare.
Shaitan la macchina!!! Ha funzionato!!!
errore controllato e simulato ( shift>5 )
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 0 : 1,115010
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 1 : 1,114670
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 2 : 1.114590
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 3 : 1.114400
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 4 : 1,115240
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) 5 : 1,115450
2019.07.31 16:58:48.154 tst1 (EURUSD,H1) Error: something goes wrong
Fantastico! E il codice della macro si è rivelato davvero semplice
GRAZIE! - Sei sicuramente un mago)!
Sentitevi liberi di usarlo.
La macro di cui sopra ha uno svantaggio - il tipo di helper è hardcoded, non si può passare alla funzione Try che restituisce la stringa e poi il doppio senza creare due macro. Ho un interesse sportivo - come aggirarlo (scrivere una macro per tutti i tipi. In µl senza opzioni, in c++, anche se non è veramente necessario lì, ma comunque)? Nessuno è disposto a suggerire la propria variante (beh, bisogna tenersi in forma, dopo tutto)?
Siete i benvenuti ad usarlo.
La macro di cui sopra ha uno svantaggio: il tipo helper è cablato, non si può passare una funzione che restituisce una stringa in Try
Perché no, il segno + non è stato cancellato!
Ecco come ho pettinato la tua macro e come ho intenzione di usarla:
ora il parametro macroEXCEPT è un'azione di eccezione, funziona bene come ritorno o solo ; - se si decide di non stampare nel log, ma non lasciare il corpo di OnTick()
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 0 : 1.113350
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 1 : 1,114180
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 2 : 1,115110
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 3 : 1,115010
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 4 : 1,114670
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) 5 : 1.114590
2019.07.31 19:01:28.353 tst1 (EURUSD,H1) double Open(int) : error #999 something goes wrong Txt
Beh, voglio dire, è così:
Qui la gente non sembra giocare d'azzardo. Oh, ma dai!