Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1426
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
Veja este código:
Atenciosamente, Vladimir.Dê uma olhada neste código:
Atenciosamente, Vladimir.Infelizmente, não poderei verificá-lo nos próximos dois dias, mas aceite meus agradecimentos!
Obrigado, mas observe que esse não é um código pronto, mas apenas a direção do meu pensamento. Ele pode estar errado. Você precisa verificá-lo. Você pode considerar outra opção - remover OnTimer e tentar o mesmo código em OnTick(). Em resumo, tente.
Saudações, Vladimir.
Registre o preço e a hora atuais. Compare o tempo com o tempo atual em cada tick; se for mais de 20 segundos, lembre-se do segundo preço. Calcule a diferença entre o primeiro preço e o segundo preço. Compare o resultado obtido com uma constante e tome a decisão de abrir uma ordem.
Lembrar o preço e a hora atuais. Compare a hora com a hora atual em cada tick; se houver mais de 20 segundos, lembre-se do segundo preço. Calcule a diferença entre o primeiro preço e o segundo. Compare o resultado obtido com uma constante e tome a decisão de abrir uma ordem.
Entendi corretamente: você precisa lembrar o preço atual a cada segundo para compará-lo com o preço atual quando cada valor dessa série for removido por 20 segundos?
A comparação deve ser contínua.
Entendi corretamente: você precisa lembrar o preço atual a cada segundo, de modo que, quando cada valor dessa série for excluído por 20 segundos, você possa compará-lo com o atual?
A comparação deve ser contínua.
Se for necessário verificar todos os ticks, então todos os ticks devem ser memorizados e comparados. Se for possível fazer isso com menos frequência, de acordo com o algoritmo, use um cronômetro e, após um segundo, lembre-se do preço e, após 20 segundos, lembre-se também e compare. Ou melhor, você deve lembrar todos os preços ou preços em um segundo dentro de 20 segundos e comparar com um novo tick.
Pode haver 1 tick por segundo, pode haver um em 5 segundos e pode haver 100 em um segundo. Você precisa decidir como agir quando houver um tick a cada 5 segundos e quando houver 100 ticks por segundo.
Os ticks não são uniformes, a questão está no algoritmo, então, se você precisa verificar todos os ticks, todos eles devem ser memorizados e comparados. Se for possível ser menos frequente de acordo com o algoritmo, então um cronômetro e, após um segundo, lembrar o preço e, após 20 segundos, também lembrar e comparar. Ou melhor, você deve lembrar todos os preços ou preços em um segundo dentro de 20 segundos e comparar com um novo tick.
Pode haver 1 tick por segundo, pode haver um em 5 segundos e pode haver 100 em um segundo. Você precisa decidir como agir quando houver um tick a cada 5 segundos e quando houver 100 ticks por segundo.
Não é uma questão de escolher uma opção, é uma questão de dificuldade para que eu a escreva.... Estou aqui pela primeira vez hoje. Sou totalmente amador.
Só quero testar minha ideia...
Não é uma questão de escolher uma opção, é uma questão de dificuldade para eu escrevê-la..... Esta é minha primeira vez aqui hoje. Totalmente amador.
Só quero testar minha ideia.
O algoritmo deve ser preciso e compreender as condições de sua aplicação. Não é possível escrever código de outra forma. O código é a realização de um algoritmo de ações, ele não pode ser impreciso.
E aqui é melhor escrever você mesmo primeiro, e talvez você corrija os erros.
Você entende os sinais de igual, mais é menos.
Buffer de anel:
Pegue um buffer - uma matriz estática grande o suficiente de estruturas "price, time" (ou duas matrizes separadas).
Pegamos duas variáveis - "ponteiros" (índices) para a cabeça e a cauda do buffer.
Em cada tick, adicionamos um elemento à cabeça e avançamos o ponteiro.
Comparamos o tempo com o elemento na cauda e, se necessário, movemos o ponteiro.
Compare o preço com o elemento na cauda.
Se algum ponteiro tiver chegado ao final da matriz, redefinimos esse ponteiro para zero.
Pegamos duas variáveis - "ponteiros" (índices) para a cabeça e a cauda do buffer.
Em cada tick, adicionamos um elemento à cabeça e movemos o ponteiro.
Compare o tempo com o elemento na cauda e, se necessário, mova o ponteiro.
Compare o preço com o elemento na cauda.
Se algum ponteiro tiver chegado ao final da matriz, redefina esse ponteiro para zero.