Como fazer uma condição atrasar por um período de tempo em uma estratégia
2 respostas
Hans Hwang
3 anos atrás #259239
Olá. Descobri o AlgoWizard hoje e fiquei muito empolgado com o fato de ele ser realmente uma boa ferramenta.
Li o documento de ajuda e tentei alguns EA.
Quero criar um EA com uma ou duas condições de atraso, o que significa que, quando essas condições forem acionadas, a condição será definida como verdadeira por um período de tempo, independentemente de a condição original ter se tornado falsa。
Aqui está um exemplo simples:
Quando houver divergência no MACD nas últimas 60 barras, quando o MACD cruzar a linha 0, abra a compra. (ele mostra divergência no passado, mas talvez não no passado recente).
Vi que podemos usar if...then para definir variáveis. Talvez eu possa definir uma variável quando houver divergência MACD e deixá-la durar 60 barras?
E a divergência MACD é outro recurso, que vi como exemplo no documento do usuário, mas ainda não o visualizei.
Qualquer resposta será bem-vinda, pois continuarei tentando e fornecerei mais informações.
obrigado
tomas262
3 anos atrás #259278
Hi,
Se quiser combinar dois sinais que não precisam aparecer ao mesmo tempo, mas com um atraso entre eles, você poderá fazer isso facilmente usando variáveis (chame-as de variáveis de estado) para dividir a lógica em duas etapas:
1) verificar a divergência MACD ... quando ocorrer uma divergência MACD de compra, você define uma variável (crie uma nova variável chamada 'divergencyState (int)) como +1
2) criar uma segunda condição que verifique uma situação em que o MACD cruze acima de 0 E divergencyState = 1 .... Agora você pode acionar uma entrada de compra e definir divergencyState novamente como 0 para a próxima situação
Dessa forma, pode haver um atraso de várias barras entre esses dois sinais, portanto, após uma divergência, a estratégia "espera" até que o MACD cruze acima da linha 0
Se quiser limitar o número de barras entre os sinais, você também precisará "contar barras" depois que divergencyState for definido como 1 e verificar "max bars to detect MACD cross above 0".
Se precisar de ajuda com isso, entre em contato comigo
Hans Hwang
3 anos atrás #259306
Obrigado por sua resposta.
Tenho uma dúvida sobre a "contagem de barras", como posso fazer isso?
E sobre a divergência do macd, descobri que o exemplo não pode ser clicado, o que é https://algowizard.io/examples/
Como posso verificar a divergência?
obrigado
Visualizando 2 respostas - 1 até 2 (de um total de 2)