Errori, bug, domande - pagina 1178
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
No, devo impostarlo manualmente e controllarlo programmaticamente.
Come questo:
Se il flag di visibilità su H1 è impostato, sarà vero.Poi devi leggere il flag di visibilità e fare un & logico con la costante.
Se intendi:
Oppure
La stessa cosa.Se intendi:
Oppure
La stessa cosa.Se intendi:
Oppure
La stessa cosa.Il tuo errore qui è bool(res), poiché res è sempre maggiore di 1 in qualsiasi mappatura, vedi cosa viene restituito in res, quindi bool(res) restituirà solo 0 o falso quando res=0
State usando la conversione dei tipi e il confronto in modo disattento
OBJ_NO_PERIODS
0
L'oggetto non viene mostrato in nessun momento
OBJ_PERIOD_M1
0x00000001
L'oggetto è tracciato su grafici a 1 minuto
OBJ_PERIOD_M2
0x00000002
L'oggetto è tracciato su grafici a 2 minuti
OBJ_PERIOD_M3
0x00000004
L'oggetto è tracciato su grafici a 3 minuti
OBJ_PERIOD_M4
0x00000008
L'oggetto è tracciato su grafici a 4 minuti
OBJ_PERIOD_M5
0x00000010
L'oggetto è tracciato su grafici a 5 minuti
OBJ_PERIOD_M6
0x00000020
L'oggetto è tracciato su grafici a 6 minuti
OBJ_PERIOD_M10
0x00000040
L'oggetto è tracciato su grafici a 10 minuti
OBJ_PERIOD_M12
0x00000080
L'oggetto è tracciato su grafici a 12 minuti
OBJ_PERIOD_M15
0x00000100
L'oggetto è tracciato su grafici a 15 minuti
OBJ_PERIOD_M20
0x00000200
L'oggetto è tracciato su grafici a 20 minuti
OBJ_PERIOD_M30
0x00000400
L'oggetto è tracciato su grafici a 30 minuti
OBJ_PERIOD_H1
0x00000800
L'oggetto è tracciato su grafici a 1 ora
OBJ_PERIOD_H2
0x00001000
L'oggetto è tracciato su grafici a 2 ore
OBJ_PERIOD_H3
0x00002000
L'oggetto è tracciato su grafici a 3 ore
OBJ_PERIOD_H4
0x00004000
L'oggetto è tracciato su grafici a 4 ore
OBJ_PERIOD_H6
0x00008000
L'oggetto è tracciato su grafici a 6 ore
OBJ_PERIOD_H8
0x00010000
L'oggetto è tracciato su grafici a 8 ore
OBJ_PERIOD_H12
0x00020000
L'oggetto è tracciato su grafici a 12 ore
OBJ_PERIOD_D1
0x00040000
L'oggetto è tracciato su grafici giornalieri
OBJ_PERIOD_W1
0x00080000
L'oggetto è tracciato su grafici settimanali
OBJ_PERIOD_MN1
0x00100000
L'oggetto è tracciato su grafici mensili
OBJ_ALL_PERIODI
0x001fffff
L'oggetto è tracciato su tutti i timeframe
Ecco fatto:
Se il flag di visibilità su H1 è impostato, sarà vero.Come continuazione del mio post precedente, sono riuscito a trovare l'area problematica che causa il bug usando il metodo scientifico.
Abbiamo una tale libreria con la funzione:
Ecco il file principale:
L'Expert Advisor risultante non funziona e visualizza nel log: "EX5 loading failed".
Ciao. Ho bloccato l'EA nella funzione OnInit e deve essere la ragione per cui il terminale si blocca quando spengo l'EA e cambio timeframe (il timeframe non cambia dopo i freni). Quindi la mia domanda è: è causato dagli hangs? Se è così, è corretto se sposto l'algoritmo a OnTick? Se no, cosa potrebbe aiutare?
PS: il ciclo ha una funzione Sleep, in modo che il terminale non sia sovraccaricato. I campi di input vengono letti nel ciclo.
Ciao. Ho bloccato l'EA nella funzione OnInit e deve essere la ragione per cui il terminale si blocca quando spengo l'EA e cambio timeframe (il timeframe non cambia dopo i freni). Quindi la mia domanda è: è causato dagli hangs? Se è così, è corretto se sposto l'algoritmo a OnTick? Se no, cosa potrebbe aiutare?
PS: il ciclo ha una funzione Sleep, in modo che il terminale non sia sovraccaricato. I campi di input vengono letti nel ciclo.
Ciao. Ho bloccato l'EA nella funzione OnInit e probabilmente a causa di questo il terminale si blocca quando spengo l'EA e cambio timeframe (il timeframe non cambia dopo i freni). Quindi la mia domanda è: è causato dagli hangs? Se è così, è corretto se sposto l'algoritmo a OnTick? Se no, cosa potrebbe aiutare?
PS: il ciclo ha una funzione Sleep, in modo che il terminale non sia sovraccaricato. I campi di input vengono letti nel ciclo.
OnInit - serve solo per l'inizializzazione. Tutti i calcoli devono essere fatti ulteriormente - OnTick, OnTimer ecc.
Se avete bisogno di conoscere il cambiamento nel campo di input, c'è una libreria standard per questo: https://www.mql5.com/ru/docs/standardlibrary/controls/cedit