Domande da un "manichino" - pagina 251

 
Silent:
È 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.

 
stringo:

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...

 
Silent:

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.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
tol64:

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.

   Print(tm[0]);
 
stringo:

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.

//--- переменные для указания параметров функции
   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);

Dove si trova

int start = 5; // индекс бара

bar di cui ricevo il tempo.

NON uso l'ora corrente. Per niente.

 
Metterò un assegno separato per il futuro, poi vedremo.
 
Silent:

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.

 
stringo:

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

 
stringo:

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.