Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
O que você quer dizer com corrupções? Acabo de anexar seu indicador no EURUSD M1 e não vejo nenhum valor.
O terminal de cliente MetaTrader 4 de 32 bits mostra a mesma imagem. Você tem certeza de que o indicador fornecido funciona?
O terminal do cliente MetaTrader 4 sapatos 32bit tem a mesma imagem. Você tem certeza de que o indicador fornecido funciona?
A segunda versão, timestamped 2011.10.12 06:37, parece que deve começar a desenhar imediatamente.
Mas, de qualquer forma, os problemas aparentemente não começam a acontecer por várias horas.
Parece que você baixou a versão original do código de exemplo (timestamped 2011.10.11 18:06). Isso não atrai nada por 25 minutos.
O terminal de cliente MetaTrader 4 de 32 bits mostra a mesma imagem. Você tem certeza de que o indicador fornecido funciona?
- Sim. Estou rodando o mesmo indicador em uma máquina de 32 bits também, desde ontem à noite, aproximadamente 18 hrs. O problema não está ocorrendo.
Se você quiser que outro possível bug MT4 ocorra, o que acontece se você usar Low[i] e High[i] em vez de iLow() e iHigh() ?
- Em meu código atual são usados iHighest / iHigh / iLowest / iLow etc... Usado Alto/Baixo no código de exemplo para reduzir a complexidade
Tenho uma idéia . . mas tenho que sair agora, adicionei o Indicador a um novo gráfico, testarei minha idéia quando voltar e publicar os resultados.
OK, acabei de voltar, a tabela parecia bem desde que carreguei o Indicador pela primeira vez . . depois tentei minha idéia . . Paged Up para mover o gráfico para a direita para que novos dados pudessem ser baixados . . e hey presto . .
Foi isto que sugeri neste tópico em 2011.10.07 19:08
OK, acabei de voltar, a tabela parecia bem desde que carreguei o Indicador pela primeira vez . . depois tentei minha idéia . . Paged Up para mover o gráfico para a direita para que novos dados pudessem ser baixados . . e hey presto . .
Certo, então você está colocando a hipótese de que o histórico da barra está mudando por alguma razão, e sendo preenchido novamente, e o indicador está sendo afetado porque ele só puxa para frente e não segue o comportamento habitual do indicador de recalcular com base em coisas como IndicatorCounted() ?
Eu não olhei para o código recente. . mas sim, algo na linha do que você escreveu.
Ok, em resumo, o que parece que temos é o seguinte:
* Um indicador normal usará IndicatorCounted() para determinar quais valores de barra estão "sujos" e precisam ser (re)calculados.
* Quando você adiciona barras extras ao histórico rolando de volta, IndicatorCounted() é reposto a zero. Portanto, neste ponto, um indicador normal recalculará todos os seus valores históricos.
* O indicador aqui não faz isto. Na verdade, ele ignora o IndicatorCounted() e desenha apenas para frente.
* Por alguma razão, a máquina Win64 da AnkaSoftware é periodicamente preenchida com dados mais antigos, mas a máquina Win32 não é. O sistema operacional provavelmente é apenas coincidência neste contexto.
* É um pouco malicioso que o MT4 não ajuste os buffers indicadores à luz das novas barras que foram adicionadas e, em vez disso, se baseie no código indicador recalculando todos os valores antigos porque o IndicatorCounted() é reinicializado. (Entretanto, é razoavelmente justificável, porque a adição de valores de barras mais antigas a muitos indicadores afeta potencialmente os cálculos subseqüentes. Por exemplo, um EMA mudará, embora por um valor mínimo, se você adicionar uma barra extra no início da história).
* É um pouco maroto que o MT4 não ajuste os amortecedores indicadores à luz das novas barras que foram adicionadas e, em vez disso, se baseia no código indicador recalculando todos os valores antigos porque o IndicatorCounted() é reinicializado.
Digamos que o indicador esteja funcionando há algum tempo, mas depois há uma desconexão do corretor que dura para várias barras. Na reconexão, o MT4 receberá um sinal e começará a desenhar os valores do indicador para a última barra. Separadamente, assíncrona e mais lentamente, receberá os dados históricos das barras que faltam que ocorreram durante a desconexão. Estas são inseridas no meio do histórico da barra e, portanto, é necessário que qualquer indicador normal redesenha valores antigos começando pelo menos a partir do início do período de desconexão. Na prática, é compreensível que o MT4 adote a abordagem "redesenhar tudo". A única questão é se o MT4 deve alterar automaticamente os valores de buffer para EMPTY_VALUE se eles forem potencialmente inválidos.
Esta questão afeta apenas os indicadores baseados em indicadores?
Que tal outros, digamos alto[], baixo[], ou iHigh, iLow, iLowest, iBarshift, etc, etc...., é isso que eu prefiro saber e ser claro.