Erros, bugs, perguntas - página 1391
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
Após pressionar "refrescar" tudo é calculado. Seria mais conveniente se os dados indicadores, criados no inite, fossem calculados antes da primeira chamada do OnCalculate/OnTimer, etc.
Seria útil ter a possibilidade de esperar pelo seu cálculo após a inicialização no laço dentro do indicador.
Para calcular o indicador, o utilizador deve carregar várias vezes em "refresh" no gráfico. Será que ele precisa. Recordará o bom velho MT4 e permanecerá nele, apesar de algumas vantagens do MT5.
Quaisquer cálculos em indicadores DEVEM ser feitos apenas em OnCalculate().
Estou a falar das leituras do indicador Ishimoku neste caso. Estou a falar de leituras indicadoras que são utilizadas na actual, ou seja, OnCalculate. Portanto, são calculados antes de OnCalculate ser chamado, como era no MT4.
Estou a falar das leituras do indicador Ishimoku neste caso. Estou a falar de leituras indicadoras que são utilizadas em corrente, ou seja, em OnCalculate. Portanto, são calculados antes da chamada da OnCalculate, como era no MT4. Ou seria possível esperar pelo seu cálculo em OnCalculate. Caso contrário, os utilizadores terão de carregar várias vezes em Update para construir um indicador. Como nem todos os indicadores são construídos sobre toda a história em 1 segundo, existem indicadores complexos que demoram mais tempo a calcular. Durante todo este tempo o utilizador terá de esperar por cima do botão "Refresh", enquanto no MT4 só tem de esperar que seja desenhado.
Este problema surge de tempos a tempos no fórum. Infelizmente, chamar OnCalculate() em OnTimer() não resolve o problema.
Mas pode experimentá-lo. Um exemplo pode ser encontrado neste artigo: MQL5 Recipes - Development of a Multicurrency Volatility Indicator in MQL5.
Posteriormente, poderá escrever se funcionou ou não.
OnInit() prepara o ambiente comercial para o indicador. E apenas em OnCalculate() pode utilizar os dados indicadores.
Este problema surge de tempos a tempos no fórum. Infelizmente, chamar OnCalculate() em OnTimer() não resolve o problema.
Mas pode experimentá-lo. Um exemplo pode ser encontrado neste artigo: MQL5 Recipes - Development of a Multicurrency Volatility Indicator in MQL5.
Depois, escrever se funcionou ou não, se não foi demasiado incómodo.
Acontece que não pode, sem premir o botão "Update" no gráfico uma ou várias vezes (ou esperar por 1/alguns ticks), se o indicador utilizar outros indicadores de outros símbolos e/ou tf.
E se olhar mais de perto para o funcionamento do código que eu dei? E em particular aos Peritos? Depois de reiniciar o terminal no fim-de-semana:
Pode ver perfeitamente que o cálculo só foi efectuado na segunda chamada para a OnCaalculate(). Assim, ninguém retira ao programador a responsabilidade de verificar: verificar o resultado de CopyBuffer() em OncalCulate() - se a função não devolveu nada, deve ser verificada na próxima entrada em OnCalculate().
Este problema surge de tempos a tempos no fórum. Infelizmente, chamar OnCalculate() em OnTimer() não resolve o problema.
Mas pode experimentá-lo. Um exemplo pode ser encontrado neste artigo: MQL5 Recipes - Development of a Multicurrency Volatility Indicator in MQL5.
Por favor, escreva mais tarde, se não houver muitos problemas, quer tenha funcionado ou não.
Ainda não li o artigo, mas funciona bem com o OnTimer
Tenho uma estranha imagem mostrando que a chamada de OnCalculate da OnTimer funciona) Preciso de acrescentar valores correctos em séries temporais
Ainda não li o artigo, mas a recepção com o OnTimer funciona bem
Ainda não li o artigo, mas a recepção com o OnTimer funciona bem
Use o Styler - é melhor para identificar erros.
Aumentar variável de contagem antes de sair de OnCalculate() - neste caso, esta variável contará correctamente todas as corridas em OnCalculate.