Domande da un "manichino" - pagina 250

 
stringo:

l'intervallo che si specifica è: ora attuale - ora attuale (ora della barra attuale) più un certo numero di secondi (cioè un certo tempo futuro)

Cosa volete ottenere in un dato intervallo? Come si svilupperà il prezzo? "Se l'avessi saputo, avrei vissuto a Sochi".

No. È più semplice di così.

Ho l'inizio della barra D1.

D1 + 86400 minuti del giorno.

In quei minuti cerco il max/min e specifico il tempo.

Ma Bars non funziona affatto al primo tentativo, e ho il forte sospetto che occasionalmente menta. Sto cercando di scrivere un ToR per ora, per fare un controllo incrociato :)

In ogni caso, i problemi con Bars si sono rivelati più grandi che con Copy. In questo thread, l'uomo sembra anche avere un problema con Bars.

 
stringo:
Non c'è bisogno di portare questa domanda a servicedesk. Che risposta vuoi ottenere?

Ok, non lo farò.

PS Per controllare che la funzione funzioni.

 
tol64:
Controlla (log) i tempi di inizio (t[0]+b) e di fine (t[0]) dell'intervallo. Lo otterrete subito.
Questo non è sufficiente. Dobbiamo ricontrollare il numero di barre restituito con un'altra funzione.
 
Silent:

Ok, non lo farò.

PS per controllare se la funzione funziona.

Vi dico subito che otterrete 0 barre in entrambi i casi! Non c'è niente da controllare. Se non capite perché otterrete comunque 0 barre, allora fate la domanda qui.

Domanda: quante barre volevi prendere?

 
Silent:
Questo non è sufficiente. Dovreste ricontrollare il numero di barre restituito con un'altra funzione.

Non sto dicendo che non può essere sufficiente. Ma bisogna iniziare da qualche parte per capirlo. Altrimenti, sarete bloccati in una situazione di stallo ad ogni passo. )))

Controllate i valori nel log o nel debugger e saprete subito dove andare dopo.

 
stringo:

Vi dico subito che otterrete 0 barre in entrambi i casi! Non c'è niente da controllare. Se non capite perché otterrete comunque 0 barre, allora fate la domanda qui.

Controdomanda: quante barre volevi prendere?

E non ottengo costantemente 0.

1° tentativo - 0.

2° tentativo - valore, ma allo stesso tempo.

   bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = например 368
   bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = а тут 1201

Ed è su due barre adiacenti, e il secondo valore si ripeterà costantemente, ma il primo no.

E quando si esegue su minuti ho ottenuto 6 in entrambi i casi, con b > 50000...

Comunque, ok. Se tutto va bene con la funzione, è più facile per me scartarla.

 
tol64:

Non sto dicendo che non può essere sufficiente. Ma bisogna iniziare da qualche parte per capirlo. Altrimenti, sarete bloccati in una situazione di stallo ad ogni passo. )))

Controllate i valori nel log o nel debugger e saprete subito dove andare da qui.

È tutto chiaro, ho già stampato ogni passo, e la funzione è tirata in uno script separato... Ok, ci penserò con calma.
 
Silent:
Questo non è sufficiente. È necessario ricontrollare il numero di barre restituito con un'altra funzione.

Se una funzione non funziona, dovreste iniziare a cercare un errore controllando i parametri passati alla funzione.

Stringo te l'ha già detto direttamente: "vengono passati parametri errati alla funzione", e ancora non riuscite a capirlo.

 
Silent:

E non ottengo uno 0 fisso.

1° tentativo - 0.

2° tentativo - valore, ma allo stesso tempo.

Ed eseguendolo a minuti si otterrebbe 6 in entrambi i casi, con b > 50000...

Comunque, ok. Se tutto va bene con la funzione, è più facile per me scartarla.

Non devi rinunciare alla funzione.

Quando si richiedono dati nell'intervallo"tempo corrente - tempo corrente più un certo numero di secondi", significa che si stanno richiedendo 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.

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

Se una funzione non funziona, dovreste iniziare a cercare un errore controllando i parametri passati alla funzione.

Stringo te l'ha già detto direttamente: "vengono passati parametri errati alla funzione", e ancora non riuscite a capirlo.

OK, OK.

Capito, mi correggo, vado a imparare.