Quando interroghi i dati nell'intervallo"ora corrente - ora corrente più un certo numero di secondi", significa che stai chiedendo dati dal futuro. I dati non esistono ancora al momento della richiesta.
Se stavate richiedendo dati nell'intervallo "tempo corrente - tempo corrente meno un certo numero di secondi", allora state richiedendo dati potenzialmente esistenti.
Di quale futuro stiamo parlando, dove l'hai visto?
Tutte le domande vanno esclusivamente al passato.
Nello script di test, la barra è impostata esplicitamente da cui contare...
Generalmente, si specificano gli estremi dello zigzag, il che non dà il tempo esatto...
Poi interroghiamo l'intervallo calcolato. Ma abbiamo dati solo fino all'ora corrente compresa. Tra il 2013.05.24 15:43:29 e il 2013.05.24 15:53:29 non ci sono ancora dati.
Ma se si fa girare il ciclo di dieci minuti, i dati possono anche apparire. Tranne che 2013.05.24 15:43:29 diventa l'ora passata e 2013.05.24 15:53:29 diventa l'ora corrente.
Poi interroghiamo l'intervallo calcolato. Ma abbiamo dati solo fino all'ora corrente compresa. Tra il 2013.05.24 15:43:29 e il 2013.05.24 15:53:29 non abbiamo ancora dati.
Ma se si fa girare il ciclo di dieci minuti, i dati potrebbero benissimo apparire. Tranne che 2013.05.24 15:43:29 diventa l'ora passata e 2013.05.24 15:53:29 diventa l'ora corrente.
//--- переменные для указания параметров функцииint start = 5; // индекс бараint count = 1; // количество баровint b=72000;
int bm; // надо получитьdatetime tm[]; // массив, в котором возвращается время баров//--- копирование времени CopyTime(_Symbol,PERIOD_CURRENT,start,count,tm);
//--- вывод результатаPrint(tm[0]);
bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
Print("bm = "+bm);
//--- возвращает bm = 1201
bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
Print("bm = "+bm);
Cioè, in tm[0] avete il tempo della 5° barra dalla fine.
In questo caso, nella prima richiesta di dati diversi dal timeframe corrente (stai richiedendo i minuti), potresti facilmente ottenere 0 barre, perché quei dati non sono ancora nel terminale.
Proprio per questo, una volta abbiamo pubblicato uno script sul caricamento garantito dei dati storici di qualsiasi simbolo-periodo esistente.
Cioè, in tm[0] avete il tempo della 5° barra dalla fine.
In questo caso, nella prima richiesta di dati diversi dal timeframe corrente (stai richiedendo i minuti), puoi facilmente ottenere 0 barre, perché questi dati non sono ancora nel terminale.
Una volta abbiamo pubblicato uno script sul tema del caricamento garantito dei dati storici di qualsiasi simbolo-periodo esistente.
Puoi ottenere periodicamente 0 anche sul timeframe corrente, solo su barre diverse. Molto raramente, però. Non riesco a riprodurlo oggi, mentre ieri lo ottenevo su quasi ogni nuova barra (non chiamata).
In generale, la confusione più grande è perché tutte le funzioni Copy funzionano, nelle stesse condizioni, - e prendo qualcosa di sinistra sul leopardo?
È fantastico...
Aggiornare la possibile risposta per ottenere 0 al primo giro
Мы не можем прямо обратиться к серверу, но любая Copy-функция
при нехватке истории в формате HCC в терминал автоматически инициирует посылку
такого запроса от терминала к торговому серверу.
e Bars non lo fa.
Aggiornamento 2 manca una lettera nell'aiuto, in, evidenziata in rosso.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
È tutto chiaro, ho già stampato ogni passo, e ho la funzione in uno script separato... Ok, ci penserò con calma.
No, non ti è chiaro. Dipende da cosa viene stampato. )) Vi stanno già indicando a tre voci i parametri che vengono trasmessi.
Forum sul trading, sistemi di trading automatico e test di strategia
FAQ da Dummies
tol64, 2013.05.24 13:02
Controlla (stampa sul registro) l'ora di inizio (t[0]+b) e di fine (t[0]) dell'intervallo. Ci prenderai subito la mano.Non c'è bisogno di abbandonare la funzione.
Quando interroghi i dati nell'intervallo"ora corrente - ora corrente più un certo numero di secondi", significa che stai chiedendo dati dal futuro. I dati non esistono ancora al momento della richiesta.
Se stavate richiedendo dati nell'intervallo "tempo corrente - tempo corrente meno un certo numero di secondi", allora state richiedendo dati potenzialmente esistenti.
Di quale futuro stiamo parlando, dove l'hai visto?
Tutte le domande vanno esclusivamente al passato.
Nello script di test, la barra è impostata esplicitamente da cui contare...
Generalmente, si specificano gli estremi dello zigzag, il che non dà il tempo esatto...
Di quale futuro stiamo parlando, dove l'hai visto?
OK. Ora attuale 2013.05.24 15:43:29
Aggiungere 600 secondi all'ora corrente. Otteniamo 2013.05.24 15:53:29.
Poi interroghiamo l'intervallo calcolato. Ma abbiamo dati solo fino all'ora corrente compresa. Tra il 2013.05.24 15:43:29 e il 2013.05.24 15:53:29 non ci sono ancora dati.
Ma se si fa girare il ciclo di dieci minuti, i dati possono anche apparire. Tranne che 2013.05.24 15:43:29 diventa l'ora passata e 2013.05.24 15:53:29 diventa l'ora corrente.
No, non ti è chiaro. Dipende da cosa viene stampato. )) Vi stanno già indicando a tre voci i parametri che vengono trasmessi.
https://www.mql5.com/ru/forum/3775/page252#comment_507621
C'è come.
Ok. Ora attuale 2013.05.24 15:43:29
Aggiungere 600 secondi all'ora corrente. Otteniamo 2013.05.24 15:53:29
Poi interroghiamo l'intervallo calcolato. Ma abbiamo dati solo fino all'ora corrente compresa. Tra il 2013.05.24 15:43:29 e il 2013.05.24 15:53:29 non abbiamo ancora dati.
Ma se si fa girare il ciclo di dieci minuti, i dati potrebbero benissimo apparire. Tranne che 2013.05.24 15:43:29 diventa l'ora passata e 2013.05.24 15:53:29 diventa l'ora corrente.
Dove si trova
bar di cui ricevo il tempo.
NON uso l'ora corrente. Per niente.
Dove
è il bar di cui ricevo il tempo.
NON uso l'ora corrente. Per niente.
Cioè, in tm[0] avete il tempo della 5° barra dalla fine.
In questo caso, nella prima richiesta di dati diversi dal timeframe corrente (stai richiedendo i minuti), potresti facilmente ottenere 0 barre, perché quei dati non sono ancora nel terminale.
Proprio per questo, una volta abbiamo pubblicato uno script sul caricamento garantito dei dati storici di qualsiasi simbolo-periodo esistente.
Una volta abbiamo pubblicato uno script su questo argomento, che garantisce il caricamento dei dati storici di qualsiasi simbolo-periodo esistente.
Leggi la sezione di aiuto sull'organizzazione dell'accesso ai dati
Cioè, in tm[0] avete il tempo della 5° barra dalla fine.
In questo caso, nella prima richiesta di dati diversi dal timeframe corrente (stai richiedendo i minuti), puoi facilmente ottenere 0 barre, perché questi dati non sono ancora nel terminale.
Una volta abbiamo pubblicato uno script sul tema del caricamento garantito dei dati storici di qualsiasi simbolo-periodo esistente.
Puoi ottenere periodicamente 0 anche sul timeframe corrente, solo su barre diverse. Molto raramente, però. Non riesco a riprodurlo oggi, mentre ieri lo ottenevo su quasi ogni nuova barra (non chiamata).
Cercherò lo script, grazie.
In generale, la confusione più grande è perché tutte le funzioni Copy funzionano, nelle stesse condizioni, - e prendo qualcosa di sinistra sul leopardo?
È fantastico...
Aggiornare la possibile risposta per ottenere 0 al primo giro
Мы не можем прямо обратиться к серверу, но любая Copy-функция при нехватке истории в формате HCC в терминал автоматически инициирует посылку такого запроса от терминала к торговому серверу.e Bars non lo fa.
Aggiornamento 2 manca una lettera nell'aiuto, in, evidenziata in rosso.