Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1219
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
Sembra che il terminale continui a pompare la storia - così l'indicatore continua a ricalcolare. O un'altra variante: avete un numero MOLTO grande di barre impostate nel terminale per la visualizzazione sul grafico, e il vostro computer ha un numero MOLTO grande di barre sul grafico.
Grazie per l'aiuto!
Quando si seleziona una data diversa, il calcolo avviene immediatamente. Nel primo test c'era un divario di prezzo, forse mancavano alcuni prezzi - questo è molto probabilmente il problema.
C'è un indicatore MT5 "Grid Builder" che disegnalinee orizzontali in incrementi di prezzo. È possibile selezionare ad esempio 100p, 200p ecc. E costruisce una griglia orizzontale su e giù con un determinato passo. Ma ha un problema, per esempio, quando disegno livelli orizzontali sul timeframe H4 (ho messo linee orizzontali da strumenti di disegno nel terminale) e passo a qualsiasi altro timeframe, tutte le mie linee vengono rimosse. Rimangono solo i livelli orizzontali dell'indicatore. Come posso correggere questo errore nel codice? Per garantire che i miei livelli orizzontali non vengano mai cancellati. Ecco il codice dell'indicatore (ho scritto questa domanda in un altro thread, ma non c'è ancora una risposta)
C'è un indicatore MT5 "Grid Builder" che disegnalinee orizzontali in incrementi di prezzo. È possibile selezionare ad esempio 100p, 200p ecc. E costruisce una griglia orizzontale su e giù con un determinato passo. Ma ha un problema, per esempio, quando disegno livelli orizzontali sul timeframe H4 (metto linee orizzontali da strumenti di disegno nel terminale) e passo a qualsiasi altro timeframe, tutte le mie linee vengono rimosse. Rimangono solo i livelli orizzontali dell'indicatore. Come posso correggere questo errore nel codice? Per garantire che i miei livelli orizzontali non vengano mai cancellati. Ecco il codice dell'indicatore (ho scritto questa domanda in un altro topic, ma non c'è risposta)
Fate attenzione a questo codice:
In particolare, leggete su ObjectsDeleteAll() - lì la causa e la risposta per la correzione.
Fate attenzione a questo codice:
In particolare leggete su ObjectsDeleteAll() - c'è la ragione e la risposta su come modificarlo.
Grazie!!! L'ho risolto, ora funziona senza cancellazione.
Le operazioni del database SQLite sono disponibili dal tester? Intendo aggiungere e cambiare i dati.
Disponibile. Basta tenere d'occhio la posizione della base. Sono creati nello stesso modo dei file.
Disponibile. Basta tenere d'occhio la posizione della base. Sono creati proprio come i file.
Ecco il mio codice. Nell'inizializzazione crea un record nella tabella. Nel corpo di OnTick dovrebbe restituire immediatamente un errore, perché cerco di aggiungere un record con la stessa PRIMARY KEY, e dopo questo la base si chiude immediatamente. Ma allo stesso tempo dovrei vedere almeno il primo record quando lo apro, ma quando lo eseguo nel tester non c'è. E anche la tabella non viene creata. Se lo apro solo nel terminale, tutto è normale. Il primo disco è lì.
Ecco il mio codice. Nell'inizializzazione crea un record nella tabella. Nel corpo di OnTick dovrebbe restituire immediatamente un errore, perché cerco di aggiungere un record con la stessa PRIMARY KEY, e dopo questo la base si chiude immediatamente. Ma allo stesso tempo dovrei vedere almeno il primo record quando lo apro, ma quando lo eseguo nel tester non c'è. E anche la tabella non viene creata. Se lo apro solo nel terminale, tutto è normale. Il primo disco è lì.
Ancora una volta sono convinto che il tester e il terminale stesso sono ipostasi diverse...
È stato a lungo raccomandato di aggiungere un giorno aTimeCurrent(). È solo che ora, in risposta al tuo codice non proprio corretto, il terminale ti sta dando dei consigli.