Quando faz sentido manter parte do código do robô em um indicador? - página 20

 
hrenfx:

Grande crítica! Somente não para o meu ofício, mas para a plataforma como um todo. Este fato tem sido mencionado repetidamente aos desenvolvedores. Portanto, a situação:

  1. Você não tem seu terminal ligado há uma semana e decide executá-lo, com um EA padrão em funcionamento (isto levanta algumas questões sobre adequação, mas assim seja).
  2. O terminal está conectado, mas toda a história ainda está em funcionamento. O indicador envia seus valores para o Expert Advisor e o Expert Advisor começa a negociar com base nesses valores.
  3. O terminal baixou todo o histórico e o indicador começou a mostrar valores completamente diferentes. O Expert Advisor obtém agora valores completamente diferentes.

Este é um problema bem conhecido que os desenvolvedores foram solicitados a resolver cem vezes e acrescentaram a bandeira de que toda a história é bombeada. Mas isso não foi resolvido.

Agora, qualquer consultor especializado com indicadores em tais momentos está pronto para fazer uma série de problemas nas negociações. Portanto, não devemos reduzir o problema dos desenvolvedores ao código acima. A variante com um indicador não oferece uma solução aceitável.

Vamos nos aproximar mais da vida: você dirige o Expert Advisor quando já se certificou de que toda a história é bombeada. Se depois disso a conexão for interrompida por um curto período de tempo (menos de um dia), então meu código funcionará de forma absolutamente correta.


Não procure por problemas no mundo ao seu redor, procure-os em você mesmo. Até agora, o terminal funciona como Victor o escreveu, e nestas condições seu código funcionará incorretamente e não são os desenvolvedores do terminal, mas o autor deste código, que funcionará incorretamente nas condições descritas acima, que serão culpados.

 
hrenfx:
Então você está dizendo que ainda não existe tal código? Estou surpreso que o meu elementar preencha essa lacuna.

Até agora, ainda não o vi. Embora eu tenha visto alguns artigos, não vi nenhum bom código. Embora sejam necessários cinco minutos para escrevê-lo, mas .....
 
Integer:

Victor, você terá uma resposta agora dizendo que somos legais, não trabalhamos abaixo do H4 ou algo do mesmo estilo, ou de outra forma, mas com o mesmo significado ... ou usar um VPS super poderoso, e a conta que temos no melhor DC do mundo, que nunca falha a conexão.... etc., etc.

Consegui! Ainda o tenho. Seu código está certo e o terminal está errado.
 
Vinin:

Eu não o vi até agora. Embora tenha havido alguns artigos, eu não vi nenhum bom código. Embora sejam necessários cinco minutos para escrevê-lo, mas .....

Bem, não cinco minutos, cerca de 15 minutos. Mas para quê? Se você pudesse escrever um bom guia de programação para indicadores, isso seria outra questão.
 
hrenfx:

Talvez o homem com os tomates diga algo.

Não há problema. Na verdade, para fazer seu análogo de IndicatorCounted, você precisa de uma matriz com histórico para escanear no caso de perdê-lo, ou seja, neste caso em particular, você precisa essencialmente de um recálculo completo de cada barra.

Talvez outro concurso?

 

Então, pessoal, vocês ainda não citaram uma situação em que minha EA em REAL produziria valores incorretos.

REAL significa que você faz a coisa certa: você executa a EA em uma história totalmente preenchida. Depois disso, você não desliga o terminal. As falhas de comunicação, como em qualquer REAL, são perfeitamente aceitáveis.

Então, qual é o problema no REAL? Não mencione nem mesmo o testador.

 
hrenfx:

Então, pessoal, vocês ainda não citaram uma situação em que minha EA em REAL produziria valores incorretos.

REAL significa que você faz a coisa certa: você executa a EA em uma história totalmente preenchida. Depois disso, você não desliga o terminal. As interrupções de comunicação, como em qualquer REAL, são perfeitamente aceitáveis.

Então, qual é o problema no REAL? Não mencione nem mesmo o testador.


Quantas vezes tenho que lhe explicar a mesma coisa para fazer a transmissão, ou pelo menos que você perceba isso?
 
TheXpert:

Não há problema. Na verdade, para fazer seu análogo de IndicatorCounted, você precisa de uma matriz com histórico para escanear no caso de perdê-lo, ou seja, neste caso particular, você precisa essencialmente de um recálculo completo de cada barra.

Talvez outro concurso?


Olhando para o tempo das barras não é uma opção, não sabemos se a barra foi perdida pelo terminal por falta de comunicação ou se não aconteceu de fato.
 
Integer:
Olhando para o horário das barras não é uma opção, você não sabe se o terminal falhou uma barra por falta de comunicação ou se realmente não aconteceu.
Portanto, se a barra então aparecer, a comparação revelará uma discrepância na história, que é quando você precisa salvá-la.
 
TheXpert:
Então, se a barra aparecer, a comparação revelará uma discrepância na história, então é aí que você precisa salvá-la.

Entendi. Se novas barras aparecerem entre barras existentes.