Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 183
![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
int bt=((TimeCurrent()-5*60)/3600)*3600;
Il valore bt cambierà a 5 minuti di ogni ora. È possibile non moltiplicare per 3600 alla fine, sarà il numero di barra dall'inizio dell'epoca, questo è sufficiente per definire una nuova barra.
Grazie a tutti per il vostro aiuto.
La domanda era questa.
<C'è una funzione chiamata NewBar(sy, TF). Sembra che si sia aperto un nuovo bar. Voglio ottenere un segnale sul grafico orario sulla comparsa di una nuova barra con un ritardo di 5 minuti. Cioè, voglio ottenere un segnale a 0,05, 1,05, 2,05, ..........., 10,05, 11,05, ecc. >
Per chiarire la domanda. La funzione dovrebbe restituire vero ogni ora, ma con un ritardo di 5 minuti. Cioè quando la formazione della barra 1.05 è finita e appare la barra 2.05, la funzione restituisce vero quando appare quest'ultima. La funzione restituisce vero quando la barra appare a 1,10, 2,10, ecc.
Nell'immagine la linea gialla mostra che la barra successiva era vera.
Seguendo il tuo consiglio ho provato in questo modo ma non funziona.
Mi ha subito colpito che i tipi non sono giusti:
E poi confrontarli e assegnare dei valori... da int a datetime
L'ho appena scritto a mano. Si può avere il succo del discorso, e va bene così.
Cos'è tutto questo trambusto... Qui ogni quinto minuto dell'ora restituisce TRUE e lo mantiene per un minuto:
int bt=((TimeCurrent()-5*60)/3600)*3600;
Il valore bt cambierà a 5 minuti di ogni ora. È possibile non moltiplicare per 3600 alla fine, sarà il numero di barra dall'inizio dell'epoca, questo è sufficiente per definire una nuova barra.
Mancato. Se moltiplicato per 3600 alla fine, aggiungete anche la correzione 5*60.
Cos'è tutto questo trambusto... Qui ogni quinto minuto dell'ora restituisce TRUE e lo mantiene per un minuto:
Voglio dire, davvero, e stiamo facendo i furbi qui...
Mancato. Se moltiplicato per 3600 alla fine, aggiungete anche la correzione 5*60.
È un po' impacchettato e illeggibile. Ho capito il punto però.
Mi ha subito colpito che i tipi sono sbagliati:
E poi confrontarli e assegnare i valori... da int a datetime
Cos'è tutto questo trambusto... Qui ogni quinto minuto dell'ora restituisce TRUE e lo mantiene per un minuto:
In quel minuto, il consigliere aprirà fino a quaranta ordini per lui.
Questo è il modo per controllare... il numero di ordini o solo la prima chiamata alla funzione...