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

 
Renat Fatkhullin:

Faça o download de seus scripts de referência + exemplo.

  1. No computador local - vazio em 10 minutos

  2. Em um host VPS virtualizado multi-terminal carregado em 8 minutos

  3. Em VPShost físico carregado com muitos terminais em 8 mins

Obrigado, parece legal!

Os testes foram feitos em um terminal de tamanho completo 2630, e os terminais de trabalho VPS são vezes menos consumidores de recursos e sua latência é inevitavelmente menor.

Foram utilizados anfitriões de trabalho de nosso serviço VPS.

Tenho que usar o WinAPI para suprimir o apetite do terminal de desktop.

seu VPS. Se alguém mais tiver alguma recomendação válida, me avise.


Caros desenvolvedores, por favor, tenham a capacidade de mudar o terminal para o modo de consumo mínimo de recursos para algotrading.

 
Renat Fatkhullin:

Especifique o nome do servidor do corretor, por favor

Isto não se refere ao servidor específico do corretor.
Refere-se à escolha da medição ping em seu serviço proposto.
Ou seja, o mapa às vezes sugere uma distância maior do que o servidor do outro corretor, embora, por exemplo, ambos estejam no LD4.
Não vou nomear servidores específicos para comparação, apenas ao passar por estes servidores, notei esta peculiaridade.
Em geral, seria melhor ter uma lista de todos os locais para escolher.
Mas no momento interessado no AMPGlobalEU-Live e em seu servidor americano.

 
fxsaber:

Obrigado, parece legal!

Mas eu tenho que usar o WinAPI para refrear o apetite do Terminal de mesa.

Uma vez que o Terminal freqüentemente faz mais fps do que jogos de PC devido a atualizações muito freqüentes, a placa de vídeo vem em primeiro plano. Especialmente em vpscs sem cartões, toda a carga é colocada no processador estrangulado.

É por isso que você está certo em minimizar e desativar os painéis nos desktops virtuais.

Até cortamos metade do código do terminal em nosso serviço e removemos completamente a visualização. Os terminais tornaram-se apêndices executivos do vpc-controlador e trabalham somente com ele.

Portanto, as necessidades de recursos são muitas vezes menores. Tudo isso está descrito nos artigos sobre o serviço VPS.

 
Renat Fatkhullin:

Uma vez que o terminal muitas vezes tem fps mais altos que os jogos de PC devido à necessidade de atualizações muito freqüentes, a placa gráfica vem à tona. Especialmente em uma máquina virtual sem cartões, toda a carga é colocada sobre a CPU.

É por isso que você está certo em minimizar e desativar os painéis nos desktops virtuais.

Até cortamos metade do código do terminal em nosso serviço e removemos completamente a visualização. Os terminais tornaram-se apêndices executivos do vpc-controlador e trabalham somente com ele.

Portanto, as necessidades de recursos são muitas vezes menores. Tudo isso está descrito nos artigos sobre o serviço VPS.

Aqui está outra questão relativa ao seu VPS.
Há alguma restrição de soquete no programa mql funcionando em seu servidor?
É possível conectar-se ao corretor OpenAPI independentemente do programa mql, não MQ API.
Ou é possível trabalhar somente com a conta do corretor?

 
Roman:

Tenho outra pergunta sobre suas VPNs.
Há alguma limitação para a operação de soquetes em programa mql em seu VPS?
É permitido conectar do programa mql ao OpenAPI do corretor, não ao MQ API?
Ou seu suporte operacional só está ligado à conta do corretor?

Não há restrições às operações de soquete, exceto para os acessos localhost/127.0.0.1

As permissões estabelecidas em seu terminal são herdadas.

 
Renat Fatkhullin:

Uma vez que o terminal tem frequentemente fps mais altos que os jogos de PC devido à necessidade de atualizações muito freqüentes, a placa gráfica vem à tona. Especialmente em vpscs sem cartões, toda a carga é colocada no processador estrangulado.

Então por que não uma atualização instantânea a 20 Hz, reduzindo assim os fps? De qualquer forma, o visual só é necessário para os olhos humanos. Não vai notar se for 200 fps ou 20.

Portanto, você está certo em minimizar e desativar os painéis nos virtualizadores.

Infelizmente, você precisa da WinAPI para fazer isso. E ainda não aprenderam como fechar a janela do Market Watch and Tools. Por favor, me diga como fazer isso através do WinAPI.

Os produtos de mercado estão completamente freados em VPS de terceiros. Nenhuma minimização automatizada pode ser feita. Definir a ocultação do gráfico é o mesmo. Além disso, você não pode substituir o GetMicrosecondsCount lento por um analógico com quantização de milissegundos. É imposta uma GetTickCount bruta com 16ms, o que é demais para os mecanismos do ambiente comercial de snapshot.

Não é para comercializar seu serviço VPS, você está limitando-o dessa forma? Acho que ainda não era relevante. No entanto, já surgiu com a medição e algumas soluções de muletas.

Recortamos metade do código do terminal em nosso serviço e removemos completamente a visualização. Os terminais se tornaram apêndices executivos do vps-controller e trabalham somente com ele.

Portanto, as necessidades de recursos são muitas vezes menores. Tudo isso está descrito nos artigos sobre o serviço VPS.

