Latência entre os dados recebidos através do Excel RTD e “Dados originais”

Latência entre os dados recebidos através do Excel RTD e “Dados originais”

Tenho um programa (software) de negociação que se conecta ao Excel (via Excel RTD) para exibir preços em tempo real na minha planilha. (Também faço alguns cálculos.) Mas, por razões que ignoro totalmente, e nem sempre, mas com muita frequência, o preço que vejo na minha planilha tem algum atraso em relação ao preço que vejo no meu software. Às vezes, a latência dos preços exibidos no Excel pode chegar a vários minutos. Como o Excel RTD deve fornecer dados em tempo real, parece que ele armazena os dados em algum lugar quando há muita informação. Quando desativo a ligação entre o Excel e o meu software, os preços continuam sendo atualizados na minha planilha por alguns instantes (esses “alguns momentos” são iguais à latência entre o Excel e o software).

Isso é realmente irritante porque não sei por que o Excel RTD me dá preços com tanto atraso! Minha planilha tem menos de 300 células preenchidas, o que, na minha opinião, é absolutamente nada. Claro, meu limite de aceleração do Excel está definido como 0 para obter cada atualização. Também mudei meu arquivo de a .xlsxpara a .xlsb, mas nada mudou além do tamanho do arquivo.

Realmente parece que o Excel está armazenando os dados em algum lugar, mas não quero que isso aconteça; Quero dados em tempo real.

  • Usando a versão mais recente do Office -

O que está acontecendo? Como posso obter meus dados no Excel em tempo real?

Responder1

Talvez você possa considerar ajustar o acelerador de intervalo RTD no Microsoft Excel para definir o intervalo de aceleração mais alto por meio do modelo de objeto do Excel:

  1. No Excel, vá para o Editor do Visual Basic (pressionando ALT+F11 ou clicando no Editor do Visual Basic no Macromenu (menu Ferramentas)).
  2. Na janela Imediata (pressione CTRL+G ou clique em Janela Imediata no menu Exibir), digite este código: Application.RTD.ThrottleInterval = 1000
  3. Certifique-se de que o cursor esteja na linha que você acabou de digitar e pressione ENTER.
  4. Para verificar se está configurado corretamente, digite esta linha de código if na janela Imediata: ?Application.RTD.ThrottleInterval
  5. Se você colocar o cursor no final desta linha e pressionar ENTER, ele deverá exibir 1000. Então você saberá que o intervalo de aceleração está definido corretamente.

Revise este artigo para ver se ajuda: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa140060(v=office.10)#odc_xlrtdfaq_howconfigrtdthrottle

informação relacionada