Non c'è davvero molto da fare finora. Selezionando il tempo più lungo. Ma questo è un costo aggiuntivo per ottenere due valori temporali ad ogni OnBookEvent()...
Alexey Kozitsyn: Non c'è davvero molto da fare finora. Selezionando il tempo più lungo. Ma è una spesa aggiuntiva per ottenere due valori temporali ad ogni OnBookEvent()...
EmulareTimeTradeServer tramite GetMicrosecondCount. Oppure aggiungere la differenza tra TimeTradeServer e TimeCurrent al 99% di BookEvent.
TimeTradeServer lavora attraverso GetMicrosecondCount aggiungendo la differenza corrispondente a TimeCurrent.
Non so cosa ti serva per ottenere. Ma risparmiare su unità di microsecondi non mi sembra ragionevole.
Ho bisogno di ottenere il valore corretto dell'ora corrente. Sto richiedendo da OnBookEvent() del tempo corrente di scrivere il valore del parametro legato al tempo. E ho bisogno del tempo attuale, non del tempo trascorso, e preferibilmente senza stampelle sotto forma di ottenere diversi valori di tempo con la scelta del valore più grande. TimeCurrent() dovrebbe gestire questo compito (secondo la descrizione nella documentazione). Ma si è scoperto che ora non lo fa più!
Alexey Kozitsyn: Ho bisogno di ottenere il valore corretto dell'ora corrente. Sto interrogando l'ora corrente da OnBookEvent() per scrivere il valore di un parametro legato all'ora. E ho bisogno del tempo attuale, non del tempo passato, e preferibilmente senza le stampelle di ottenere più valori di tempo e selezionare il valore più alto. TimeCurrent() dovrebbe gestire questo compito (secondo la descrizione nella documentazione). Ma si è scoperto che ora non lo fa più!
Potevi essere più preciso. Per esempio, si potrebbe passare attraverso tutti i caratteri interrogando SymbolInfoTick (+ CopyTicks). Da lì, gratta via il tempo in millisecondi. Solo che non capisco quale utilità pratica possa avere.
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.
Non c'è davvero molto da fare finora. Selezionando il tempo più lungo. Ma è una spesa aggiuntiva per ottenere due valori temporali ad ogni OnBookEvent()...
Applicazione alla SR#1674783
Per favore, decidete il prima possibile!
EmulareTimeTradeServer tramite GetMicrosecondCount. O aggiungere la differenza tra TimeTradeServer e TimeCurrent nel 99% del BookEvent.
Si tratta ancora di ottenere alcuni parametri.
La questione non è il numero di parametri, ma la loro economicità totale.
Quindi, pensate che TimeTradeServer() funzionerà più velocemente di SymbolInfoInteger( _Symbol, SYMBOL_TIME )?
TimeTradeServer lavora attraverso GetMicrosecondCount aggiungendo la differenza corrispondente a TimeCurrent.
Non so cosa ti serva per ottenere. Ma risparmiare sui microsecondi non mi sembra ragionevole.
TimeTradeServer lavora attraverso GetMicrosecondCount aggiungendo la differenza corrispondente a TimeCurrent.
Non so cosa ti serva per ottenere. Ma risparmiare su unità di microsecondi non mi sembra ragionevole.
Ho bisogno di ottenere il valore corretto dell'ora corrente. Sto interrogando l'ora corrente da OnBookEvent() per scrivere il valore di un parametro legato all'ora. E ho bisogno del tempo attuale, non del tempo passato, e preferibilmente senza le stampelle di ottenere più valori di tempo e selezionare il valore più alto. TimeCurrent() dovrebbe gestire questo compito (secondo la descrizione nella documentazione). Ma si è scoperto che ora non lo fa più!
{
static ulong PrevStartTime = GetMicrosecondCount();
static datetime PrevTimeCurrent = TimeCurrent(); // TimeTradeServer()
const datetime NewTimeCurrent = TimeCurrent(); // TimeTradeServer()
const ulong NowTime = GetMicrosecondCount();
if (PrevTimeCurrent < NewTimeCurrent)
{
PrevTimeCurrent = NewTimeCurrent;
PrevStartTime = NowTime;
}
return(PrevTimeCurrent + (datetime)((NowTime - PrevStartTime) / 1000000));
}
Esegui tutti i simboli interrogando SymbolInfoTick (+ CopyTicks). Da lì, gratta via il tempo in millisecondi.