Tagarelice sobre o testador de estratégia MT5 - página 11

 
Andrey Dik:

Você está falando da pasta compartilhada C:UUSADORES:USOUTILIZADORESAplicação de dadosRoaming

O mesmo princípio é necessário para terminais em modo normal e não com especificação forçada de pasta compartilhada para bases de histórico por meio de links. Agora funciona bem, mas, por favor, implemente este recurso normalmente especificando uma pasta para as bases do histórico nas configurações do terminal.

:-)

Eu já fiz um pedido, para espalhar a caixa de areia com arquivos de dados e logs sobre o sistema de disco para velocidade.

Por exemplo, há uma unidade SSD, uma para o sistema, SSD para logs, SSD para dados rápidos.

Bem, seria bom se os logs em um SSD , os dados no outro - o próprio terminal onde pode estar também no SSD

A velocidade de acesso aos dados aumentará, levando em conta que cada unidade tem seu próprio controlador.

você fala de outra coisa - para acesso a um banco de dados comum - para coletar dados de um único terminal para diferentes terminais em uma pasta - quantas pessoas têm tal configuração?

Acabo de comprar 12 terabytes de discos rígidos e esqueci o problema - os discos rígidos são tão grandes agora que não são relevantes.

 
Andrey Dik:
Não, o que Andrew está sugerindo é que os desenvolvedores façam do acesso à pasta pública uma característica regular. É exatamente isso que ele está sugerindo, isto é um apelo para você, não para milhões de comerciantes.

Foi dada uma explicação:

  • Ninguém fará um gargalo na forma de um servidor (e um único banco de dados significa um gerenciador de acesso. E este gerenciador não pode ser um sistema de arquivo com acesso bloqueado - tudo irá diminuir a velocidade de forma fabulosa)
  • ninguém vai fazer um gargalo de escrita no sistema
  • ninguém vai passar dezenas de gigabytes de dados (e são dezenas de gigabytes) por um gargalo de garrafa
  • o comportamento dos agentes de teste é razoável - eles utilizarão um banco de dados sincronizado somente de leitura
  • tudo no altar da velocidade e baixa latência

A arquitetura atual é muito boa, rápida e segura. Escrevemos a quinta geração de plataformas de negociação por uma razão - sabemos o valor de cada solução.

 
Renat Fatkhullin:
  • Ninguém fará um gargalo na forma de um servidor (e uma única base significa um gerenciador de acesso. e este gerenciador não pode ser um sistema de arquivo com bloqueio de acesso - tudo será fabulosamente lento)
Como resultado, os programadores de aplicação escrevem aqueles mesmos gerentes de arquivo com bloqueio de acesso e freios fabulosos, porque não há outra solução em MQL. Mas suas almas são aquecidas por uma "latência" mágica e outros mantras de desempenho teórico, que são difíceis de aplicar na prática.
 
Vasiliy Sokolov:
Certo. Como resultado, os programadores de aplicações escrevem os gerentes de arquivos com bloqueio de acesso e freios de contos de fadas porque não há outra solução dentro da estrutura da MQL. Mas suas almas são aquecidas pela "latência" mágica e outros mantras de desempenho teórico, que são difíceis de aplicar na prática.

Sim - https://www.mql5.com/ru/docs/globals/globalvariablesetoncondition

A função fornece acesso atômico a uma variável global, de modo que pode ser usada para organizar mutex quando vários EAs estão trabalhando simultaneamente dentro do mesmo terminal do cliente.

E se a sincronização entre os terminais for necessária, há muitas opções. Mesmo em arquivos, mas através de mutexes DLL etc. Esse é o seu trabalho agora, já que você está fora da caixa de areia de segurança.


Sem nossa batalha pela velocidade, você teria uma classe de software completamente diferente. O bom material não é visível, parece livre e evidente.

Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
  • www.mql5.com
Глобальные переменные терминала / GlobalVariableSetOnCondition - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasiliy Sokolov:
Sim. Como resultado, os programadores de aplicação escrevem aqueles mesmos gerentes de arquivo com bloqueio de acesso e freios enormes, porque não há outra solução dentro da MQL.

Tudo isso faz sentido para mim. Se você quiser capacidades multiterminais, faça-as você mesmo, mas é um pouco, er, irracional fazê-lo para duas pessoas e meia.

Além disso, na grande maioria dos casos, estes problemas podem ser resolvidos em um ou dois.

E se estamos falando de duas pessoas e meia, mais pessoas precisam da história personalizada.

 
Yuriy Zaytsev:

Isto é um desafio?

Carregar apenas uma arma ? :-)

Foi-lhe dito que você precisa criar um gerente de acesso aos dados de diferentes terminais!

E qual é o problema com o acesso de diferentes terminais a diferentes dados! Não há problema, mas é conveniente se todos os arquivos estiverem em um só lugar e não houver necessidade de descarregar dados cada vez que o terminal for realocado/reinstalado. Mas os desenvolvedores também não querem fazer isso. Você não precisa de gerente de acesso para isso.

Eu estava falando de 2-3 terminais acessando os mesmos dados. Não há problema com isso, basta que os terminais entendam que alguém já está escrevendo e não tentem escrever. E quando a leitura não deve ser problema algum.

Você não tem nenhum desejo de ler, entender ou discutir. Eu não tenho nenhum desejo de jogar contas atrás dele. Conheço uma solução de muleta (já que os desenvolvedores não querem fazer recursos regulares) - estou satisfeito com ela.

 
xxz:
E o arquivo 2016.hcc, teoricamente, nunca deveria ser atualizado.

Renat Fatkhullin:

É dada uma explicação:

  • Ninguém vai construir um gargalo na forma de um servidor(e uma única base significa um gerenciador de acesso. E esse gerenciador não pode ser um sistema de arquivo bloqueado - tudo vai diminuir a velocidade de forma fabulosa)
  • ninguém fará um gargalo de garrafa no sistema de gravação
  • ninguém vai passar dezenas de gigabytes de dados (e são dezenas de gigabytes) por um gargalo de garrafa
  • o comportamento dos agentes de teste é razoável - eles utilizarão um banco de dados sincronizado somente de leitura
  • tudo está sobre o altar da velocidade e baixa latência

A arquitetura atual é muito boa, rápida e segura. Não escrevemos a quinta geração de plataformas de negociação por nada - sabemos o custo de cada solução.

Estou bem ciente disso...

porque tive o privilégio de desenvolver sistemas operacionais e drivers para eles.

 
xxz:

Não consigo entendê-lo de jeito nenhum!

Por que você está se transformando em um tolo!

É uma tarefa simples tornar arquivos como "2017.hcc" disponíveis ao público dentro de um corretor.

que, como agora entendo, são atualizados uma vez a cada "cinco anos".

Qual é o problema aqui?

Observe sua língua e cultura de fala, por favor. Este é um fórum técnico.
 
Andrey Dik:
Yuriy Zaytsev:
Amigos, parem com as brigas. Removendo a inundação.
 
Artyom Trishkin:
Amigos, já chega de brigas. Estou apagando a enchente.
Não, não, não apague as palavras de Yuri. Ele afirma que o terminal escreve no arquivo a cada tique! Esta é uma acusação de falta de profissionalismo por parte da MQ, quero ver o que Renat, a cujas palavras Yuri se refere, vai fazer com ela. Não me negue o prazer de desfrutar do espetáculo que está por vir.