![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
)). Isto pode ter um lugar somente em artesanato pessoal com conhecimento exato da faixa de valores, mas não na biblioteca std. As funções embutidas não são escritas por tolos, não pense que você é o mais inteligente. Aqui está um amigo que também escreve um comportamento indefinido e não especificado e depois se surpreende que não funcione dessa maneira https://www.linux.org.ru/forum/development/14422428#comments. Todas essas economias de alguns nanossegundos não serão visíveis nem mesmo em algoritmo real (não em loop nu).
Só agora eu peguei o que você estava dizendo.
Retiro que você não está no circuito. Peço desculpas.
Sim, você pode usar essa variante com a condição de que o dobro do número esteja na faixa de -900719999254740992 a 9007199254740992 (2 até a potência de 53 (número de bits na mantissa))
Pense no que você vai obter fora da faixa inteira.
Que tal isso?
resultado:
o teste parece mostrar uma identidade completa.
Entretanto, a velocidade da solução alternativa neste caso, onde há uma verificação de alcance, é mais alta em cerca de 2 vezes (ao invés de 3-8), mas isto se o número duplo estiver na faixa de-9007199254740992 a 9007199254740992. Mas é muito mais alto quando está fora desta faixa.
o teste parece mostrar uma identidade completa.
No entanto, esta variante não leva em conta o excesso de variável de entradado tipo duplo, quando toma valores nan, snan.
Se tiver que ser levado em conta, você pode adicionar mais uma verificação, mas ainda assim esta variante funcionará mais rapidamente do que a função original
Escreva um EA para um testador/optimista. É aí que a velocidade na prática é importante.
Escreva um EA para um testador/optimista. É aí que a velocidade é importante na prática.
Como muitas pessoas sabem, eu também faço gráficos suaves. É para suavizar os gráficos e trabalhar com cada pixel que as funções de arredondamento são ativamente utilizadas.
Antes eu não podia sequer imaginar que a função de arredondamento fosse mais lenta do que a extração da raiz quadrada do duplo.
É por esta razão que eu levei a sufocar aqueles nanossegundos. Porque aqueles nanossegundos no gráfico alisado podem se transformar em milissegundos em cada quadro, e um quadro pode mudar a cada 33 milissegundos.
Como muitas pessoas sabem, eu também lido com gráficos anti-aliased. É para gráficos anti-aliased e trabalhar com cada pixel que as funções de arredondamento são utilizadas ativamente.
É por esta razão que me empenhei em suavizar esses nanossegundos. Porque aqueles nanossegundos nos gráficos suavizados podem se transformar em milissegundos em cada quadro, e um quadro pode mudar a cada 33 milissegundos.
Naturalmente, isto é importante para os gráficos. É por isso que as otimizações algorítmicas para quase todas as tarefas comuns já existem há muito tempo.
Naturalmente, isto é importante para os gráficos. É por isso que as otimizações algorítmicas para quase todas as tarefas comuns já existem há muito tempo.
Você está enganado. O campo ainda não está arado, e o que está arado está fechado. E ainda mais na MQL. A classe CCanvas está muito longe da otimização e quase não há antialiasing e o que há de antialiasing é insatisfatório.
Por que você não usa LONG_MAX/MIN? De alguma forma, ficaria mais bonito. Acho que fica bonito. Fiz seus testes com o gcc (com modificações mínimas, é claro, com o compilador muito antigo 5.4.0, o que eu tinha em mãos):
1. Compilação com -O3.
2. Compilação com -Ofast
Seu código tem um problema com cálculo de tempo - saída em milissegundos (não nano), e eu ainda não entendo porque você precisa de menos t0.
Errado. Ainda há um campo não lavrado, e o que é lavrado está fechado.
Eu estava falando de experiência mundial. Veja os algoritmos nos fóruns temáticos onde eles fazem demonstrações gráficas. As pessoas estão compartilhando seus algoritmos rápidos.
Eu estava falando de experiência mundial. Procure por algoritmos nos fóruns temáticos onde são feitas as demonstrações gráficas. As pessoas estão compartilhando algoritmos rápidos.