O terminal de mesa poderia ser feito mais próximo de algotrading, e o consumo de recursos poderia ser reduzido através de capacidades MQL.

Diga-me, se você solicitar um histórico de tick para todos os símbolos no Market Watch (screener), o serviço VPS irá armazenar 128K ticks para cada símbolo como um cache?


Não.

bool CopyTicksClearCache( const string Symbol );
para que apenas os últimos ticks possam ser consultados sem grandes recursos, de modo a esquecer os saltos no OnTick.
 
Roman:

Isto não se refere ao servidor específico do corretor.
Refere-se à escolha da medição ping em seu serviço sugerido.
Ou seja, o mapa às vezes sugere uma distância maior do que o servidor do outro corretor, embora, por exemplo, ambos estejam no LD4.
Não vou nomear servidores específicos para comparação, apenas ao passar por estes servidores, notei esta peculiaridade.
Em geral, seria melhor ter uma lista de todos os locais para escolher.
Mas no momento interessado no AMPGlobalEU-Live e em seu servidor americano.

AMPGlobalEU-Live com servidor MetaTrader 4 em Londres no LD4 mostra um ping de 1,73 ms:


Mas o AMPGlobalEU-Live (na verdade é melhor procurá-lo como AMPGlobalUSA-Live) para o MetaTrader 5 com um núcleo de plataforma física em Chicago mostra 19,53 ms, já que nossos servidores mais próximos estão em Nova York:

Especialmente digitalizados todos os seus pontos manualmente - o mínimo é de 19 ms.

Vamos tentar colocar servidores em Chicago nos próximos dias. Ainda não chegou a esse ponto.

 
Renat Fatkhullin:

AMPGlobalEU-Live com servidor MetaTrader 4 em Londres no LD4 mostra um ping de 1,73ms:


Mas o AMPGlobalEU-Live (na verdade é melhor procurá-lo como AMPGlobalUSA-Live) para o MetaTrader 5 com um núcleo de plataforma física em Chicago é na verdade 19,53 ms, já que nossos servidores mais próximos estão em Nova York:

Especialmente digitalizados todos os seus pontos manualmente - o mínimo é de 19 ms.

Vamos tentar colocar servidores em Chicago nos próximos dias. Ainda não chegou a esse ponto.

Isto eu vi de tudo, e também analisei ))
Se você colocar um servidor em Chicago, coloque-o diretamente na Aurora, onde o local da troca e todos os provedores.

 

Mais de uma vez eu já vi situações em que o Terminal carrega a CPU 100% a ponto de não reagir a nada.

Depois olhei para os troncos e vi que havia saltos selvagens de carrapatos no OnTick. Entretanto, se eu escrever corretamente um EA, esta situação desastrosa não afetará os resultados comerciais. Analisei especificamente, tudo está claro.

Pergunto-me quão difundidos são os mecanismos para lidar com os atrasos nos Produtos de Mercado. Eu nunca vi nenhuma menção à potência da máquina para funcionar. Ping mínimo - sim.

 
fxsaber:

Então por que não fotografar a atualização a 20Hz, reduzindo assim os fps? O visual é apenas para os olhos humanos de qualquer maneira. Não vai notar se for 200 fps ou 20.

Porque uma multidão de usuários virá correndo com acusações.

Isto é simples.

Dito isto, de fato, usamos pequenos saltos.


Infelizmente, precisamos da WinAPI para fazer isso. E ainda não aprendemos como fechar a janela do Market Watch and Tools. Por favor, me diga como fazer isso através do WinAPI.

A função MQL5 que minimiza todas as janelas e a própria aplicação é uma grande idéia. Nós vamos resolver isso.

No entanto, se uma pessoa dirige o terminal no VPS por conta própria, ela se oporá fortemente a tudo abruptamente minimizado. Ele mesmo pode e deve minimizar as janelas se sair da sessão do RDP.


Os produtos de mercado estão completamente freados em VPS de terceiros. A minimização automatizada não pode ser feita. Definir tabela escondida dos olhos - de forma semelhante. Além disso, não há como substituir a lenta GetMicrosecondsCount por sua contraparte de quantização de milissegundos. É imposta uma GetTickCount bruta com 16ms, o que é demais para os mecanismos de snapshot do ambiente comercial.

Você parece não entender nada.

Não é a GetMicrosecondsCount que o está atrasando, é o sistema operacional que quantifica os recursos da CPU para qualquer linha de sua vpska estrangulada. Para qualquer função, qualquer ação, qualquer programa dentro de sua UPU.

Bem, nenhuma casca de CPU pode cortar e alocar recursos de forma justa quando tem 20 (isso ainda é respeitável) sistemas operacionais com 1500 fios de execução por cópia. Pegue 8-16 núcleos e distribua-os em 20 * 1.500 = 30.000 (trinta mil pistas físicas).


E para comparar, temos nosso host VPS com 97 terminais ativos: apenas 3 333 roscas e apenas 205 processos - sem nenhuma sobrecarga do sistema


Aqui está meu computador de trabalho agora para comparação - exceto para navegadores, uma cópia do MT5 e vários programas sem custo, não há mais nada: 3 876 fios estão ativos



Acontece que um host VPS com um monte de terminais funciona mais economicamente do que um desktop. O VPS tem 8 núcleos e o desktop tem 128.