Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 466
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
Saudações a todos. Tenho uma pergunta a fazer. Tenho um indicador (fractais modificados), quando carregado num gráfico tudo está correcto, funciona como deveria, mas quando tento utilizá-lo num EA, diz que o tampão está vazio. Ao mesmo tempo, ao passar o tampão em Deinit, armazena os valores correctos.
O código fonte do indicador está anexado. Estou pronto a ouvir dicas e sugestões sobre o que estou a fazer mal.
Código da EA:
Pode substituir o "se" no final por "se":
(se for tão simples como isso,:)
Obrigado
Saudações a todos. Tenho uma pergunta a fazer. Tenho um indicador (fractais modificados), quando carregado num gráfico tudo está correcto, funciona como deveria, mas quando tento utilizá-lo num EA, diz que o tampão está vazio. Ao mesmo tempo, ao passar o tampão em Deinit, armazena os valores correctos.
O código fonte do indicador está anexado. Estou pronto a ouvir dicas e sugestões sobre o que estou a fazer mal.
Código da EA:
Um olhar muito rápido. Pergunta: pode um fractal estar numa barra de zero ? Mas em OnDeinit() você laça através das barras e naturalmente encontra um fractal (não um valor tampão vazio).
Em Deinit, eu também passo por 4-6 e tudo está no seu lugar.
Em OnDeinit() corre-se num loop (de 0 a 100) através das barras à procura de um valor diferente de zero e regista-se o valor encontrado.
Em OnTick() tenta-se produzir apenas as últimas 6 barras de tampão 0. Pode não haver fractal neles.
Primeiro, encontrar a barra com o fractal e depois imprimir o valor dessa barra.
Em OnDeinit() corre-se num loop (de 0 a 100) através das barras à procura de um valor diferente de zero e regista-se o valor encontrado.
Mas em OnTick(), tenta-se imprimir apenas as últimas 6 barras de tampão 0. Pode não haver fractal neles. Primeiro, encontrar a barra com o fractal e depois imprimir o valor desta barra.
A 6ª barra é suposta conter fractal.
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 29 fractal Up: 1.098552015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 21 fractal Up: 1.09976
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 16 fractal Down: 1.09652
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 6 fractal Up: 1.10721
2015.11.01 13:19:10.577 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: Função Deinit
2015.11.01 13:19:08.380 2015.10.01 00:00 MoneyRobotics_Proboi! teste iniciado
O teste começou, o Expert Advisor trabalhou, Deinit foi carregado e fractal foi encontrado às 6. Não sei como abordar o tampão indicador.
https://charts.mql5.com/9/256/eurusd-h1-alpari-limited-3.png
reprodução de imagens.
a 6ª barra deve conter um fractal.
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 29 fractal Up: 1.098552015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 21 fractal Up: 1.09976
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 16 fractal Down: 1.09652
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: x = 6 fractal Up: 1.10721
2015.11.01 13:19:10.577 2015.10.30 22:54 MoneyRobotics_Proboi! EURUSD,H1: Função Deinit
2015.11.01 13:19:08.380 2015.10.01 00:00 MoneyRobotics_Proboi! teste iniciado
Este é o início do registo. início do teste, o Conselheiro Especialista trabalhou, Deinit começa, e imediatamente na 6ª posição encontra um fractal.
https://charts.mql5.com/9/256/eurusd-h1-alpari-limited-3.png
Não sei como abordar o tampão indicador.
Este aqui:
do
prevtime = Time[0];
mesmo no final
Isto:
do
mesmo no final.
como é que isto o pode afectar? infelizmente, nada mudou.
como imagino o processo: o indicador é carregado, começa a verificar cada condição de tick/bar, se a condição é satisfeita, coloca o valor no buffer ou buffers seleccionados, então a EA chama o indicador pelo número do buffer ao valor com um determinado offset e toma o valor. Certo?
como é que isto o pode afectar? infelizmente, nada mudou.
como imagino o processo: o indicador é carregado, começa a verificar a condição a cada tique/barra, se for cumprido, coloca o valor no buffer ou buffers seleccionados, depois a EA chama o indicador pelo número do buffer para o valor com um determinado desvio e toma o valor. Certo?
Porque é que existe um novo controlo de barras no indicador? Aparentemente, não há cálculos complicados