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

 
fxsaber:

A tarefa é forçar o terminal a liberar a memória.

Verifiquei minhas suposições

Não libera memória, ou melhor, não libera memória completamente de uma só vez - memória livre para variável local - classe/estrutura, mas na memória terminal será uma cópia de carrapatos


cada Sono(1000) - SEMPRE a memória é liberada após o 9º deslize, ou seja, esta é uma restrição artificial de economia de carrapatos no terminal, não na EA

Aparentemente, não há como - somente se os desenvolvedores mudarem a lógica de armazenamento desses dados

 
fxsaber:
Um exemplo de um EA que irá matar a maioria dos VPS.

Colocou em MetaQuotes-Demo em um comprimido atômico com 4Gb de memória - o resultado:

2020.10.13 22:43:51.219 0018 (USDJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1747129
2020.10.13 22:43:51.294 0018 (USDJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 913
2020.10.13 22:43:51.995 0018 (EURUSD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1976814
2020.10.13 22:43:52.071 0018 (EURUSD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1335
2020.10.13 22:43:53.415 0018 (AUDUSD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1964168
2020.10.13 22:43:53.452 0018 (AUDUSD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1465
2020.10.13 22:43:54.554 0018 (CHFJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 1784317
2020.10.13 22:43:54.607 0018 (CHFJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1483
2020.10.13 22:43:56.546 0018 (EURNZD,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 2729847
2020.10.13 22:43:56.611 0018 (EURNZD,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1483
2020.10.13 22:43:58.199 0018 (EURJPY,H1)        CopyTicksRange(_Symbol,Ticks,COPY_TICKS_ALL,(long)inFrom*1000) = 2288326
2020.10.13 22:43:58.278 0018 (EURJPY,H1)        TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1484

Sem desastre - Ópera com múltiplas abas leva até mais tempo para ser carregada.

O que eu estou fazendo de errado?

 
A100:

Colocou em MetaQuotes-Demo em um comprimido atômico com 4Gb de memória - o resultado:

Sem desastre - A ópera com múltiplas abas leva mais tempo para ser carregada.

O que eu estou fazendo de errado?

Não há carrapatos suficientes. Veja o número em meus registros.

 
fxsaber:

Não há muitos carrapatos. Veja a quantidade em meus registros.

Algumas funções estranhas CopyTicksRange - aumento do período de consulta muitas vezes, mas nenhum ticks é adicionado e nenhum erro é retornado, GetLastError é zero após a consulta

 

O período de consulta foi definido para 01.06.20 - como resultado, após reiniciar o tablet e o terminal, o resultado foi o seguinte (somente a informação relevante foi deixada para ser emitida):

2020.10.14 04:03:31.203 0018 (EURGBP,H1)        Тиков=6855538, Памяти=2202
2020.10.14 04:03:35.271 0018 (EURCHF,H1)        Тиков=6385392, Памяти=2225
2020.10.14 04:03:41.031 0018 (EURAUD,H1)        Тиков=9317261, Памяти=2916
2020.10.14 04:03:44.068 0018 (CHFJPY,H1)        Тиков=6586851, Памяти=2528
2020.10.14 04:03:47.109 0018 (AUDUSD,H1)        Тиков=6214303, Памяти=2157
2020.10.14 04:03:50.634 0018 (EURUSD,H1)        Тиков=6946988, Памяти=2157
O número de carrapatos é comparável
 
Eu estabeleço o período a partir de 01.01.20, Dormir(15000). Resultado:
2020.10.14 04:21:30.297 0018 (EURGBP,H1)        Тиков=17354722, Памяти=6523
2020.10.14 04:21:40.916 0018 (AUDUSD,H1)        Тиков=13644101, Памяти=6525
2020.10.14 04:21:57.025 0018 (EURAUD,H1)        Тиков=21763832, Памяти=5520
2020.10.14 04:22:08.628 0018 (CHFJPY,H1)        Тиков=16150733, Памяти=4729
2020.10.14 04:22:19.463 0018 (EURUSD,H1)        Тиков=18471813, Памяти=3462
2020.10.14 04:22:29.411 0018 (EURCHF,H1)        Тиков=16227930, Памяти=2514

Apenas um lembrete - eu só tenho 4Gb de memória, incluindo memória de vídeo, ou seja, apenas 3,9-1,7 é realmente livre e só leva 6,5 por tarefa - e tudo é lento, mas funciona!

 

Para trabalho em massa, coloque mais memória.

4gb (preço de 20 euros) está longe de ser bom em 2020 quando se trata de análise e pesquisa.

 

Lançado o beta 2652, de importância:

  • conserta na Watch List as expressões do depurador
  • A interrupção da compilação melhorou (em 22%).
  • Acesso dramaticamente acelerado ao SymbolInfoTick
  • Melhorias no relatório do profiler
  • proibição de negociação ao lançar Expert Advisors no testador com base na estrutura
  • reinicialização fixa dos parâmetros ao pressionar o botão "Reset" nos parâmetros do indicador "Ichimoku Kinko Hyo

 
Renat Fatkhullin:

Lançado o beta 2652, de importância:

  • conserta na Watch List as expressões do depurador
  • interrupções de compilação melhoradas (em 22%)
  • Acesso dramaticamente acelerado ao SymbolInfoTick
  • Melhorias no relatório do profiler
  • proibição de negociação ao lançar Expert Advisors no testador com base na estrutura
  • reinicialização fixa dos parâmetros ao pressionar o botão "Reset" nos parâmetros do indicador "Ichimoku Kinko Hyo

Variáveis pré-definidas, para o tick atual, provavelmente seriam melhores.


 
Cavalheiros prog...
Leia primeiro sobre alocação de memória no computador, depois como e por que meios é feita, depois como limpar e ler de e para não é difícil. Pelo menos sugestões mais razoáveis para os desenvolvedores são possíveis