Novo MetaTrader 4 Terminal de Clientes 387 e MetaTrader 4 Data Center construído 387 - página 13

 
- Atualizei hoje (1.03.2011) para uma nova versão e comecei a ter problemas com o indicador IND_Correlation.mq4. Quando se liga o terminal, ou em caso de falha de comunicação a curto prazo, o indicador desaparece. Tenho que recarregar o modelo ou passar de um período de tempo para outro. Não é conveniente, caras).
 
brici:
- Atualizei hoje (1.03.2011) para uma nova versão e comecei a ter problemas com o indicador IND_Correlation.mq4. Quando se liga o terminal, ou em caso de falha de comunicação a curto prazo, o indicador desaparece. Tenho que recarregar o modelo ou passar de um período de tempo para outro. Não é conveniente, caras).
Hoje 2 DC sugeriram a atualização para a versão 388, talvez os desenvolvedores tenham corrigido algo mais. Eu atualizei, não notei nada de ruim até agora. A atualização foi de 229, fiquei surpreso no início, depois lembrei-me que havia um fio cerca de 387
 
Renat:

Após algum tempo, interromperemos o apoio aos 225 construídos devido à presença de alguns bugs críticos, dando a todos um mês de antecedência.

Eu mantenho especificamente um dos 225 terminais construídos no caso de precisarmos depurar a interface com a DLL. Você proibiu a depuração em versões posteriores. Tanto quanto sei, isto é para evitar que os descompiladores apareçam novamente. Que solução você sugeriria para aqueles que precisam depurar a interface entre os scripts MQL e a DLL?
 
api:
Eu mantive propositalmente um dos 225 terminais construídos no caso de eu precisar depurar uma interface com uma DLL. Você proibiu a depuração em versões posteriores. Tanto quanto sei, isto é para evitar que os descompiladores apareçam novamente. Que solução você sugeriria para aqueles que precisam depurar a interface entre os scripts MQL e a DLL?

Na verdade, isso deixa apenas impressoras ou mecanismos de registro similares.

Infelizmente, a escolha entre proteção e conveniência teve que ser feita em favor da proteção.

 
Zhunko:

Aqui estão os fatos:

1. Você carrega o indicador anexo na tabela. Aparece uma linha quebrada.

2. janela de atualização do menu de contexto - "Refresh". A linha desaparece e não aparece.

Tudo acontece devido à otimização no código e inicialização desnecessária de buffers indicadores ao atualizar o gráfico.


Obrigado. Vamos tentar descobrir.
 

Zhunko

O indicador que você apresentou não leva em conta o IndicatorCounted, que é a principal ferramenta para otimizar os cálculos.

Os dados podem mudar não apenas por Refresh, mas também após uma falha na conexão. Então? Seu indicador não rastreia isto de forma alguma. Isto é incorreto.

A propósito, seu indicador não acompanha a mudança de símbolo e/ou período também (e a reinicialização dos amortecedores sempre foi!). Seu exemplo, pelo contrário, mostra a necessidade de inicialização de amortecedores indicadores para evitar ilusões desnecessárias.

 
stringo:

Zhunko

O indicador que você apresentou não leva em conta o IndicatorCounted, que é a principal ferramenta para otimizar os cálculos.

Os dados podem mudar não apenas por Refresh, mas também após uma falha na conexão. Então? Seu indicador não rastreia isto de forma alguma. Isto é incorreto.

A propósito, seu indicador também não rastreia a mudança de símbolo e/ou período (e a reinicialização dos amortecedores sempre foi!). Seu exemplo, pelo contrário, mostra a necessidade de inicialização de amortecedores indicadores para evitar ilusões desnecessárias.

Que ilusões? Eu não preciso disso. É apenas uma varredura vertical e nada mais. Não me interessa que dados estão no buffer. Contanto que seja o tamanho vertical.

Por que esta característica acabou de aparecer em 387 e não estava presente em construções anteriores? Certamente, todas as reclamações sobre indicadores hoje em dia são causadas por esta característica desnecessária.

É melhor fazer uma função separada para a inicialização forçada de buffers indicadores.

 

Tenho uma pergunta para os desenvolvedores.

Se forem usados indicadores personalizados, no bild 388 e futuros, entendo que IndicatorCounted() é uma garantia contra erros de conta.

Mas se o algoritmo de cálculo for usado diretamente dentro de um Expert Advisor, o que devo fazer neste caso? Parece que IndicatorCounted() não funciona em Expert, pelo menos, eu o verifiquei e ele dá -1.

Vi que você foi solicitado a fazer uma função, o que indica que o download ou a atualização de dados ocorreu, mas você está em silêncio sobre este ponto. É fundamentalmente difícil de fazer, ou você simplesmente não tem tempo para fazer tudo de uma vez, ou simplesmente não tem tempo, ou não quer se preocupar com isso?

Eu já escrevi que perdi muito dinheiro voltado para o meu Expert Advisor com dados baixados incompletamente.

Então, o que você pode aconselhar para usar algoritmos de cálculo diretamente no Expert Advisor para não se deparar com dados bombeados incompletamente?

Costumo usar a construção em Expert Advisors:

void my_function()
{
   static int bars;
   int limit=Bars-bars-1;
   bars=Bars-1;
   if (limit<0) return;
   if (limit>1)
   {
      limit=Bars-period-1;
      // Еще данные
   }
   for (int i=limit; i>=0; i--)
   {
      // Расчет переменных
   }
}

Talvez algo mais possa ser acrescentado para aumentar a confiabilidade?

