[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 209
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
Estas são as funções, e os objetos são os retângulos que aparecem no gráfico.
Primeiro, imprima algo das funções da biblioteca em Imprimir, para que você saiba se elas são chamadas de alguma forma
Os objetos gráficos são criados em funções de biblioteca. Após a primeira chamada ao indicador, os objetos são criados e exibidos na janela do terminal.
Quando você os chama novamente, eles não estão presentes na lista de objetos, o que sugere que as funções externas não estão funcionando quando o indicador é recalculado por algum motivo, e o terminal é silencioso sobre esta questão.Ok. Em vez de sinais indiretos, imprimir ( " chamada desta função") no indicador; veremos imediatamente se esta função é chamada.
Você deve ser menos arrogante, então os erros serão encontrados mais rapidamente)
Em geral, seu problema está mais provavelmente na função
A questão é que a estática não é reinicializada durante a reinicialização, portanto, quando você reinicia, seu BarTime é sempre igual ao tempo da última barra contada na última vez, ou seja, isNewBar () é falso até que uma nova vela chegue. Seria melhor mover a função da biblioteca para o mqh inluder e zerar o BarTime=0 explicitamente no init ().
Este é apenas um primeiro olhar sobre o código, portanto não julgue muito severamente se eu estiver errado.
Eu começaria removendo esta linha da sua biblioteca
#property library
Como você não está usando uma biblioteca, mas um arquivo de inclusão
Até onde me lembro, você tem que se lembrar especificamente desta vez quando você estabelece a ordem pendente. Você pode memorizá-lo diretamente no comentário ao pedido (ou em magik, como uma perversão especial:).
PERGUNTA 1.
Como codificar esta idéia.
Definir uma ordem pendente, mas fazer com que ela se converta em uma ordem de mercado somente se o preço da ordem pendente coincidir com o preço de abertura de qualquer vela TF60
PERGUNTA 2.
Como codificar esta idéia.
Se uma ordem pendente for convertida em uma ordem de mercado, em 10 minutos devemos definir outra ordem pendente com os mesmos valores: preço aberto, preço de parada, volume como na ordem pendente anterior que foi convertida em uma ordem de mercado.
Obrigado.
Ok. Talvez, em vez de julgarmos por sinais indiretos, devêssemos apenas digitar o próprio indicador: Imprimir ("chamada de tal e tal função"); veremos imediatamente se ela é chamada ou não.
Você deve ter menos excesso de confiança do que os erros serão encontrados mais rapidamente).
E, em geral, seu problema está mais provavelmente na função
O problema é que a estática não é zerada ao reiniciar, portanto, ao reiniciar o BarTime é sempre igual ao tempo da última barra contada na última vez, ou seja, isNewBar () será falsa até que uma nova vela chegue. Seria melhor mover a função da biblioteca para o mqh inluder e zerar o BarTime=0 explicitamente no init ().
Este é apenas um primeiro olhar sobre o código, portanto não julgue muito severamente se eu estiver errado.
Muito obrigado!
Removido o isNewBar () da biblioteca e colocado no arquivo indicador. Tudo funciona como um relógio!