Servicedesk. Reclami, suggerimenti. - pagina 2

 
Aspettando l'arbitrato per un tempo molto lungo. Settimana 3 (mi hanno chiesto di aspettare 2 settimane, OK).
 
Renat Fatkhullin:
Lo sistemeremo in quad - abbiamo esagerato con lo scarico aggressivo delle carte non utilizzate.

Renat, hai letto il mio post iniziale? Perché non è in uso? Ci sono richieste ad ogni tick, molto più spesso di una volta ogni 10 secondi. O inutilizzato = non aperto? Si prega di chiarire.

Sono molto contento, comunque, che tu abbia ascoltato quello che ho detto.

 
Ilya Malev:
Se non si usa la funzione MT5SeriesInfoInteger e al suo posto si usano le vecchie funzioni MT4, iBars, iTime, MarketInfo, ecc.

Usando iTime( _Symbol, period, Bars( _Symbol, period )-1 ) possiamo ottenere il tempo della prima candela disponibile sul grafico.

Ma per ottenere il tempo della prima candela sul server non ho deciso quale costruzione usare.

Usando SeriesInfoInteger lo facciamo molto semplicemente: SeriesInfoInteger( _Symbol, period,SERIES_SERVER_FIRSTDATE);

 
Alexey Kozitsyn:
Renat, hai letto il mio post iniziale? Perché non viene usato? Ci sono richieste ad ogni tick, molto più spesso di una volta ogni 10 secondi. O non usato = non aperto? Si prega di spiegare.

Ecco perché scrivo "scarico troppo aggressivo".

Lo esamineremo sicuramente.

 
Alexey Kozitsyn:

Usando iTime( _Symbol, period, Bars( _Symbol, period )-1 ) possiamo ottenere il tempo della prima candela disponibile sul grafico.

Ma per ottenere il tempo della prima candela sul server non ho deciso quale costruzione usare.

Tutto viene fatto semplicemente con SeriesInfoInteger: SeriesInfoInteger( _Symbol, period,SERIES_SERVER_FIRSTDATE);

MT4 non carica l'intera serie prima di chiamare la serie temporale? Quindi, se iBars accede alla serie temporale non nativa nello script MT4 in un ciclo con un secondo intervallo, allora il risultato sarà diverso?
 
Ilya Malev:
Ma MT4 non lo carica completamente prima di chiamare la serie temporale? Quindi, se iBar chiama una timeserie "sconosciuta" nello script MT4 con un intervallo di un secondo, il risultato sarà diverso?

Vedi anche. Potete limitare la disponibilità della cronologia impostando il terminale su Max bars nella finestra. Allora ci sarà più storia sul server che sul grafico. È logico.

Se vi rivolgete tramite la funzione SeriesInfoInteger(), allora, per avere sempre accesso ai dati, se questa funzione restituisce 0, chiamate la funzione iTime() dal simbolo/periodo necessario. Ma questo, in primo luogo, non è documentato da nessuna parte, e in secondo luogo, non è corretto, perché è garantito per ottenere dati dalla funzione, si può solo usare un'altra funzione. Allora perché abbiamo bisogno di questa funzione!

Ma come ho detto, la proprietàSERIES_SERVER_FIRSTDATE non sembra essere duplicata. Il che significa che, almeno per questo motivo, la funzione SeriesInfo... è necessario.

 
Alexey Kozitsyn:

Se invece si chiama la funzione SeriesInfoInteger(), per avere sempre accesso ai dati, se questa funzione restituisce 0 - chiama la funzione iTime() dal carattere/periodo desiderato.

Capirei l'urgenza di questo problema, se improvvisamente, invece di ottenere dati dal TF richiesto, le funzioni MT4 - iHigh, iLow, ... iBars ecc. ha restituito un errore (0). Le funzioni di MT5 non sono semplicemente necessarie in MT4, non c'è il caricamento asincrono dei dati, per quanto ho capito. E non ha senso complicare le cose.
 
Ilya Malev:
Capirei la rilevanza di questo problema se improvvisamente, invece di ottenere dati dal TF che stai cercando, le funzioni di MT4 - iHigh, iLow, ... iBars ecc. ha restituito un errore (0). Le funzioni di MT5 non sono semplicemente necessarie in MT4, non c'è il caricamento asincrono dei dati, per quanto ho capito. E non ha senso complicare le cose.

Che abbia senso o meno è un'altra questione.

Ma ancora una volta, non conosco un modo per ottenere la data della prima barra disponibile sul server per simbolo, se non attraverso la funzione SeriesInfoInteger(). Forse lo sai?

 
Alexey Kozitsyn:

Che abbia senso o meno è un'altra questione.

Ma ancora una volta, non conosco un modo per ottenere la data della prima barra disponibile sul server per simbolo, se non attraverso la funzione SeriesInfoInteger(). Forse lo sai?

Perché vorresti prenderlo?
 
Ilya Malev:
Perché hai bisogno di ottenerlo?

Se non altro perché è indicato nella documentazione e voglio usarlo.

Per scaricare e controllare la storia, simile a MT5: https://www.mql5.com/ru/docs/series/timeseries_access

Ripeto la domanda, sapete come ottenere questa data per mezzo del vecchio mql4?

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5