Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 530
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
Per favore, aiutatemi! (MQL4)
Ho bisogno di ottenere il tempo di apertura del giorno sul grafico M15 tenendo conto di ogni barra - per l'indicatore.
Ho deciso di calcolare in secondi, tenendo conto della barra attuale (0), ma devo essermi sbagliato.
D_Shift=(Open_time-pos*15*60-(Open_time-Open_timeTF))/1440*60;
Se per l'indicatore, allora:
Ma: questo codice sarà eseguito ogni volta che OnCalculate() viene inserito - a seconda delle vostre esigenze, potete aggiungere il flag bool o mettere il codice in una funzione separata.
Se per indicatore, allora:
Ma: questo codice sarà eseguito ogni volta che OnCalculate() - a seconda delle vostre esigenze, o aggiungete un flag bool o mettete il codice in una funzione separata.
Grazie, ma ad ogni tick fare il ricalcolo non va bene - ho bisogno di analizzare il tuo codice, tuttavia, mentre voglio capire perché il mio codice non funziona, nel log vengono restituiti strani numeri
risulta che c'è una differenza di 479 barre tra la prima barra del giorno e la barra attuale - perché?
Grazie, ma ricalcolare su ogni tick non va bene - devo pensare al tuo codice, tuttavia, mentre voglio capire perché il mio codice non funziona, il log restituisce strani numeri
risulta che c'è una differenza di 479 barre tra la prima barra del giorno e la barra attuale - perché?
Ho indicato che non sono un sensitivo e questo è il motivo:
Ma: questo codice sarà eseguito ogni volta che OnCalculate() viene inserito- qui a seconda delle vostre esigenze o aggiungete un flagboolo mettete il codice in una funzione separata.
Ho precisato che non sono un sensitivo e questo è il motivo:
Karputov Vladimir, non capisco il tuo codice - sono un principiante in questo business enon ho maiusato la funzioneOnCalculate prima, quindi non riesco a capire cosa viene calcolato lì ilrate_total e, cosa più importante, dove dovrebbe essere riportato? Nemmeno io capisco come rendere il tutto in una funzione separata... è difficile da capire senza commenti.
Ecco il codice completo dell'indicatore MQL4:
Algoritmo del suo lavoro: Quando si avvia l'indicatore, si imposta l'intervallo di tempo del timer (per esempio, 10 secondi) - significa che ogni 10 secondi il timer verrà attivato:
e alla variabileIsDefineTime viene assegnato il valore true. A cosa serve? Quando IsDefineTime=true possiamo, in OnCalculate(), entrare in un ciclo per determinare l'ora di inizio del giorno:
In questo ciclo cominciamo a percorrere l'array time[] (questo array memorizza i valori del tempo di apertura) dalla barra più a destra (il suo indice è "0"). Quando si trova l'inizio del giorno, si disattiva il suo valore e si assegna alla variabileIsDefineTime il valorefalse - in questo modo ci si protegge dall'entrare ulteriormente nel ciclo di determinazione dell'ora iniziale del giorno, fino a quando il timer gira di nuovo.
Karputov Vladimir , grazie per il chiarimento, tuttavia, in che modo questo risolve il problema?
Approssimativamente abbiamo bisogno di conoscere la barra del timeframe corrente che corrisponde alla barra di inizio giornata. Abbiamo bisogno di sapere su ogni barra e calcolare e disegnare l'indicatore di conseguenza.
Karputov Vladimir , grazie per il chiarimento, tuttavia, in che modo questo risolve il problema?
Approssimativamente abbiamo bisogno di conoscere la barra del timeframe corrente che corrisponde alla barra di inizio giornata. È necessario conoscerlo su ogni barra e calcolare e disegnare l'indicatore di conseguenza.
È così che hai chiesto ed è così che ti è stato risposto :) . E se volete non il tempo della prima barra di questo giorno, ma l'indice di questa barra - è qui, quando si stampa l'inizio del giorno:
Si usa l'indice [i-1] - questo è il numero della prima barra del giorno.
Come hai chiesto, hai avuto la tua risposta :) . E se avete bisogno non del tempo della prima barra del giorno, ma dell'indice di questa barra, è qui, quando si stampa l'inizio del giorno:
Si usa l'indice [i-1] - questo è il numero della prima barra del giorno.
Sono d'accordo - ho chiesto in modo confuso.
C'è un indicatore nell'app che ho fatto, ma non conta correttamente. Sono terribilmente stupido e non capisco, anche dopo le vostre spiegazioni, come fargli determinare correttamente l'indice corrispondente alla prima barra all'inizio della giornata.
Mi scuso per l'insolenza, ma forse puoi mostrarmi come combinare il tuo codice con il mio?
-Aleks-:
Come posso fare in modo che rilevi correttamente l'indice corrispondente alla prima barra all'inizio della giornata?
È un po' un casino: