Visão geral: Esta estratégia utiliza Bandas de Bollinger, indicador KDJ e tendência de seguimento para operações de ruptura de preço.
Estratégia lógica:
Calcule as médias móveis simples de 15 e 30 dias para determinar a tendência do preço.
Calcule Bollinger Bands trilho superior e inferior, e combinar candelabroqueamento de BB trilhos para determinar entradas e saídas.
Utilize o indicador RSI para julgar as condições de sobrecompra e sobrevenda.
Quando o preço se rompe acima da linha superior do BB com RSI superior a 50, um sinal de compra é gerado.
Configurar o ATR stop loss para controlar os riscos.
Vantagens:
A estratégia combina múltiplos indicadores como Bollinger Bands e RSI para determinar sinais de negociação, o que pode efetivamente evitar erros causados por um único indicador.
Com a filtragem da tendência, evita sinais errados durante a consolidação e reversão.
O ATR controla os riscos de stop loss para cada operação.
A lógica estratégica é simples e fácil de entender.
Riscos e melhorias:
Como um indicador de envelope, os trilhos superiores e inferiores do BB não são níveis absolutos de suporte / resistência. Os preços podem quebrar os trilhos e atingir o stop loss. Pode definir um stop loss mais amplo ou usar outros métodos de stop loss como saída de tempo.
O RSI pode falhar em alguns mercados. Pode considerar a combinação de outros indicadores como KDJ e MACD para um julgamento mais confiável de sobrecompra / sobrevenda.
Os sinais errados podem ocorrer durante reversões e consolidações. Pode adicionar filtro de tendência para apenas negociar ao longo da tendência principal.
Sugestões de melhoria:
Teste e otimize o período BB e o desvio-padrão para diferentes produtos.
Teste e otimize o parâmetro do período RSI.
Teste outros métodos de stop loss como trailing stop loss e time exit.
Adicionar mais indicadores de tendência e indicadores de sinal para construir modelos multifatores.
Conclusão:
A estratégia combina BB, RSI e outros indicadores para sinais de entrada e saída. Controla os riscos, garantindo a precisão do sinal. Mais otimização pode ser feita em parâmetros e melhorias como modelos multifatores.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Custom Strategy", overlay=true) length = 14 mult = 0.75 atr = atr(length) * mult // Moving averages ma15 = sma(close, 15) ma30 = sma(close, 30) // Bullish Engulfing pattern bullishEngulfing = close[1] < open[1] and close > open and close[1] < open and close > open[1] // Bearish Engulfing pattern bearishEngulfing = close[1] > open[1] and close < open and close[1] > open and close < open[1] // RSI rsi = rsi(close, length) // Buy condition if (bullishEngulfing and close[1] > ma15 and rsi > 50) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=close - atr) // Sell condition if (bearishEngulfing and close[1] < ma15 and rsi < 50) strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=close + atr) // Plotting plotshape(series=strategy.position_size > 0, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=strategy.position_size < 0, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")