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

 
Andrey Dik:

Desculpe, o que é isso? Preço em excesso?
Eu trabalho com hospedagem especializada que pode hospedar VPS onde for conveniente para o cliente, NY4, LD4, tão caro, mas rápido (ping 0-1ms).

O preço exagerado é exorbitante.

Jogue com nosso visualizador VPS: há uma rede mundial e timings precisos baseados na topologia de servidor de todos os corretores MetaTrader

Custa US$ 10 e todos os núcleos físicos estão disponíveis. Um esclarecimento importante é que mostramos o tempo de rede no protocolo do servidor, não o ping da rede, que é quase sempre menor do que o ping real.

 
Yuriy Zaytsev:

Você está falando em ler a história de uma área - de uma pasta para um grupo de terminais, a história não está mudando, ela é apenas resolvida sem problemas. Sobre o mapeamento personalizável há muito tempo é conhecido.

Não é isso, você baixou o histórico de um terminal e depois se referiu a ele de outros terminais - nada demais... esse não é o problema.

Por que você está recuando? :)))

Ou você não o leu com atenção? A única maneira de entrar em uma discussão sem apostar dinheiro? Yuri, você é como uma criança, honestamente.

 
Andrey Dik:

Veja, Yuri, existem soluções! E você poderia tirar tudo isso da caixa em MT!

É apenas uma ideologia da MT, não implica várias cópias de terminais em funcionamento, portanto não há tarefa para ter acesso a um único banco de dados.

Você escreve 100 ticks de 100 terminais em um arquivo... em um ponto no tempo.

Vasiliy Sokolov:


Eu fiz isso uma vez:https://www.mql5.com/ru/articles/1316#c4_1

É claro que sem a DB, a única maneira de trocar adequadamente entre terminais sem dll, é travar um arquivo e competir pelo acesso a ele assim como esta lata:

Há artesãos que organizam a sincronização do ambiente comercial via WebRequest e servidor intermediário (ver copiadoras de negócios no Mercado).

É claro que tudo isso é lento e limpa buracos nos discos rígidos dos usuários, mas o que podemos fazer se o banco de dados não nos foi dado (e não será dado).

Está tudo claro!

Estamos falando de um terminal padrão - que coleta carrapatos em um ponto ... e se 100 terminais começarem a escrever o mesmo carrapato em um arquivo ! o que acontecerá ?

Não é um problema ler a história geral a partir de um recurso mapeado (pasta). (e este histórico deve ser formado a partir de um terminal, não de 100 de uma só vez)

Andrey, talvez você misture a leitura de uma HISTÓRIA comum - e escrever para um arquivo?

 
Renat Fatkhullin:

O excesso de preço é um preço desnecessariamente alto.

Brinque com nosso visualizador VPS: há uma rede mundial e timings precisos com a topologia de servidor de todos os corretores MetaTrader

Custa US$ 10 e todos os núcleos físicos estão disponíveis. Um esclarecimento importante é que mostramos o tempo de rede no protocolo do servidor, não o ping da rede, que é quase sempre menor do que o ping real.

Sua hospedagem é uma ótima solução específica quando você quer criar uma EA, enviá-la para a hospedagem e esquecê-la. A melhor solução para tais tarefas.

Mas infelizmente não é adequado quando você precisa de vários terminais para acessar um ao outro. Isto se deve em parte ao fato de que o terminal MT não tem a capacidade de se conectar a várias contas ao mesmo tempo. Há outras tarefas que não são compatíveis com seu VPS.

A propósito, seu visualizador VPS é usado ativamente, ótimo material.

 
Andrey Dik:

Por que você está recuando? :)))

Ou você não leu com atenção? Só para discutir e não apostar dinheiro em uma discussão? Yuri, você é como uma criança, na verdade.

você dá uma resposta sã!

COMO VOCÊ ESCREVE O TICK de uma ferramenta para o banco de dados ! que deve ser armazenado no banco de dados por UM registro com uma identificação

Você tem 100 terminais fazendo INSERIR ...

 
Yuriy Zaytsev:

Você registra 100 ticks de 100 terminais em um arquivo... em um ponto no tempo.

É exatamente disso que estamos falando!

Estamos falando de um terminal padrão - que coleta carrapatos em um ponto... e se 100 terminais começarem a escrever o mesmo carrapato em um arquivo ! o que acontecerá ?

não é realmente um problema ler a história a partir de um recurso mapeado (pasta). (além disso, esta história deve ser formada a partir de um terminal e não de 100 de uma só vez)

Andrew e talvez você misture a leitura da HISTORA comum - e escrever para o arquivo?

Não vamos nos fazer de bobos, ok? Não é barbudo, mas o rosto do homem careca. Deixei claro - uma pasta compartilhada com dados históricos é criada e os terminais funcionam bem com ela via link, sem problemas de acesso. Realmente economiza espaço em disco, o que é muito limitado.
 
Yuriy Zaytsev:

você dá uma resposta sã!

COMO VOCÊ ESCREVE O TICK de uma ferramenta para a BASE! que deve ser armazenada no banco de dados por UMA entrada com uma identificação!

Você tem 100 terminais fazendo INSERIR ...

Você não quer discutir! Por que eu deveria soletrar uma e a mesma coisa uma e outra vez, e de graça?!

Um lembrete e um aviso - você está assumindo uma posição errada e prejudicial para o desenvolvimento da MT.

 
Andrey Dik:
Não vamos fazer figura de parvos, não é? Não serve para homens barbudos, mas já carecas. Deixei claro - uma pasta compartilhada com dados históricos é criada e os terminais funcionam bem com ela via link, sem nenhum problema de acesso. Realmente economiza espaço em disco, o que é muito limitado.

você tem 100 terminais escrevendo o histórico ao mesmo tempo?

--

Por favor, não se faça de bobo - nós só queremos uma resposta.

COMO VOCÊ IRÁ ESCREVER TICK de uma ferramenta para uma BASE DE DADOS - ela deve ser armazenada no banco de dados como UM registro e com UM ID.

você tem 100 terminais escrevendo INSERIR na mesma tabela ao mesmo tempo para esta ferramenta ...

p.s.

Eu tenho uma solução - a sua é interessante

 
Yuriy Zaytsev:

você tem 100 terminais escrevendo o histórico ao mesmo tempo?

--

Por favor, não faça figura de tolo - nós só queremos uma resposta!

COMO VOCÊ ESCREVE uma TICK de uma ferramenta em uma BASE DE DADOS - ela deve ser armazenada no banco de dados como UM registro com um ID

você tem 100 terminais escrevendo INSERIR na mesma mesa ao mesmo tempo ...

Eu responderei por Andrei. Se estamos trabalhando com arquivos, então o INSERT simultâneo está fora de questão. Um INSERIR é realizado apenas pela linha que tem acesso ao arquivo primeiro. O resto receberá INVALID_HANDLE e não será capaz de escrever. A linha que recebe o cabo poderá verificar se seu registro já existe ou não no arquivo (assumindo que sabemos como determinar a singularidade de cada registro). Se não houver registro, nós o escrevemos, se o registro já foi feito por alguém, nós fechamos o cabo.

Outra questão é que fazer 100 escritores e 100 leitores ao mesmo tempo não é pelo menos racional e pode causar problemas. Se possível, deve haver apenas um escritor. Também é possível descobrir quem designar como escritor entre 100 fios.

p.s. Não discutiremos a questão do acesso competitivo ao SGBD por mais de uma dúzia de páginas. Considerando que não há DB na MQL, também não discutiremos o tema da discussão.

 
Vasiliy Sokolov:

Eu responderei por Andrei. Se estamos trabalhando com arquivos, não estamos falando de INSERIR simultaneamente. INSERIR será feito apenas pela linha que obtém acesso ao arquivo primeiro. O resto receberá INVALID_HANDLE e não será capaz de escrever. A linha que recebe o cabo poderá verificar se seu registro já existe ou não no arquivo (assumindo que sabemos como determinar a singularidade de cada registro). Se não houver registro, nós o escrevemos, se o registro já foi feito por alguém, nós fechamos o cabo.

Outra questão é que fazer 100 escritores e 100 leitores ao mesmo tempo não é pelo menos racional e pode causar problemas. Se possível, deve haver apenas um escritor. Também é possível descobrir quem designar como escritor entre 100 fios.

esse é o meu ponto! e que

Vasily, é compreensível que é possível competir pelo arquivo a partir de 100 terminais.

o fato de você poder copiar negócios de um terminal para outro usando a copiadora é outra coisa


A questão é que o próprio terminal (se for MT4) escreve carrapatos no arquivo ticks.raw ...

mas se ele tentar escrever 100 terminais de cada vez no arquivo {TERMIN}{terMIN -tisks.raw - um erro ocorrerá

Isso é o que eu acho que Andrei não entende.


Posso ouvir o sofá teórico rangendo sob o Andrei novamente.

p.s.

Andrei, você foi buscar um pouco de graxa para o sofá?

Razão: