Simboli personalizzati. Errori, bug, domande, suggerimenti. - pagina 32

 

CustomTicksReplace e CustomTicksAdd non mantengono i flag TICK_FLAG_BUY e TICK_FLAG_SELL. Di conseguenza, gli indicatori di tipo Delta non funzioneranno su un simbolo personalizzato. Perché gli sviluppatori hanno deciso di non salvare queste bandiere?

 

MT5 3041. Il servizio crea e aggiorna le quotazioni degli strumenti personalizzati (sia tick che barre).

Ho trovato cheSymbolInfoDouble e SymbolInfoTick chiamati nell'Expert Advisor in esecuzione su questo graficosi "bloccano" ad un certo punto: nella panoramica del mercato le quotazioni cambiano, il grafico viene aggiornato, iClose e CopyTicksRange ottengono i dati attuali, ma SymbolInfoXXX dà informazioni non aggiornate.

Nel processo di parsing si è arrivati al codice più semplice, che era destinato a rilevare questi "hangs", ma molto prima ha dimostrato il problema dall'altro lato:SymbolInfoXXX è semplicemente in inesorabile ritardo rispetto a iClose! Si può vedere a occhio nudo:


Esegui un tale EA sul tuo grafico di castum, per favore:

int OnInit(void)
{
        EventSetMillisecondTimer(10);
        return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
        EventKillTimer();
        Comment("");
}

void OnTimer(void)
{
        MqlTick tick;
        SymbolInfoTick( _Symbol, tick );

        Comment( "SymbolInfoInteger( _Symbol, SYMBOL_TIME ) = ", TimeToString( SymbolInfoInteger( _Symbol, SYMBOL_TIME ), TIME_SECONDS ),
                                        "\nSymbolInfoDouble( _Symbol, SYMBOL_BID ) = ", SymbolInfoDouble( _Symbol, SYMBOL_BID ),
                                        "\ntick.time = ", TimeToString( tick.time, TIME_SECONDS ),
                                        "\ntick.bid = ", tick.bid,
                                        "\niClose[0] = ", iClose( _Symbol, PERIOD_CURRENT, 0 ) );
}

(OnTimer può essere cambiato in OnTick, non cambia l'essenza)

Avete ritardi simili?

 
Andrey Khatimlianskii #:

Hai dei freni simili?

Non posso controllare perché non ho i personaggi personalizzati aggiornati.

 
Alain Verleyen #:

È già stato discusso.

Impostare prima SYMBOL_VOLUME_MAX

 
Andrey Khatimlianskii per uno strumento personalizzato (sia tick che barre).

Ho trovato che SymbolInfoDouble e SymbolInfoTick, chiamati nell'Expert Advisor in esecuzione su questo grafico, ad un certo punto si "blocca ": nella panoramica del mercato le quotazioni cambiano, il grafico viene aggiornato, iClose e CopyTicksRange ottengono i dati attuali, ma SymbolInfoXXX dà informazioni non aggiornate.

Nel processo di parsing si è arrivati al codice più semplice, che era destinato a rilevare questi "hangs", ma molto prima ha dimostrato il problema dall'altro lato: SymbolInfoXXX è semplicemente in inesorabile ritardo rispetto a iClose! Si può vedere a occhio nudo:


Esegui un tale EA sul tuo grafico di castum, per favore:

(OnTimer può essere cambiato in OnTick, non cambia l'essenza)

Avete ritardi simili?

Per favore fatemi sapere quale servizio usate per aggiornare le zecche? Spero di potervi aiutare in qualche modo e di potervi aiutare.

 
Slava #:

Slava, SymbolInfoDouble e SymbolInfoTick dovrebbero rallentare/impiccare?

Sta giocando?

Scrivere il codice che misura la frenata, l'effetto visivo non basta?

 
Andrey Khatimlianskii #:

SymbolInfoXXX è incredibilmente lento rispetto a iClose! Si può vedere a occhio nudo.

Devo aver detto qualcosa di stupido visto che nessuno risponde.

A volte funziona bene, le informazioni del grafico vengono aggiornate quasi sincronicamente. E a volte SymbolInfoXXX si blocca per decine di secondi, lo si può vedere senza alcuna misura.

C'è qualcosa di sbagliato nel meccanismo di ricezione dei dati dello strumento castrum. Inoltre, il problema è solo con le funzioni SymbolInfoXXX, iClose e CopyTicksRange funzionano bene.

 
Andrey Khatimlianskii #:

E a volte SymbolInfoXXX si blocca per decine di secondi, lo si può vedere senza alcuna misura.

C'è qualcosa di sbagliato nel meccanismo di ottenimento dei dati degli utensili castum... Inoltre, il problema è solo con le funzioni SymbolInfoXXX, iClose e CopyTicksRange funzionano bene.

SymbolInfoXXX deve estrarre qualcosa dal server, perché ha una velocità di esecuzione variabile. Naturalmente, questo comportamento di questa funzione è molto confuso in generale. Quindi, alcuni metodi arrivano direttamente al server e altri attraverso il retro. Ho iTime che funziona e non funziona a Custom. Non riesco ancora a capire su quale principio

 
Andrey Khatimlianskii #:

E il problema è solo nelle funzioni SymbolInfoXXX, iClose e CopyTicksRange funzionano bene.

Ho provato il tuo test, tutto è esattamente lo stesso - lag di un paio di secondi. non su custom, ma su silver futures

Strumento Silv-12.21. ММВБ, broker БКС. Ma credo che non abbia importanza.

 
RusPro #:

SymbolInfoXXX deve tirare qualcosa dal server, poiché la velocità di esecuzione è variabile. In generale, naturalmente, questo comportamento della funzione confonde. Si scopre che alcuni metodi sono usati direttamente, mentre altri sono usati a ritroso. Ho iTime che funziona e non funziona a Custom. Non riesco ancora a capire su quale principio funzioni.

Non sto parlando di strumenti personalizzati, sto parlando di castum. Per definizione, tutte le informazioni su di loro sono accessibili nel terminale e nulla deve andare al server.

Motivazione: