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

 
Igor Makanu:

Alternativamente, podemos executar a EA como um serviço? - O único inconveniente - não haverá nenhum evento OnTick()

Não tentei como um serviço e tenho certeza de que não o farei num futuro próximo. Ainda assim, a EA é capaz de reagir a hotkeys e alguns objetos na tabela. Além disso, ele pode produzir algo para informação no gráfico.

 
fxsaber:

Era isso que eu queria dizer.

Meu russo não é muito bom.

É interessante, mas se você apenas minimizar o terminal, será que ele reduz a carga?

 
fxsaber:

Vejo que até mesmo meus bots, agora com desempenho limitado, estão funcionando de tal forma que a CPU do Terminal é de 15%. Agora aqui vai uma dica!

  • Close Market Watch (CTRL+M) - somente os símbolos comercializados estão nele.
  • Tabela de fechamento com as posições atuais (CTRL+T).
  • Minimizar todos os gráficos.

Voila, CPU terminal 2,5%! Descarregue 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.

Você pode simplesmente minimizar o terminal, o efeito é o mesmo.

 
Aleksey Vyazmikin:

Isto é interessante, mas se você simplesmente minimizar o terminal, ele reduz a carga?

Gerente de tarefas abertas com o terminal aberto.
Determinar a carga aproximada da CPU, minimizar o terminal.
Os números de carga devem ser reduzidos.
Minha carga cai para 0 - 1%.

 
Roman:

Abra o gerenciador de tarefas com o terminal aberto.
Determinar a carga aproximada da CPU, minimizar o terminal.
Os números da carga devem descer.
Minha carga cai para 0 - 1%.

Isto não ajuda o Windows 7 para mim.

 
fxsaber:

Vejo que até mesmo meus bots, agora com desempenho limitado, estão funcionando de tal forma que a CPU do Terminal é de 15%. E agora aqui vai uma dica!

  • Close Market Watch (CTRL+M) - somente os símbolos comercializados estão nele.
  • Tabela de fechamento com posições atuais (CTRL+T).
  • Minimizar todos os gráficos.

Voila, CPU terminal 2,5%! Descarregue 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.

F11 não ajuda?

Eu o fiz por arbitragem, derrubei todas as coisas desnecessárias

 
Maxim Dmitrievsky:

F11 não ajuda?

Os gráficos não colapsam.

 

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Bibliotecas: Benchmark

fxsaber, 2020.10.01 23:49

2020.10.02 00:45:14.113 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 878 mсs.
2020.10.02 00:45:14.114 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 943 mсs.
2020.10.02 00:45:14.114 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 297 mсs.
2020.10.02 00:45:14.116 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 1787 mсs.
2020.10.02 00:45:14.116 Alert: Time[Test9.mq5 35 in IsInvisible: ::ChartNext(Chart)] = 2 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 980 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 35 in IsInvisible: ::ChartNext(Chart)] = 2 mсs.
2020.10.02 00:45:14.117 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 59 mсs.
2020.10.02 00:45:14.118 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 803 mсs.
2020.10.02 00:45:14.119 Alert: Time[Test9.mq5 36 in IsInvisible: ::ChartGetInteger(Chart,CHART_IS_MAXIMIZED)] = 1059 mсs.

CHART_IS_MAXIMIZED é lento para gráficos estrangeiros. Relatório de erro pronto! Foi muito fácil com a biblioteca.

 
fxsaber:

Os gráficos não colapsam.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

#define  WM_SYSCOMMAND 0x0112
#define  SC_MINIMIZE   0xF020

// Сворачивает все окна.
void MinimizeAllCharts()
{
  static const long ChartsHandle = user32::GetDlgItem(MTTESTER::GetTerminalHandle(), 0xE900);
  
  for (long handle = user32::GetWindow(ChartsHandle, GW_CHILD); handle; handle = user32::GetWindow(handle, GW_HWNDNEXT))
    user32::PostMessageW(handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}

void OnStart()
{
  MinimizeAllCharts();
}

Hotkey e está feito. Como fechar o Market Watch e Ferramentas - não descoberto. Seria útil para qualquer pessoa que utilize um VPS, se mostrado.

 
fxsaber:

Como fechar Market Watch and Instruments - não descoberto.

Por que derrubar os gráficos quando você pode derrubar todo o terminal?

Ou todos os terminais juntos. Já existe uma tecla de atalho - Win+D.