Afinal, o objetivo da negociação, como você mesmo entende, não é apenas calcular e desenhar indicadores personalizados e outros, mas principalmente ganhar dinheiro. O mercado já é extremamente móvel e complexo, e você provavelmente não pode imaginar a tensão nervosa que às vezes ocorre quando se trabalha em contas reais. E quando você tem que ter cuidado com defeitos de projeto de terminais, é uma grande tensão para sua saúde, sua mente e tudo mais. Afinal, programar o terminal é um objetivo e uma tarefa muito complexa, mas muito específica. E o processamento de um sinal em constante oscilação, que muda constantemente a freqüência, a amplitude, a propagação, as notícias, a manipulação de preços pelos bancos e grandes comerciantes, a ganância dos corretores, em geral, como em um campo minado. Com este problema até mesmo os doutores se tornam como crianças pequenas e deixam o Forex aterrorizado, se eles o tentassem. A perda de grandes quantidades de dinheiro ou depósitos em geral parece a morte de uma pessoa. Em seguida, ele se vira novamente e começa tudo de novo. Respeito você como um bom profissional em seus negócios, e o que você já fez funciona bem em geral, mas espero que no final você faça um produto melhor e mais confiável.

 
ANG3110:

Tenho uma pergunta para os desenvolvedores.

Embora eu não seja um desenvolvedor, mas deixe-me dizer um pouco.

Se forem usados indicadores personalizados, no bild 388 e futuros, entendo que IndicatorCounted() é uma garantia contra erros de conta.

Isto estava em todas as construções, eles apenas corrigiram alguns bugs.

Mas se o algoritmo de cálculo for usado diretamente dentro de um Expert Advisor, o que devo fazer neste caso? Parece que IndicatorCounted() não funciona em Expert, pelo menos, eu o verifiquei e ele dá -1.

Não funciona e não vai funcionar

Vi que você foi solicitado a fazer uma função, o que indica que o download ou a atualização de dados ocorreu, mas você está em silêncio sobre este ponto. É fundamentalmente difícil de fazer, ou você simplesmente não tem tempo para fazer tudo de uma vez, ou simplesmente não tem tempo, ou não quer se preocupar com isso?

MT4 não será modificado - consertando bugs no máximo

Eu já escrevi que perdi muito dinheiro voltado para o meu Expert Advisor com dados baixados incompletamente.

Estas são apenas palavras... Precisamos de um debriefing sobre o porquê e como... Pode ser culpa do algoritmo errado/inocumentado do Expert Advisor

Então, que conselho você tem sobre o uso dos algoritmos de cálculo diretamente no Expert Advisor para não se deparar com dados subenchidos?

Temos que decidir sobre a terminologia. O que são "dados subinflacionados"? Você pode criar em sua EA sua função IndicatorCounted(), tal como esta: https://www.mql5.com/ru/articles/247

Talvez, você possa acrescentar algo mais para aumentar a confiabilidade?

Além disso, você pode rastrear o salto de barras e, com base nisso, considerar que o histórico está incompletamente baixado, etc.

 

AlexSTAL:

Estas são apenas palavras... Precisamos de um debriefing sobre o porquê e como... Pode ser culpa do algoritmo errado/incompleto do Expert Advisor

Então qual é o seu conselho ao usar algoritmos para calcular diretamente na EA para que você não acabe com dados mal bombeados.

É preciso definir a terminologia. O que é "dados subenchidos"? Você pode criar em sua EA sua função IndicatorCounted(), tal como esta: https://www.mql5.com/ru/articles/247

Talvez, você possa acrescentar algo mais para aumentar a confiabilidade?

Além disso, você pode rastrear o salto de barras e, com base nisso, considerar que a história está sub-quantificada, etc.

OK, vou dar uma olhada no artigo a que você se refere.

Sobre os dados de salto inferior... Agora, devido à passagem do tempo, não poderei citar os troncos. Mas era algo parecido com isto.

No corretor americano ATC, a EA foi deixada ligada e o terminal foi fechado. No dia seguinte, o terminal foi aberto e após a abertura e o login automático houve uma pausa sem cotações. O consultor especializado enviou um pedido adicional para abrir uma posição e o histórico começou a ser trocado e a posição foi aberta de acordo com os cálculos do dia anterior na área onde deveria ter sido fechada, mas acabou de ser aberta e imediatamente perdida contra o mercado que se movia na direção oposta. A posição acabou sendo fechada com uma perda profunda, não me lembro o quanto foi perdida, mas muito.

Outro caso. Deixei um Expert Advisor com um cálculo de canal em seu algoritmo, algo semelhante ao Bollinger, mas exigindo muitas barras porque tinha um algoritmo de adaptação. Eu não vi o momento em que o comércio começou, mas o vi cerca de 20 minutos depois. Descobriu-se que os desvios da média adaptada não foram considerados e o canal quebrou na linha, como se estivesse na média. Meu consultor especializado estava abrindo e fechando uma posição após a outra e perdeu cerca de $4.500 em 20 minutos por 0,2-0,3 lotes. 4.500$ em um mercado totalmente vencedor. Isto poderia acontecer se houvesse muito poucos dados ou se faltasse algo para o projeto que citei acima.

Agora eu sempre desligo os EAs após a negociação. Agora eu sempre os desabilito quando abro o terminal novamente e espero que os dados sejam bombeados e somente quando tenho certeza disso é que ligo meus Conselheiros Especialistas e geralmente posso deixá-los ligados por um longo tempo.

Razão: