Símbolos personalizados. Erros, bugs, perguntas, sugestões. - página 32

 

CustomTicksReplace e CustomTicksAdd não retêm as bandeiras TICK_FLAG_BUY e TICK_FLAG_SELL. Consequentemente, os indicadores do tipo Delta não funcionarão em um símbolo personalizado. Por que os desenvolvedores decidiram não salvar essas bandeiras?

 

MT5 3041. O serviço cria e atualiza citações personalizadas de instrumentos (tanto carrapatos quanto barras).

Descobri queSymbolInfoDouble e SymbolInfoTick chamou o Expert Advisor executando neste gráfico"fica pendurado" em algum momento: na visão geral do mercado as cotações mudam, o gráfico é atualizado, iClose e CopyTicksRange recebem dados reais, mas SymbolInfoXXX fornece informações desatualizadas.

No processo de análise chegou ao código mais simples, que se destinava a detectar essas "pendências", mas muito antes demonstrou o problema pelo outro lado:SymbolInfoXXX está simplesmente atrasado implacavelmente em comparação com iClose! Você pode vê-lo a olho nu:


Execute tal EA em sua carta de castum, por favor:

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 pode ser alterado para OnTick, ele não muda a essência)

Você tem um atraso semelhante?

 
Andrey Khatimlianskii #:

Você tem freios similares?

Não posso verificar, pois não tenho os caracteres personalizados atualizados.

 
Alain Verleyen #:

Já foi discutido.

Definir SYMBOL_VOLUME_MAX primeiro

 
Andrey Khatimlianskii para um instrumento personalizado (tanto carrapatos quanto barras).

Descobri que SymbolInfoDouble e SymbolInfoTick, chamados no Expert Advisor rodando neste gráfico, em algum momento "pendem": na visão geral do mercado as cotações mudam, o gráfico é atualizado, iClose e CopyTicksRange obtêm dados reais, mas SymbolInfoXXX fornece informações desatualizadas.

No processo de análise chegou ao código mais simples, que se destinava a detectar essas "pendências", mas muito antes demonstrou o problema pelo outro lado: SymbolInfoXXX está simplesmente atrasado implacavelmente em comparação com iClose! Você pode vê-lo a olho nu:


Execute tal EA em sua carta de castum, por favor:

(OnTimer pode ser alterado para OnTick, ele não muda a essência)

Você tem um atraso semelhante?

Por favor, me informe qual serviço você usa para atualizar as carrapatas? Espero poder ajudar de alguma forma e posso ajudar você.

 
Slava #:

Slava, SymbolInfoDouble e SymbolInfoTick devem ser lentos/pendurados?

Está brincando?

Código de escrita que mede a frenagem, efeito visual não é suficiente?

 
Andrey Khatimlianskii #:

SymbolInfoXXX é incrivelmente lento em comparação com iClose! Você pode vê-lo a olho nu.

Devo ter dito algo estúpido já que ninguém está respondendo.

Às vezes funciona bem, as informações do gráfico são atualizadas quase que sincronizadamente. E às vezes SymbolInfoXXX fica pendurado por dezenas de segundos, é visível sem nenhuma medida.

Há algo errado no mecanismo de recepção de dados da ferramenta castrum. Além disso, o problema está somente nas funções SymbolInfoXXX, iClose e CopyTicksRange funcionam bem.

 
Andrey Khatimlianskii #:

E às vezes SymbolInfoXXX fica pendurado por dezenas de segundos, você pode ver isto sem nenhuma medida.

Há algo errado no mecanismo de obtenção de dados da ferramenta castum. Além disso, o problema está somente nas funções SymbolInfoXXX, iClose e CopyTicksRange funcionam bem.

SymbolInfoXXX deve estar puxando algo do servidor, pois tem velocidade de execução variável. É claro que este comportamento desta função é muito confuso em geral. Isso significa que alguns métodos estão diretamente tentando obter alguns retrocessos. Eu tenho o iTime que funciona e não funciona no Custom. Ainda não consigo entender, em que princípio

 
Andrey Khatimlianskii #:

E o problema está apenas nas funções SymbolInfoXXX, iClose e CopyTicksRange funcionam bem.

Tentei seu teste, tudo é exatamente o mesmo - fica um par de segundos. não no costume, mas no futuro prateado

Instrumento Silv-12.21. ММВБ, corretor БКС. Mas acho que isso não importa.

 
RusPro #:

SymbolInfoXXX deve estar puxando algo do servidor, já que a velocidade de execução é variável. Em geral, é claro, este comportamento da função é confuso. Acontece que alguns métodos são usados diretamente, enquanto outros são usados para trás. Eu tenho o iTime que funciona e não funciona no Custom. Ainda não consigo entender em que princípio ele funciona.

Não estou falando de ferramentas personalizadas, estou falando de castum. Por definição, todas as informações sobre eles estão disponíveis no terminal e nada deve ir para o servidor.

Razão: