MT5 e velocidade em ação - página 67

 
fxsaber:

O problema é muito simples: como escrever uma EA que não abrande quando se espera por uma fila? Um loop infinito é impossível, porque Dormir é um freio. Assim, o loop assíncrono se desvia. Agora, não é a hora de pegar as esperas em forma de longos milissegundos.

No seu caso - mude seu computador para um mais potente. E então você pode parar de usar o Sleep
 
Anton:

Não se engane a si mesmo e aos outros.

Todas as suas declarações aqui descrevem uma tarefa completamente diferente: como escrever uma EA que não abrande em um equipamento de 9 anos de idade que está sobrecarregado até seus limites.

Este fio condutor e sua participação, em particular, me ajudaram a escrever uma tal EA. A carga de CPU é de até 10% em um VPS muito fraco quando tenho mais de uma dúzia de Expert Advisors em funcionamento. Um clique para centenas de posições e ordens pendentes. CopyTicks em cada tick e assim por diante. Portanto, sua reafirmação está errada.


Preciso criar uma EA em uma máquina forte com CPU ociosa que não vai esperar na fila por longos milissegundos. Infelizmente, você não realizou o teste EA em seu MuscleCar.

 
Slava:
No seu caso - talvez você precise mudar seu computador para um mais potente. Então você não terá que usar o Sleep.

Por favor, nos dê um valor de referência para determinar se a potência do carro é suficiente ou não.


Por favor, peça a todos os proprietários de ferro potente que compartilhem o resultado deste assessor em sua máquina. Você deve esperar um ou dois minutos depois de iniciar.

 
fxsaber:

É por isso que estou fazendo uma pergunta aos proprietários da MQ-Demo.

Nesse caso, esta pergunta ficará sem resposta. Este é um servidor de demonstração.

Mais uma vez: no terminal você obtém os preços mais "recentes" para cada símbolo.

O terminal não está no negócio de definir ou modificar os tempos de tic-tac - como veio, por isso é dado. O terminal não tem a tarefa de sincronizar os tempos de marcação de diferentes símbolos.

Portanto, sua suposição de que o terminal "abranda" e envia carrapatos antigos para o Expert Advisor com base no teste que você forneceu é falsa.

Neste momento, considerarei a questão encerrada. Seu treinamento não é a tarefa principal dos desenvolvedores.

 

Na minha opinião, é melhor testar em uma máquina lenta. Ele mostrará problemas que de outra forma passariam despercebidos em uma máquina rápida.

Farei o teste ainda hoje e publicarei os resultados.

 
Anton:

Nesse caso, esta pergunta permanecerá sem resposta. Este é um servidor de demonstração.

Mais uma vez, no terminal você obtém os preços mais "atualizados" para cada símbolo.

O terminal não está no negócio de definir ou modificar os tempos de tic-tac - como veio, por isso é dado. O terminal não tem a tarefa de sincronizar os tempos de marcação para símbolos diferentes.

Sua demonstração existe para o trabalho técnico. Se eu mudar para outro servidor, você me enviará para o corretor. Por que seu servidor gera o tick stream de tal forma que ele envia tiquetaques antigos? Se o problema não está no terminal, ele está na parte do servidor. Neste caso, o servidor pertence à MQ. Portanto, qualquer corretor não tem nada a ver com isso.

Portanto, sua suposição, baseada no teste que você forneceu, de que o Terminal "abranda" e envia os velhos tiquetaques da EA é falsa.

Neste momento, considerarei a questão encerrada. Seu aprendizado não é a tarefa principal dos desenvolvedores.

Sua especulação sobre minha suposição está errada. Não há necessidade de ler nas entrelinhas.


E ao ponto. A situação real em seu servidor (e outros). O último tique de entrada no Market Watch tem tempo 00:00:00.150, depois um tique vem com tempo 00:00:00.148. Quando foi recebido no Terminal, há quanto tempo ele está vivo?

 
fxsaber:

Favor fornecer um Benchmark para orientá-lo a determinar se sua máquina é suficientemente potente ou não.


Pedimos a todos os proprietários de hardware poderoso que compartilhem os resultados deste assessor em suas máquinas. Você deve esperar um ou dois minutos depois de iniciar.

2020.11.04 19:55:49.461	test1 (EURUSD,H1)	Alert: OnBook-lag! - 1002 mcs.
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[0] 1.17269 1.17269     true     494478
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[1] 1.17269 1.17269    false        297
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[2] 1.17272 1.17272     true     117109
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[3] 1.17272 1.17272    false       1002
2020.11.04 19:55:59.922	test1 (EURUSD,H1)	Alert: OnTick-lag! - 2673766 mcs.
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[0] 1.17266 1.17266    false        252
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[1] 1.17264 1.17264     true      35875
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[2] 1.17264 1.17264    false        247
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[3] 1.17264 1.17264     true    2673766
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	Alert: OnTick-lag! - 6478 mcs.
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[0] 1.17258 1.17258     true      86315
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[1] 1.17258 1.17258    false        265
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[2] 1.17260 1.17260    false      42446
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[3] 1.17260 1.17260     true       6478
...
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15596 mcs.
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[0] 1.17292 1.17293     true     107565
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[1] 1.17292 1.17293    false        275
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[2] 1.17293 1.17293    false     219947
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[3] 1.17293 1.17293     true      15596
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15784 mcs.
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[0] 1.17294 1.17294     true      29494
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[1] 1.17294 1.17294    false        283
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false     549238
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true      15784
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	Alert: OnTick-lag! - 4075 mcs.
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[0] 1.17297 1.17297     true      21386
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[1] 1.17297 1.17297    false        325
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false      97215
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true       4075

2020.11.04 12:18:51.145 Terminal        Windows 10 build 19041, AMD Ryzen 5 1600 Six-Core Processor, 12 / 15 Gb memory, 140 / 446 Gb disk, IE 11, UAC, GMT+3
O hardware parece ser mais ou menos potente...
 



2020.11 . 04  17 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp. 
2020.11 . 04  17 : 55 : 08.420 Terminal the the the the Windows 10 build 18362 , Intel Core i5- 7400      @ 3.00 GHz, 22 / 31 Gb memory, 29 / 222 Gb disk, IE 11 , UAC, GMT + 1


Ferragens midiocre sem carga.


Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так как  Oprocessamento de eventosé seqüencial, não paralelo. O que o pivô do usuário tentou dizer a você
Acredito que isto será sempre um problema devido à natureza consistente do mesmo.
Entretanto, parece valer a pena ficar de olho tanto nas notícias quanto nas notícias se você quiser receber as últimas notícias o mais rápido possível.
Arquivos anexados:
_20201104.log  199 kb
 
fxsaber:

Convido outros a compartilhar o resultado da execução deste roteiro em sua máquina.

2020.11.04 18:33:01.220 TextCreate (EURUSD,H1)  total 18018475 microseconds (1.802 ms per iteration)
 
fxsaber:

Seu roteiro.


Máquina.

Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 18 / 29 Gb disk

disco de 29gb. Você está testando a partir de máquinas domésticas e entendo que você é de um VPS ou de uma máquina virtual.

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...