Otimização no modo tick, com cpus em rede.

 

Ola Amigos!


Tenho uma rede com 48 núcleos, minha automação é scalper , ou seja tenho que ter preço com boa exatidão ao entrar e sair do trade.

Gostaria de realizar uma otimização usando o modo a cada tick, processo e pesado e usa tanto cpu e memória ram.

Existem alguma função, regra que eu possa adicionar tanto no Ontick ou Ontester para acelerar  ou ate mesmo uma bliblioteca para a otimização a cada tick??

Obs: Já depurei o código para deixar ele o mais leve possível!!


Obrigado pela atenção!

 
Wimax49:

Ola Amigos!


Você já disse que "profilou" o programa para diminuir os gargalos... mas pode ser que essas dicas te sirvam.

1) No OnTick() não faça comparações que obriguem a um casting e/ou envolvem strings, exemplos:

        if(TimeCurrent()>"2021.05.09 09:00:00")

      if( TimeCurrent() > StringToTime("09:00:00" ) )

   if( um_Long  == um_Double )  


2) Em tempo de otimização: if( MQLInfoInteger(MQL_OPTIMIZATION) )

.. Eu uso o OnTimer() e coloco  EventSetTimer(120);

.. Eu pulo a execução de"painéis", "comment" e comandos gráficos.

Por último, não gaste seu tempo com otimização a cada tick pois são ticks gerados pelo MT5 , faça a otimização modo a cada tick com tick reais, desde que estes sejam confiáveis.




 
não sei o que o pessoal pensa, mas se for na B3 e vc pegar os ticks das corretoras fazer a otimização e depois colocar na conta real, vai ver que não bate muito os valores...o interessante seria vc gravar os proprios ticks para depois testar
 
Eduardo Oliveira:
não sei o que o pessoal pensa, mas se for na B3 e vc pegar os ticks das corretoras fazer a otimização e depois colocar na conta real, vai ver que não bate muito os valores...o interessante seria vc gravar os proprios ticks para depois testar

Olá Eduardo,

de fato uma base de ticks reais confiável as vezes faz falta.

Razão: