Erros, bugs, perguntas - página 1937

 
Renat Fatkhullin:
Lamento, mas não tenho absolutamente nenhum tempo para lidar com o ensino de programação a todos os principiantes. Especialmente quando se pode ver que a pessoa nem sequer passou pelos princípios básicos da compreensão da programação e pede coisas triviais.


Mas vou mostrar-vos a direcção:

  1. Documentação da MQL5
  2. Codebase
  3. Artigos
  4. Fórum (não no modo "escreva para mim, porque não me ensina e faz o meu trabalho")
  5. Freelance (podem escrevê-lo correctamente aqui)
  6. Trabalho independente com análise atenciosa "porque deveria este invólucro abrandar e desperdiçar recursos, talvez reescrever de forma óptima"?
  7. Utilizando um profiler que mostra o consumo real de recursos em cada linha de código

Obrigado Renat!

Não me enganei em si!

Sugiro obter o direito de descarregar ME e comunicar consigo em essência para fornecer através do LC um diploma de ensino superior na área de "Programador".

 
Alexey Viktorov:

Não tenho qualquer desejo de comunicar desta forma. Em vez de se tentar compreender o que está a ser dito, para se perceber o que vai acontecer, são expulsas algumas objecções incríveis.

Porque estás a fantasiar? Compreendi a sua ideia e confirmei que funciona, e terá efeito, se o pedido for feito apenas uma vez e se souber quantos bares são necessários para que a EA funcione.

Ou talvez tenha sugerido a utilização da estrutura de uma forma diferente? Então explique, mas não se ofenda!

 
Aleksey Vyazmikin:

Sugiro que, a fim de obter o direito de descarregar ME e comunicar consigo no essencial, forneça um diploma de ensino superior na área de "Programador" através da LC.

Heh... Um diploma universitário não é garantia de nada.

Basicamente, posso oferecer-lhe esta variante (não verifiquei a correcção do código, apenas para o testador, símbolo actual, período actual):

double iClose(int index)
  {
   double arr[ 1 ];
   return( ( CopyClose(_Symbol,_Period,index,1,arr) == 1 )? arr[ 0 ] : WRONG_VALUE );
  }

O resto das funções pode ser feito por analogia.

 
Renat Fatkhullin:
Lamento, mas não tenho absolutamente nenhum tempo para lidar com o ensino de programação a todos os principiantes. Especialmente quando se vê que a pessoa nem sequer passou pelos princípios básicos da compreensão da programação e pede coisas triviais.


Mas vou mostrar-vos a direcção:

  1. Documentação da MQL5
  2. Codebase
  3. Artigos
  4. Fórum (não na modalidade de "escreva para mim, porque não me ensina e faz o meu trabalho")
  5. Freelance (podem escrevê-lo correctamente aqui)
  6. Trabalho independente com análise atenta de "porque é que este invólucro deveria abrandar e desperdiçar recursos, talvez reescrever de forma óptima"?
  7. Usando um profiler que mostra o consumo real de recursos em cada linha de código

Porque não abrimos um tópico sobre as melhores (mais eficientes) práticas de programação directamente no MT5? Havia, por exemplo, um ramo sobre a realização do iBarShift. Outras nuances também podem ser melhoradas em conjunto. As pessoas, em geral, não querem aprender a programar, mas sim construir rápida e confortavelmente um Expert Advisor - lamentamos, mas é assim que as coisas são. E o perito, é claro, não deve abrandar ou cair. Se pudesse, como os tijolos prontos, montar "simplesmente bem", seria óptimo. Porque há todo o tipo de "como não" em todo o lado. E nem sempre é óbvio o que é o "errado". Que tal "o caminho certo"?

A documentação é bastante minimalista em muitos aspectos.

A base de código é uma grande pilha que se deve cavar conscientemente e inteligentemente durante dias para encontrar o código certo.

Artigos - como regra, os autores e altamente especializados, mais no ofício do que na programação (no entanto, a direcção do recurso deve ser considerada), e aqueles que são sobre programação - principalmente sobre os artifícios.

É aqui que se encontra o fórum. Eles fazem perguntas aqui e nós enviamo-las para... aqui, também.

O freelancing não é uma garantia de melhores práticas ou formação.

Trabalho por conta própria, incluindo com um profiler - naturalmente presente, mas não com tempo suficiente para tudo. Algo que quero tomar sob a forma de blocos de construção prontos.

 
Aleksey Vyazmikin:

Sugiro que, para ser autorizado a descarregar ME e comunicar consigo sobre os méritos, deverá fornecer uma licenciatura em Programação através da LC.

Não precisa de um diploma para comunicar, mas precisa de um para dizer "E onde está a velocidade elogiada do MT5?".

Já foram apontados os vossos erros várias vezes, mas em vez disso continuam a dobrar a linha de "Tenho o direito de não saber, ensinai-me sete"!
 
Alexey Kozitsyn:

Heh... Um diploma universitário não é garantia de nada.

Basicamente, posso oferecer-lhe esta variante (não verifiquei a correcção do código, apenas para o testador, símbolo actual, período actual):

As outras funções podem ser feitas por analogia.

Obrigado! Tentarei fazer pela vossa receita.

Sobre o diploma - concordo, mas há indústrias onde não se pode trabalhar sem ele - por exemplo, para conduzir negócios em tribunal como representante para casos CAS. No entanto, desta forma, os programadores não podem perder tempo com comerciantes, mas prestar atenção aos programadores, e como produto, estar a um nível superior no ranking das linguagens de programação.

 
Stanislav Korotky:

Porque não começamos um ramo sobre as melhores práticas (mais eficazes) de programação directamente para o MT5? Havia, por exemplo, um ramo na implementação do iBarShift. Outras nuances também podem ser melhoradas em conjunto. As pessoas, em geral, não querem aprender a programar, mas sim criar rápida e confortavelmente um Expert Advisor - lamentamos, mas é assim que as coisas são. E o perito, é claro, não deve abrandar ou cair. Se pudesse, como os tijolos prontos, montar "simplesmente bem", seria óptimo. Porque há todo o tipo de "o que não está certo" em todo o lado. E nem sempre é óbvio o que é o "errado". Que tal "o caminho certo"?

A documentação é bastante minimalista em muitos aspectos.

A base de código é uma grande pilha que se deve cavar conscientemente e inteligentemente durante dias para encontrar o código certo.

Artigos - como regra, os autores e altamente especializados, mais no ofício do que na programação (no entanto, a direcção do recurso deve ser considerada), e aqueles que são sobre programação - principalmente sobre os artifícios.

É aqui que se encontra o fórum. Eles fazem perguntas aqui e nós enviamo-las para... aqui, também.

O freelancing não é uma garantia de melhores práticas ou formação.

Trabalho por conta própria, incluindo com um profiler - naturalmente presente, mas não com tempo suficiente para tudo. Algumas coisas que quero tomar sob a forma de tijolos pré-fabricados.

Estou totalmente de acordo consigo!

Sou repreendido por o fazer "mal" e enviado para o local onde o aprendi...

 
Renat Fatkhullin:

Não precisa de um diploma para comunicar, mas precisa de um para dizer "E onde está a velocidade elogiada do MT5?".

Já foram apontados os vossos erros várias vezes, mas em vez disso continuam a dobrar a linha de "Tenho o direito de não saber, ensinai-me sete"!

As emoções não foram canceladas - denunciei-as na esperança de ajuda!

Quero estar errado, estou pronto para mudar o código, mas quero acreditar que tudo não será em vão!

Não concordo contigo que estou a afirmar "tenho o direito de não saber, ensina-me sete"! - em termos da obrigação de ensinar - esperava pessoalmente ajuda da sua parte, como perito, e conselhos específicos sobre como as coisas devem ser feitas.

O método de cada autor que considero e tento, que se segue a este fio e pelo qual são "obrigado!


 
Aleksey Vyazmikin:

Já foi aconselhado sobre uma solução já feita -https://www.mql5.com/ru/code/18305

Com base nas suas exigências:

Tenho loops no meu código, a quantidade de cálculos pode não ser conhecida de antemão.

Tenho ciclos no meu código e a quantidade de cálculos pode ser desconhecida.

Высокопроизводительная библиотека iTimeSeries
Высокопроизводительная библиотека iTimeSeries
  • votos: 20
  • 2017.05.25
  • nicholishen
  • www.mql5.com
Эта библиотека предоставляет молниеносный доступ к таймсериям для реализации привычных методов MQL4 (например, iBarShift) в чувствительных к задержкам приложениях на MQL5.
 
Alexey Kozitsyn:

Basicamente, posso oferecer-lhe esta variante (não verifiquei a correcção do código, apenas para o testador, símbolo actual, período actual):

Pode fazer outras funções por analogia.

Experimente a sua variante - dentro da margem de alteração de erro

Foi:
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: 107509 ticks, 35385 barras geradas. Ambiente sincronizado às 0:00:00.032. Teste aprovado em 0:02:52.037 (incluindo pré-processamento de carraças 0:00:00.031).
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: tempo total desde o início de sessão até parar os testes 0:02:52.069 (incluindo 0:00:00.032 para sincronização de dados do histórico)
2017.07.21 17:23:20.046 Core 1 351 Mb de memória utilizada, incluindo 32 Mb de dados do histórico, 64 Mb de dados de tick

Ficou com o seu código
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: 107509 carraças, 35385 barras geradas. Ambiente sincronizado às 0:00:00.031. Teste aprovado em 0:02:58.013 (incluindo pré-processamento de carraças 0:00:00.031).
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: tempo total desde o início de sessão até à paragem dos testes 0:02:58.044 (incluindo 0:00:00.031 para sincronização de dados históricos)
2017.07.21 17:27:37.393 Core 1 352 Mb de memória utilizada, incluindo 32 Mb de dados do histórico, 64 Mb de dados de tick

MT4
2017.07.21 17:27:57.070 RUBRUR,M1: 225314 eventos de tick (35701 barras, 231783 estados de barras) processados em 0:00:04.306 (tempo total 0:00:11.357)

Razão: