Características da linguagem mql5, subtilezas e técnicas - página 95
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Tens a certeza que leste a pergunta toda?
...entre duas chamadas para a GetMicrosecondsCount...
Bem, é o que estou dizendo. A primeira chamada ocorre antes da sincronização e a segunda após a sincronização. A diferença será a mesma: o número real de microssegundos + correção da sincronização.
É disso que estou a falar. A primeira chamada é antes da sincronização e a segunda é depois da sincronização. A diferença é o número real de microssegundos + correcção da sincronização.
Agora me diga a probabilidade de correção de tempo entre duas chamadas para GetMicrofsecondsCount?
Se você está realmente medindo microssegundos, a probabilidade é próxima de 0.
E você mede micro segundos em intervalos de segundos ou mais? Porquê? Spherocon no vácuo?
Você está errado, eu citei especificamente o código aqui usando o WinApi. Execute-o, mude o relógio no processo, e veja o resultado.
Não é muito claro como conduzir qualquer diálogo com você, se seus argumentos são baseados em especulações. E você não considera sequer necessário se familiarizar com o curso da discussão temática.
Agora me diga a probabilidade de correção de tempo entre duas chamadas para GetMicrofsecondsCount?
Se você está realmente medindo microssegundos, então a probabilidade é quase 0.
E você mede microssegundos em segundos ou mais? Porquê? Spherocon no vácuo?
Já lhe disse, esta probabilidade depende do período de sincronização. Quanto mais curto for, mais vezes teremos um turno, ou seja, maior será a probabilidade. E também da distância entre as medidas vizinhas. Quanto mais longo for, mais frequentemente vamos atingir o offset. Assim, a probabilidade é calculada com base nestes dois parâmetros, e não apenas com um dedo no céu.
E por que você diz algo abaixo de 16 msec? Por exemplo, qualquer coisa abaixo de 16 msec só pode ser medida com esta função. E mesmo 16-30 milissegundos devem ser medidos com esta função, caso contrário, o erro será demasiado grande.
Se lhe parece que são bagatelas e podem ser ignoradas, então é puramente a sua opinião pessoal. Há pouco falamos aqui sobre a função padrão do sistema QueryPerformanceCounter, que funciona corretamente, sem nenhum turno. Deve ter sido inventado por alguma razão. E, a propósito, Renat aqui o declarou por alguma razão:
É assim que contamos os microssegundos.
Mas na verdade não é. É sobre o QueryPerformanceCounter.
És tu que não fazes ideia do problema que levantaste.
Não há mudança de tempo no QueryPerformanceCounter. Como assim? Executou o código para o qual lhe dei o link?
Depois de verificar a máquina de execução de código MQL5, descobriu-se que tínhamos um esquema de medição híbrido na GetMicrosecondCount:
Este código surgiu devido a uma tentativa de reduzir a sobrecarga do sistema na chamada de medição do tempo. Um dos desenvolvedores exagerou.
Nós, pessoalmente, e Slava tínhamos a certeza de que um puro QueryPerformanceCounter estava a funcionar. E havia um tal código. Mas estávamos enganados por causa da presença de um modelo híbrido.
Agora o QueryPerformanceFrequency + QueryPerformanceCounter puro vai funcionar.
Conclusão: sim, estragamos tanto a implementação da função GetMicrosecondCount como a proteção do seu comportamento.
Slava e eu pedimos desculpa por isso!Um lembrete sobre o uso de frases do tipo "deve" explícita ou implicitamente. O uso de "metaquotes deve" em vez de "por favor considere" é agora inaceitável.
Por favor, considere a hipótese de que, na maioria das vezes, a leitura nas entrelinhas não tem nada a ver com o que o interlocutor escreve.
Relatórios de bugs reais com assistência do fórum e despejando em MQs são coisas incompatíveis. É difícil imaginar uma pessoa que se transforma constantemente em odiadora e volta para trás.
IS 0 13:32:55.239 Trades '11391209': accepted exchange buy 1.00 AFKS at market DM 0 13:33:07.896 Trades '11391209': deal #265475900 buy 1.00 AFKS at 9.095 done (based on order #284425784) OD 0 13:33:07.898 Trades '11391209': order #284425784 buy 1.00 / 1.00 AFKS at 9.095 done in 12757.608 ms
Amigos, podem dizer-me a quem pedir conselhos - quero entender como trabalhar com diferenças de preço para o mesmo produto em trocas diferentes - sou novo neste negócio, quero entender. Eu ficaria grato por qualquer conselho - talvez eu devesse escrever em outro tópico?
Eu tenho acesso a vários intercâmbios estrangeiros, mas não entendo como tudo funciona