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

 
Vinin:

Eu dei a lógica de um algoritmo viável. Não funcionou. Sinto muito não ter conseguido passar.

Você me diz o erro no código, não sua visão do algoritmo correto. Você diz que há um erro. Então você sabe exatamente onde ele está localizado. Por que é tão difícil mostrar o local (que você já definiu) em 10 linhas de código?
 
TheXpert:
Não, o preço já estará em um novo bar. Isto é perfeitamente visível quando o terminal é ligado. No início, a barra parece um ponto.

Eu lhe falei sobre as condições REAIS. Um EA com um indicador também receberá um valor EMA incorreto, desde que não haja barras.

Se estamos falando de condições REAIS de uso adequado da EA, então o intervalo de 10 minutos será absolutamente levado em conta.

 
hrenfx:

Você me aponta o erro no código, não sua visão do algoritmo correto. Você diz que há um erro. Assim, você sabe exatamente onde ela está localizada. Por que é tão difícil mostrar-lhe o local (que você já definiu) em 10 linhas de código?


Não se pode operar com o tempo. Você só pode operar com o número de barras atuais e o número de barras processadas. Se sua diferença for maior que 1, então o recálculo completo. Se for igual a 1, cálculo da primeira e da segunda barra. Se for igual a zero, então somente a barra zero.

Não há nada de complicado nisso. Acabei de repetir o algoritmo para o cálculo correto. Não quero dar-lhe o cálculo em si. Não há nenhum sentido nisso. Se não há vontade de tentar fazer tal coisa, então não há necessidade. E não faz sentido discutir mais a questão.

 
hrenfx:

Eu lhe falei sobre as condições REAIS. Um EA com um indicador obterá exatamente o mesmo valor de EMA incorreto, desde que não haja barras.

Sim, mas se no indicador os valores forem corrigidos assim que as barras entrarem, então em sua versão os valores estarão incorretos durante o número de barras igual à largura da janela do EMA.
 
Vinin:


Você não pode operar em tempo hábil. Você só pode operar com o número de barras atuais e o número de barras processadas. Se sua diferença for maior que 1, então o recálculo completo. Se for igual a 1, então o cálculo da primeira e da segunda barra. Se for igual a zero, então somente a barra zero.

Eu não entendo o que você está dizendo, sobre não ser permitido. Dei-lhe um exemplo específico com uma desconexão. Neste exemplo, eu mostrei que o cálculo será correto. O que não se deve gostar? Eu lhes mostrei um exemplo, mostrei que a lacuna será levada em conta. Mas agora você está dizendo que isso não pode ser feito dessa maneira. O resultado é correto, mas você diz que não pode.

 
TheXpert:
Sim, mas enquanto os valores no indicador corrigirão assim que as barras entrarem, em sua versão os valores estarão errados para o número de barras igual à largura da janela do EMA.
  1. Sim, tudo será corrigido no indicador. É verdade que a EA receberá os valores errados antes da correção e terá a chance de "estragar tudo". Mas mais uma vez, estou falando de condições REAIS. Você administra o Expert Advisor somente quando tem certeza de que todo o histórico é baixado. E meu consultor especializado reagirá às breves falhas de conexão de forma perfeitamente correta. Você sabe perfeitamente que o problema de identificação do download completo do histórico não foi resolvido pelos desenvolvedores, mesmo tendo sido questionados muitas vezes sobre isso.
  2. Se o DC desenhar barras "esquerdas", o indicador será recalculado e dará valores "esquerdos" para o Expert Advisor. Isto não acontecerá na variante "tudo-em-um". Deve ser entendido que estamos falando de escolher um dos males. Como os desenvolvedores têm ignorado o problema óbvio. E eu continuo dizendo que o REAL adequado está sendo considerado. Você sabe perfeitamente, como praticante, o que isso é.
  3. Não há janela na EMA. É uma média exponencial.

P.S. Sobre a implementação do IndicatorCounted(). No MT4 não há amortecedores que o acompanhem. Existe apenas uma função hash cujo valor é usado indiretamente no IndicatorCounted(). Sempre que o histórico é alterado, a função hash muda o valor. Qualquer pessoa pode escrever uma simples função de hash que acompanhará as mudanças na história.

 
Deixe-se de tretas.
 
E o EMA tem uma janela!
 
Integer:
Deixe-se de tretas.

Aprenda a discutir.
 
Integer:

Sinto muito, mas explicar qualquer coisa a você é uma tarefa muito infeliz.

Por isso, despeço-me com um pincel...

E a propósito, onde está sua versão prometida do Expert Advisor para ser ligada ao indicador? Não consigo encontrá-lo em nenhum lugar.

A discussão vai na direção errada porque o problema de conexão e troca de histórico não é discutido aqui, mas a medição de desempenho de qualquer dado de entrada aleatória através do indicador e diretamente no código.