Perguntas sobre OOP em MQL5 - página 64

 
Igor Makanu:

imho, ótimo trabalho, é claro que há perguntas sobre a rapidez com que você o fez.... se isso estiver dentro do espaço de uma hora.... bem, isso é um pouco exagerado!

verificou a versão revisada - ok, tudo funciona corretamente


Este ajuste? Logo desde o início, cerca de 30 minutos no total.

 
Vladimir Simakov:

Este ofício? Desde o início, um total de 30 minutos.

Eu não vou bajular.

mais uma vez, obrigado!

ZS: para que serve isso? um dos usos - neste códigohttps://www.mql5.com/ru/forum/325418/page4#comment_16116740

você pode carregar/gravar vários objetos através de um arquivo e também pode adicionar o objeto gerado pelo testador ao tempo de execução via cadeia de entrada sem parar a execução da EA, eu já fiz isso através de troca binária, mas o que há de bom no json - ele pode ser lido sem qualquer manipulação adicional

 
Igor Makanu:

Eu não vou bajular.

mais uma vez obrigado!

ZS: para que serve isso? um dos usos - neste códigohttps://www.mql5.com/ru/forum/325418/page4#comment_16116740

Posso carregar/gravar vários objetos através de um arquivo, e também posso adicionar o objeto gerado pelo testador ao tempo de execução via string de entrada sem parar a execução da EA, já o fiz através de troca binária, mas o que há de bom no json - ele pode ser lido sem manipulação adicional

Apenas para uso interno, é mais fácil de se obter dados binários, IMHO. O JSON, porém, é mais para troca de dados através da rede, lá, no tempo de recepção / transmissão, tempo para serialização / desserialização, não significa nada. E assim, se você precisa organizar uma troca em uma máquina, então, IMHO, o mapeamento de arquivos é o melhor, e rápido e fácil, e na rede - aí a web soccet vai dominar.

 
Vladimir Simakov:

Para uso interno, é mais fácil usar os dados binários, IMHO. O JSON, mesmo assim, é mais para troca de dados através da rede, lá, sobre o fundo do tempo de recepção/transmissão, tempo para serialização/deserialização, não significa nada. Se precisamos organizar a troca de dados em uma máquina, então, IMHO, o mapeamento de arquivos é o melhor, rápido e fácil, e através da rede - a web soccet vai dominar aqui.

Não, a troca de dados já está feita e funcionando - dados binários através do banco de dados Redis - velocidade de troca microssegundos - o volume de troca ... bem, parece não se limitar a testar 600 mb sem problemas, e a sincronização é fornecida, através de modelos todos os invólucros, escreva lido em um único comando - em geral, sem muito esforço, tudo funciona sem problemas e de forma confiável

json para ler/armazenar em um arquivo - operação única e como eu escrevi para ter a oportunidade de fazer algo a tempo

a tarefa é mais ou menos formulada assimhttps://www.mql5.com/ru/forum/85652/page50#comment_16415557 , em geral eu me movo como descrito ))))

 
Igor Makanu:

não, intercâmbio de dados já feito e funcionando - dados binários via banco de dados Redis - taxa de câmbio de microssegundos - volume de câmbio... bem, parece não estar limitado a 600 mb sem problemas, e a sincronização é fornecida, através de modelo todos os invólucros, escreva lido em um único comando - em geral sem muito esforço, tudo funciona de forma rápida e confiável

json para ler/armazenar em um arquivo - operação única e como eu escrevi para ter a oportunidade de fazer algo a tempo

o problema é quase formulado dessa formahttps://www.mql5.com/ru/forum/85652/page50#comment_16415557 , em geral, estou seguindo a descrição ))))


Qual versão do Redis ?

Estou ansioso pela característica Streams 5, caso contrário Redis não é tão interessante... E onde posso conseguir 5 para janelas?

 
Maxim Kuznetsov:


Redis qual versão ?

Tenho um local sob Windows, puramente para compartilhamento de memória

Redis 3.2.100 64 bit

não pensou bem, envolto em ServiceStack.Redis dll do githab, sem conhecer o material - um par de dias de trabalho


Maxim Kuznetsov:

E onde posso obter 5 para Windows?

Não está disponível. O projeto Windows foi abandonado há muito tempo.

mas há muitas informações na rede sobre como rodar o software linux no vin 10https://redislabs.com/blog/redis-on-windows-10/

 
Vladimir Simakov:

Qual é o problema, alocar 12 bytes de memória na pilha, não sabe ao certo o que é um objeto de corda?

Que chatice!

1 - criando um objeto. 2 - apenas através de uma chamada de função normal. O primeiro número é tempo em milissegundos, não preste atenção ao segundo.

É quase 10 vezes mais rápido (e às vezes mais de 10 vezes mais rápido). Que coisa triste... empilhar... pilha... ***A minha vida

 
Dmitry Fedoseev:

Que chatice!

1 - Através da criação de objetos. 2 - simplesmente através de uma chamada de função normal. O primeiro número é o tempo em milissegundos, não preste atenção ao segundo.

É quase 10 vezes mais rápido (e às vezes mais de 10 vezes mais rápido). Que coisa triste... empilhar... pilha... ***cha.

Considere-o como em C# - o objeto está sempre na pilha. Somente escalares, descritores e (como uma exceção) algumas matrizes de tamanho conhecido estão na pilha.

 
Maxim Kuznetsov:

Pense nisso como C# - o objeto está sempre na pilha. Somente escalares, descritores e (como uma exceção) algumas matrizes de tamanho conhecido estão na pilha.

Você esqueceu das estruturas e classes (sem novas) - ambas são alocadas na pilha.

 
Dmitry Fedoseev:

Que chatice!
1 - através da criação de objetos. 2 - simplesmente através de uma chamada de função normal. O primeiro número é o tempo em milissegundos, não preste atenção ao segundo.
É quase 10 vezes mais rápido (e às vezes mais de 10 vezes mais rápido). Que coisa triste... empilhar... pilha... ***cha.

Você pode explicar do que se trata, porque sou um pouco burro, já li isso três vezes e ainda não entendi...

Razão: