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
Mentre testavo l'Expert Advisor, mi sono imbattuto per caso nella funzione Sleep() nel tester che credo non funzioni correttamente. Il punto è il seguente:
l'Expert Advisor chiude tutte le posizioni alle 23:00 se il profitto totale è superiore a quello specificato (la funzione CloseAll()). Dopo la chiusura della posizione successiva, viene introdotto un ritardo di 10 secondi da Sleep(10000).
Ecco cosa abbiamo nel registro:
FP 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 CloseAll Profit: 3030.66JD 0 Trade 04:31:04 vendita istantanea 0,80 EURAUD a 1,56474 (1,56474 / 1,56558 / 1,56474)
JH 0 Trades 04:31:04 affare #85 vendere 0.80 EURAUD a 1.56474 fatto (basato sull'ordine #85)
HL 0 Trade 04:31:04 operazione eseguita [#85 vendere 0.80 EURAUD a 1.56474]
HI 0 Commercio 04:31:04 ordine eseguito vendere 0,80 EURAUD a 1,56474 [#85 vendere 0,80 EURAUD a 1,56474]
QE 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 posizione da EURAUD da chiudere
PN 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
FG 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 Dormi 10 cek.
RO 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
QD 0 Trade 04:31:04 comprare 1.00 USDJPY a 90.444 (90.417 / 90.444 / 90.417)
NS 0 Trades 04:31:04 deal #86 buy 1.00 USDJPY at 90.444 done (based on order #86)
MJ 0 Commercio 04:31:04 operazione eseguita [#86 comprare 1.00 USDJPY a 90.444]
JS 0 Trade 04:31:04 ordine eseguito compra 1.00 a 90.444 [#86 compra 1.00 USDJPY a 90.444]
JL 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 posizione di USDJPY da chiudere
JI 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
PN 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 Dormi 10 cek.
DF 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
QN 0 Trade 04:31:04 comprare 0,80 AUDUSD a 0,90001 (0,89967 / 0,90001 / 0,89967)
IH 0 Trades 04:31:04 deal #87 buy 0.80 AUDUSD at 0.90001 done (based on order #87)
KQ 0 Commercio 04:31:04 affare eseguito [#87 comprare 0,80 AUDUSD a 0,90001]
RL 0 Trade 04:31:04 ordine eseguito comprare 0,80 a 0,90001 [#87 comprare 0,80 AUDUSD a 0,90001]
EG 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 posizione di AUDUSD da chiudere
LP 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
JI 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 Dormi 10 cek.
NQ 0 PriceChannel_multi (2) (EURUSD,H1) 04:31:04 23:0:0
Come possiamo vedere, il tempo prima e dopo il ritardo è lo stesso. Ma succede solo se TimeCurrent() == 0.
In caso contrario, lo slittamento funziona bene. Per esempio:
MD 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 CloseAll Profit: 3382.28KQ 0 Trade 04:30:39 ET 0,70 EURUSD a 1,44090 (1,44090 / 1,44108 / 1,44090)
IE 0 Trades 04:30:39 deal #27 sell 0.70 EURUSD at 1.44090 done (based on order #27)
CI 0 Commercio 04:30:39 operazione eseguita [#27 vendere 0,70 EURUSD a 1,44090]
EL 0 Trade 04:30:39 ordine eseguito vendere 0,70 a 1,44090 [#27 vendere 0,70 EURUSD a 1,44090]
DH 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39
JR 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:7
MK 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 Dormi 10 cek.
EP 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:15
DE 0 Trade 04:30:39 ET 0,80 AUDUSD a 0,91951 (0,91951 / 0,91993 / 0,91951)
CJ 0 Trades 04:30:39 affare #28 vendere 0.80 AUDUSD a 0.91951 fatto (basato sull'ordine #28)
HR 0 Commercio 04:30:39 affare eseguito [#28 vendere 0,80 AUDUSD a 0,91951]
HH 0 Trade 04:30:39 ordine eseguito vendere 0,80 AUDUSD a 0,91951 [#28 vendere 0,80 AUDUSD a 0,91951]
LS 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 AUDUSD da chiudere
QL 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:15
ED 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 10 cek Sleep.
LO 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:25
DD 0 Trade 04:30:39 comprare 0.60 EURAUD a 1.56727 (1.56632 / 1.56727 / 1.56632)
LN 0 Trades 04:30:39 deal #29 buy 0.60 EURAUD at 1.56727 done (based on order #29)
FK 0 Trade 04:30:39 operazione eseguita [#29 compra 0.60 EURAUD a 1.56727]
IR 0 Trade 04:30:39 ordine eseguito comprare 0.60 a 1.56727 [#29 comprare 0.60 EURAUD a 1.56727]
RM 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 posizione di EURAUD da chiudere
FE 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:25
GN 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:39 Dormi 10 cek.
QE 0 PriceChannel_multi (2) (EURUSD,H1) 04:30:3923:0:35
Codice per chiudere una posizione:
Chiamata alla funzione CloseAll:
Se cambiamo la condizione in
non c'è nessun errore.Quindi, il mio messaggio non è vano, come ho già pensato?
Sì, abbiamo corretto il comportamento di StringToTime, grazie.
Mentre testavo l'Expert Advisor, mi sono imbattuto per caso nella funzione Sleep() nel tester che credo non funzioni correttamente. Il punto è il seguente:
Apro la scheda "News" e c'è... - è la notizia sbagliata. Mi manca qualcosa?
Imposta le lingue in cui vuoi ricevere le notizie.
Imposta le lingue in cui vuoi ricevere le notizie.
Non lo è. È un po' cosparso di "notizie" del forum mt5, non ha niente a che fare con le notizie sul forex. Non solo gli aggiornamenti pro-auto di recente, ma ho scaricato di nuovo la distribuzione mt5 e l'ho installata, ormai è passata quasi una settimana. Non so come fosse durante la settimana, perché non sono andato nella scheda "News", ma l'ho scoperto ora:
Non lo è. È un po' cosparso di "notizie" del forum mt5, non ha niente a che fare con le notizie del forex. Non l'ho solo pro-auto-uploadato di recente, ho scaricato di nuovo la distribuzione mt5 e l'ho installata, ormai è passata quasi una settimana. Non so come fosse durante la settimana, perché non sono entrato nella scheda "News", ma l'ho scoperto ora:
Questo è il nostro server demo che trasmette le notizie di MQL5.com al posto delle notizie forex mancanti (non abbiamo il diritto di distribuire notizie gratuite da altri).
Se non vuoi vederle, basta deselezionare la casella appropriata nella sezione delle categorie di notizie del menu del clic destro.
Dopo l'aggiornamento automatico, l'EA precedentemente funzionante ha iniziato a dare messaggi che non poteva copiare le serie temporali. Il problema è stato risolto scaricando l'EA e caricandolo di nuovo. Domanda: questo risultato dell'aggiornamento automatico deve essere atteso sempre o è un errore terminale, che sarà eliminato?
Dopo l'aggiornamento automatico, l'EA precedentemente funzionante ha iniziato a dare messaggi che non poteva copiare le serie temporali. Il problema è stato risolto scaricando l'EA e caricandolo di nuovo. Domanda: questo risultato dell'aggiornamento automatico deve essere atteso sempre o è un errore terminale, che sarà eliminato?
Si prega di fornire maggiori dettagli (log, screenshot, ecc.).
Senza questo, non è possibile dare una risposta informata.
Fornisci più dettagli (log, screenshot, ecc.), per favore.
Senza questo, è impossibile dare una risposta ragionevole.
OK. Conto demo sul server MQ, file di log allegato (2010729.log), l'ora di inizio dell'aggiornamento automatico è 20:54, alle 22:36 ho cancellato io stesso Expert Advisor e l'ho caricato un minuto dopo.
C'è un semplice controllo del tipo in EA:
Di conseguenza, dopo i messaggi di aggiornamento automatico è andato (file 20100729copy.log). In generale, questo si è verificato prima, ma in qualche modo non ha prestato attenzione.
Dopo aver ricaricato l'Expert Advisor, sono scomparse anche le linee dei prezzi di apertura e di stop-loss nel grafico.
Posso aggiungere qualcos'altro a ciò che è stato detto?