Erros, bugs, perguntas - página 3027
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
Os indicadores são o meu ponto mais fraco ))))
Mas!
Ou não percebo nada, ou está um pouco enganado.
Tanto quanto sei, o pré-cálculo é um contador de dados não-calculados. E, uma vez contados os dados recebidos, esse contador é reiniciado. Tipo, é isso, meu, não há mais dados novos para calcular.... )))
E por que razão o indicador deve recalcular completamente em tal caso - não sei!
---------------
Mentiu um pouco ))))
Não são os indicadores que são recalculados, mas os "índices" são recalculados para que fiquem "bonitos" na história ;)
O contador é reiniciado por razões fora do controlo do programador, como se o indicador estivesse a funcionar pela primeira vez!
É assim em todos os bares novos? Eles estão a ser tranquilizados, não estão?
Se não for cada barra, há diferentes razões para reiniciar o pré_calc.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
Andrey Dik, 2021.05.27 13:53
isto é, o contador pré_calculado é zerado assim que a nova barra de tempo aparece. isto significa que o indicador é recalculado novamente como se tivesse sido lançado pela primeira vez.
é uma construção tão familiar para si?
o problema não está na lógica da EA (redesenhar, não redesenhar, subdesenhar ou o que quer que seja) mas no facto de que o pré_cálculo é reiniciado enquanto ninguém lhe pede para o fazer!
Penso que o problema é:
Não se deixa o indicador chamado noutro TF calcular cada tick, e depois chama-o e o histórico é sincronizado e o cálculo a partir do zero desse indicador
criei um teste. o indicador chamado conta tudo e não reinicia para pré_calculado == 0
Fechei no indicador e desenrolei o evento com uma nova barra e prev_calculei == 0 :
chame este indicador (obtenha os 2 últimos valores do tampão) e também se aproxime da sua TF:
correu o último indicador no M1 , log:
2021.05.27 21:48:34.196 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:48:00
2021.05.27 21:48:34.197 tst_tf (EURUSD,M1) tst_tf prev_calculado == 0
2021.05.27 21:48:34.197 tst_tf (EURUSD,M1) Error CopyBuffer # 4806
2021.05.27 21:48:34.197 tst (EURUSD,M5) tst Novo bar 2021.05.27 21:45:00
2021.05.27 21:48:34.197 tst (EURUSD,M5) tst prev_calculado == 0
2021.05.27 21:49:01.636 tst_tf (EURUSD,M1) tst_tf bar novo 2021.05.27 21:49:00
2021.05.27 21:50:00.149 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:50:00
2021.05.27 21:50:00.149 tst_tf (EURUSD,M5) tst Novo bar 2021.05.27 21:50:00
2021.05.27 21:51:01.789 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:51:00
2021.05.27 21:52:02.832 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:52:00
2021.05.27 21:53:00.920 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:53:00
2021.05.27 21:54:02.778 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:54:00
2021.05.27 21:55:00.308 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:55:00
2021.05.27 21:55:00.308 tst_tf (EURUSD,M5) tst Novo bar 2021.05.27 21:55:00
2021.05.27 21:56:00.118 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:56:00
2021.05.27 21:57:00.419 tst_tf (EURUSD,M1) tst_tf Novo bar 2021.05.27 21:57:00
É assim em todos os bares novos? São demasiado seguros ou algo assim...
Se não em cada barra, há diferentes razões para reiniciar o pré_calc.
exactamente em cada novo bar da maior TF.
Por exemplo, se o indicador funcionar em M1 e aceder ao indicador em M5, então a cada 5 minutos o indicador será completamente recalculado.
Penso que o problema é:
Não se deixa o indicador chamado em outro TF calcular cada tick e depois chama-o e o histórico sincroniza e calcula a partir do zero desse indicador
criei um teste. o indicador chamado conta tudo e não reinicia para pré_calculado == 0
Fechei no indicador e desenrolei o evento com uma nova barra e prev_calculei == 0 :
chame este indicador (obtenha os 2 últimos valores do tampão) e também se aproxime da sua TF:
Verifico a sincronização dos dados na TF superior solicitada (M5) e a prontidão do indicador na mesma, se não estiver pronto, então saia.
Como resultado, o indicador funciona apenas uma vez na barra M1 aberta, e não a cada tick:
Espero que os criadores ouçam os meus pedidos.
Verifico a sincronização dos dados na TF superior solicitada (M5) e a prontidão do indicador na mesma, se não estiver pronto, então saia.
Como resultado, o indicador funciona apenas uma vez na abertura da barra M1, e não a cada tic tac:
Espero que os criadores ouçam os meus pedidos.
isto não deve funcionar correctamente nos indicadores:
se não estou enganado, na ajuda há uma passagem do guião para a paginação de dados para todas as TFs e deve haver um aviso de que os dados históricos não podem ser solicitados ao indicador devido ao facto de o indicador funcionar de forma assíncrona
e recomenda-se usar BarsCalculated() uma vez depois de atar a pega
UPD: guião para paginação da história e explicação porque não funciona em indicadores:https://www.mql5.com/ru/docs/series/timeseries_access
Verifico a sincronização dos dados na TF superior solicitada (M5) e a prontidão do indicador na mesma, se não estiver pronto, então saia.
Como resultado, o indicador funciona apenas uma vez na abertura da barra M1, e não a cada tic tac:
Tenho mesmo de usar o meu pré-calc? Espero que os programadores ouçam os meus pedidos.
Para que serve tal verificação?
Seria muito mais simples escrever return 0; sem condição e pronto.
Em cada nova barra, a condição será cumprida e todas as barras serão recalculadas independentemente da sincronização. Escreveu um código irreflectido e finge que é um bug terminal.
Qual é o objectivo de tal verificação?
Seria mais fácil escrever o retorno 0; sem condições e pronto...
A condição será preenchida em cada nova barra e todas as barras serão recalculadas independentemente da sincronização. Escreveu um código errático e passou-o como um bug terminal.
pensar de novo.