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
Uno dei modi più semplici per inserire
dove si vuole controllare se il codice funziona o controllare se una condizione è vera (cioè, se tutte le condizioni sono vere e un'azione deve essere presa)
Io, per esempio, inserisco Alert all'interno di ogni funzione complessa con un testo diverso, per controllare se la funzione è stata eseguita e se l'EA la raggiunge
Forse usate alcune condizioni e sono sempre false.
Il fatto è che non ci sono errori nel log, ma l'EA a volte smette di funzionare, e viene ripristinato solo dopo aver riavviato il terminale.
Non mi è molto chiaro come definisci che "l'Expert Advisor smette di funzionare a volte". Forse, inizia solo un ciclo infinito. Il suo registro è vuoto e l'Expert Advisor lavora senza sosta. O forse ha qualche altra caratteristica speciale.
Ho bisogno di una risposta alla domanda di questo post: https://www.mql5.com/ru/forum/3775/page215#comment_379520
Qualcuno conosce la risposta?
Sembra che non ci sia una risposta diretta, quindi siamo lasciati a speculare.
Quindi, il tipo di licenza può essere scoperto usando Mql5InfoInteger(MQL5_LICENSE_TYPE). Cioè, tra tutti i possibili valori dell'enumerazione ENUM_LICENSE_TYPE ne verrà restituito uno. Inoltre - con il metodo delle eccezioni: il limite di tempo operativo(LICENSE_TIME) non può essere restituito insieme ai tre valori precedenti dell'enumerazione specificata. In particolare, LICENSE_TIME non deve essere restituito contemporaneamente a LICENSE_DEMO .
Con questo ragionamento, darei una risposta negativa alla domanda "è implicito che un programma a pagamento per il Mercato possa essere limitato nel tempo in un test demo?" Perchéla demo di un prodotto a pagamento del mercato ha un proprio identificatore - LICENSE_DEMO.
Sembra che non ci sia una risposta diretta, quindi siamo lasciati a speculare.
Quindi, il tipo di licenza può essere scoperto usando Mql5InfoInteger(MQL5_LICENSE_TYPE). Cioè, tra tutti i possibili valori dell'enumerazione ENUM_LICENSE_TYPE ne verrà restituito uno. Inoltre - con il metodo delle eccezioni: il limite di tempo operativo(LICENSE_TIME) non può essere restituito insieme ai tre valori precedenti dell'enumerazione specificata. In particolare, LICENSE_TIME non deve essere restituito contemporaneamente a LICENSE_DEMO .
Con questo ragionamento, darei una risposta negativa alla domanda "è implicito che un programma a pagamento per il Mercato possa essere limitato nel tempo in un test demo?" Perchéla demo di un prodotto a pagamento del mercato ha un proprio identificatore - LICENSE_DEMO.
Penso che LICENSE_TIME possa contenere sia LICENSE_DEMO che LICENSE_TIME. Un chiaro esempio è dato da identificatori come MQL5_VISUAL_MODE e MQL5_TESTING. Quindi, entrambi ci fanno sapere che siamo in un tester. ))
Quindi mi chiedo: cosa hanno messo gli sviluppatori in questo identificatore? E in generale, se non c'è la possibilità di limitare il tempo di alcuni programmi a pagamento in modalità demo, sarebbe bello avere tale possibilità. Perché ci possono essere opzioni che possono essere molto redditizie da usare per i propri programmi anche senza comprarli. )))
Sono d'accordo che mi sono completamente perso le peculiarità terminologiche dei materiali di riferimento, a causa delle quali il metodo di esclusione può portare a risultati errati per una ragione o per l'altra. ...Beh, almeno, i malintesi sull'argomento sono espressi, e solo gli autori di questo elenco possono rispondere.
Non sono del tutto sicuro di come tu determini che "l'EA a volte smette di funzionare". Forse, inizia solo un ciclo infinito. Il registro è vuoto, ma l'Expert Advisor lavora senza sosta. O forse viene innescata qualche altra peculiarità.
Questo si avvicina all'argomento. Quindi risulta che il tuo EA smette di reagire ai segnali dell'indicatore? Ma non significa che l'EA "non funziona". Forse, funziona ancora, ma non nel modo inteso dall'autore.
Prova a impostare un timer con un periodo, per esempio, di 10 minuti. E stampate tutti gli indici che sono significativi per il vostro Expert Advisor. Vedi se le cifre cambiano nel tempo. Se il log è vuoto anche in questo caso, dovreste sicuramente andare al Service Desk con una copia del codice.
Aggiunta. Oppure ecco un'altra idea. Hai un posto nel tuo codice con una condizione come se, dopo l'attivazione della quale deve essere inviata la richiesta di scambio. Provate a stampare i casi di innesco/non innesco di questa condizione, per esempio: