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
OK, obrigado FMIC.
Na verdade, meu problema era sobre o especialista que compartilhei no fórum. Seu script funciona muito bem, mas basicamente preciso dele na forma de um especialista que também possa trabalhar em modo quase em tempo real.
Suas perguntas originais sobre este tópico foram:
Meu script lhe forneceu o código de exemplo e o conhecimento para responder a ambas as consultas, de modo que agora você pode aplicar esse conhecimento a outros usos, como um EA que você deseja desenvolver. Tudo que você precisa fazer é usar meu código para o uso do iCustom() e para testar os pontos altos e baixos do ZigZag e aplicá-lo ao seu código EA.
Entretanto, a outra consulta, que você mencionou posteriormente, sobre como usar os dados ZigZag em uma EA específica para as necessidades de otimização de uma estratégia que você já tem em funcionamento em outra EA, não foi apresentada ou descrita aqui com detalhes suficientes sobre este tópico. Portanto, em essência, não posso oferecer-lhe conselhos ou ajuda porque não sei o que é que você precisa.
Se você ler o artigo que acompanha meu indicador ZigZagZug na base de código, você verá que usar o ZigZag em estratégias e EAs não é fácil por causa da constante repintura, e requer uma compreensão cuidadosa de como ele funciona e como ele pode ser usado em diferentes estratégias e EAs.
Em outras palavras, o casamento entre os dados ZigZag e uma estratégia EA é complexo e precisa ser bem definido. Portanto, sem saber nada sobre sua estratégia atual ou como ela deve ser otimizada, não posso lhe oferecer mais ajuda ou conselhos.
Uma vez que é compreensível que você talvez não queira ser mais próximo publicamente, ofereci até mesmo a oportunidade de fazê-lo em particular, e sem nenhum custo. Sou um Desenvolvedor de Software e normalmente cobro por estes serviços.
Além do que já lhe ofereci, não posso mais fazer ou oferecer-lhe mais conselhos sem compreender a natureza do problema que você quer resolver.
Hi,
Eu consegui corrigir meu código. Houve um erro na lógica dos loops, agora ele funciona bem até onde eu testei.
Aqueles que estão interessados poderiam usá-lo. Ele foi projetado para ser usado como especialista e usa metaquotas do indicador padrão ZigZag.
O que ele faz basicamente encontra os pontos altos e baixos reais no indicador ziguezague. Pode ser usado para encontrar pontos baixos e altos em dados históricos também para análise de período e amplitude.
Não é em tempo real! Ele volta aos últimos valores altos e baixos, portanto, dependendo da duração da última tendência, ele pode voltar e corrigir os valores. Não o utilize antes de um teste rápido no testador de estratégia.
FMIC, obrigado por seus esforços e ajuda.
Olá aed71,
Olá aed71,
Mais uma vez, obrigado por seus comentários;
Eu não sou um bom programador, então o código em si pode não ser perfeito :-) No entanto, deixe-me tentar explicar minha lógica;
1-) A parte dos comentários poderia ser mudada para "cada nova barra".
2-) 4-) 5-) A lógica de usar grandes matrizes é que depois com um novo processo contarei as barras de valor zero entre altos ou entre altos e baixos para encontrar o período, a amplitude, etc. Portanto, preciso inicializar a matriz antes de usá-la e não preciso lidar com o índice de tempo, etc. Apenas mais buffer, o que não é um grande problema para meu projeto atualmente.
3-) Eu rastreei o ziguezague e o ziguezague várias vezes. em ziguezague, embora você tenha valores muito altos e baixos no final, se você colocar esses valores em um array, você verá que há entre baixos e altos. Você não pode evitá-los e não pode usar a combinação mode0 e mode1/mode2. Sempre há entre baixos e altos. Em zig-zagzug você pode ver claramente esses pontos. Além disso, vejo que há casos em que o modo0 é zero, mas o modo1 ou o modo2 são maiores que zero, que são pontos incorretos. Portanto, decidi colocar um código extra para evitar estes pontos.
Como mencionei, este pode não ser o melhor código para encontrar pontos em ziguezague, entretanto o código que ele mesmo está funcionando corretamente em meus testes. Eu já testei várias vezes. Eu sempre recomendo que aqueles que querem usá-lo testem antes.
Você já o testou? Ele não dá os pontos corretos. Quando você diz que não é robusto ou que está incorreto, presumo que seus testes falharam, não é mesmo?
Obrigado.
Mais uma vez, obrigado por seus comentários;
Eu não sou um bom programador, então o código em si pode não ser perfeito :-) No entanto, deixe-me tentar explicar minha lógica;
1-) A parte dos comentários poderia ser mudada para "cada nova barra".
2-) 4-) 5-) A lógica de usar grandes matrizes é que depois com um novo processo contarei as barras de valor zero entre altos ou entre altos e baixos para encontrar o período, a amplitude, etc. Portanto, preciso inicializar a matriz antes de usá-la e não preciso lidar com o índice de tempo, etc. Apenas mais buffer, o que não é um grande problema para meu projeto atualmente.
3-) Eu rastreei o ziguezague e o ziguezague várias vezes. em ziguezague, embora você tenha valores muito altos e baixos no final, se você colocar esses valores em um array, você verá que há entre baixos e altos. Você não pode evitá-los e não pode usar a combinação mode0 e mode1/mode2. Sempre há entre baixos e altos. Em zig-zagzug você pode ver claramente esses pontos. Além disso, vejo que há casos em que o modo0 é zero, mas o modo1 ou o modo2 são maiores que zero, que são pontos incorretos. Portanto, decidi colocar um código extra para evitar estes pontos.
Como mencionei, este pode não ser o melhor código para encontrar pontos em ziguezague, entretanto o código que ele mesmo está funcionando corretamente em meus testes. Eu já testei várias vezes. Eu sempre recomendo que aqueles que querem usá-lo testem antes.
Você já o testou? Ele não dá os pontos corretos. Quando você diz que não é robusto ou que está incorreto, presumo que seus testes falharam, não é mesmo?
Obrigado.
Você está perdendo o ponto! O código que lhe forneci mostra como identificar corretamente os pontos ZigZag Alto/Baixo; no entanto, você opta por ignorá-lo e fazê-lo de sua própria maneira que torna o código mais difícil de entender e mais lento, além de utilizar mais recursos do que é necessário. Por quê?
Você está usando o ZigZag incorretamente em seu exemplo iCustom. O ZigZag padrão por MetQuotes tem TRÊS (não dois) Buffers (Modos ou Índice de Linha no iCustom)
Você precisará comparar o primeiro buffer (Modo 0) com os outros 2 buffers para decidir se é um ponto alto ou um ponto baixo (por exemplo, se ambos Buffer 1 e Buffer 3 têm o mesmo valor, então é um ponto baixo ZigZag, e se ambos Buffer 1 e Buffer 2 são o mesmo, então é um ponto alto).
Além disso, para entender melhor como funciona um ZigZag e como ele pinta novamente, sugiro brincar com meu indicador ZigZagZug. Entretanto, em seu código, use o MetaQuotes ZigZag, pois ele é mais rápido. Minha versão faz mais processamento por causa das características extras e é, portanto, mais lenta.
PS! Se o Buffer 1 (Modo = 0) tem um valor de 0,0, mas os outros buffers têm valores não zero, então eles são pontos de repintura mais antigos e NÃO pontos ZigZag.
Em seu código você está usando o Buffer Mode 0 como o Buffer Baixo e o Buffer Mode 1 como o Alto. Isso é totalmente incorreto.