Esta estratégia baseia-se no conceito de ruptura de 9 dias de Larry Williams, monitorando a direção da média móvel de 9 dias para determinar a tendência e tomando posições em pontos de ruptura para seguir a tendência.
Especificamente:
O que precede constitui a lógica completa da compra e venda.
Trata-se de uma tendência relativamente simples que segue uma estratégia com os seguintes pontos fortes:
A estratégia apresenta também alguns riscos e deficiências, que podem ser melhorados a partir dos seguintes aspectos:
Em resumo, a estratégia pode ser melhorada através da otimização dinâmica dos parâmetros, do julgamento multifatorial, da gestão dos custos de transacção, do controlo do risco-recompensa, etc., para tornar a estratégia mais robusta em diferentes condições de mercado.
A estratégia de ruptura de 9 dias da Williams é uma estratégia de tendência de curto prazo relativamente clássica. A idéia central é simples e clara, usando a EMA para determinar a direção da tendência, assumindo posições em pontos de ruptura, seguindo a tendência e gerenciando riscos. A estratégia é fácil de entender e implementar, com alta eficiência de uso de capital, mas também tem algumas deficiências. Podemos otimizá-la a partir de várias perspectivas para tornar os parâmetros mais dinâmicos, regras de julgamento mais rigorosas, controle de risco mais completo, adaptando-se assim a uma gama mais ampla de condições de mercado e melhorando a estabilidade e lucratividade.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("larry willians teste2", overlay=true) //Window of time start = timestamp(2019, 00, 00, 00, 00) // backtest start window finish = timestamp(2019, 12, 31, 23, 59) // backtest finish window window() => true // create function "within window of time" ema9=ema(close,9) // Ema de 9 periodos //Condições de compra c1= (open< ema9 and close > ema9) //abrir abaixo da ema9 e fechar acima da ema9 if(window()) if(c1) strategy.entry("Compra", true, stop = high) // Coloca ordem stopgain no topo anterior else strategy.cancel("Compra") // Cancela a ordem se o proximo candle não "pegar" //codições de venda v1= (open> ema9 and close < ema9) // abrir acima da ema9 e fechar abaixo ema9 if(window()) if (v1) strategy.exit("Venda", from_entry = "Compra", stop = low) // Saida da entrada com stop no fundo anterior else strategy.cancel("Venda") //Cancela a ordem se o proximo candle não "pegar"