Esta é uma estratégia de ruptura rápida baseada na análise técnica do candelabro japonês, combinada com indicadores de média móvel e indicadores de resistência de suporte para determinar a tendência e a posição.
A estratégia usa uma média móvel simples de 20 períodos (SMA) e uma média móvel exponencial de 200 períodos (EMA) para determinar a direção da tendência.
Com a confirmação da tendência e impulso, a estratégia espera por uma quebra rápida do preço e entra no mercado. O chamado
Após entrar no mercado, as regras de captação de lucro e stop loss são muito simples. Contanto que o preço toque os limites externos do canal (como linha de captação de lucro ou linha de captação de perda), ele irá captar lucro ou stop loss imediatamente. Isso garante ganhos rápidos da estratégia.
A maior vantagem desta estratégia é a rápida captação de lucros com um risco relativamente pequeno. Ao entrar no mercado rapidamente após o breakout, evita múltiplos ajustes de posições.
Em comparação com a detenção a longo prazo, este mecanismo de abertura e fechamento eficiente pode reduzir significativamente a taxa de inatividade da estratégia e melhorar ainda mais a eficiência do capital.
A estratégia baseia-se principalmente em indicadores de média móvel para determinar a direção da tendência, com o risco de retração e consolidação.
Além disso, a estratégia baseia-se demasiado em indicadores técnicos sem combinar a análise de eventos fundamentais e significativos.
Para controlar os riscos, podemos expandir adequadamente a gama de canais para reduzir a frequência de abertura; ou adicionar um módulo de gestão de posições para ajustar dinamicamente uma única posição com base no capital total.
A estratégia pode ser otimizada nos seguintes aspectos:
Adicionar módulo de gestão de posições. Ajustar dinamicamente uma única posição de abertura com base no tamanho da conta para controlar a percentagem de perda única.
Quando os indicadores técnicos desencadearem sinais de abertura, verifique os fundamentos da empresa e eventos significativos para evitar anormalidades.
Combinar a gestão de estoque. Definir regras para ajustar dinamicamente o estoque. Selecionar o estoque ideal em diferentes estágios para melhorar a estabilidade.
Combinar modelos de aprendizagem de máquina. Usar IA para prever tendências e níveis de preços-chave, ajudando a determinar a faixa de canais e o tempo de entrada.
A estratégia possui simplicidade e eficiência. Determina a tendência principal com médias móveis, a direção do impulso com velas japonesas, entra com ruptura rápida e sai com ganhos rápidos e stop loss. Permite ganhos de curto prazo adequados para negociação de alta frequência. Mas também tem o risco de retração e incerteza. A otimização contínua pode tornar a estratégia estável em diferentes ambientes de mercado.
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Kana with S/R Strategy", title = "KANA with S/R", overlay=true) len = input(20, minval=1, title="Length") multiplier1 = input(1, minval=1, title="multiplier1") multiplier2 = input(2, minval=1, title="multiplier2") multiplier3 = input(3, minval=1, title="multiplier3") srTimeFrame = input(240, minval=1, title="Support Resistance TimeFrame") useSR = input(true, type = bool, title="Use Support/Resistance") tpPercent = input(0.5, type=float, title = "Take Profit Percent") useTP = input(false, type=bool, title = "Use Take Profit") tp = (close * tpPercent / 100) / syminfo.mintick src = input(close, title="Source") mid = sma(src, len) plot(mid, title="SMA", color=blue) trend = ema(close, 200) plot(trend, title="Trend", color=green) upper1 = mid + atr(200) * multiplier1 upper2 = mid + atr(200) * multiplier2 upper3 = mid + atr(200) * multiplier3 lower1 = mid - atr(200) * multiplier1 lower2 = mid - atr(200) * multiplier2 lower3 = mid - atr(200) * multiplier3 plot(upper1, color = orange) plot(upper3, color = red) plot(lower1, color = orange) plot(lower3, color = red) haClose = request.security(heikinashi(syminfo.tickerid), timeframe.period, close) haOpen = request.security(heikinashi(syminfo.tickerid), timeframe.period, open) resistance = request.security(syminfo.tickerid,tostring(srTimeFrame), high) support = request.security(syminfo.tickerid,tostring(srTimeFrame), low) rsPos = (close - support[srTimeFrame]) / (resistance[srTimeFrame] - support[srTimeFrame]) MACD = ema(close, 120) - ema(close, 260) aMACD = ema(MACD, 90) hisline = MACD - aMACD longCondition = (mid > trend) and (haOpen[1] < haClose[1]) and (mid > mid[1]) and (close < upper1) and hisline > 0 and (useSR == true ? (rsPos > 100) : true) shortCondition = (mid < trend) and (haOpen[1] > haClose[1]) and (mid < mid[1]) and (close > lower1) and hisline < 0 and (useSR == true ? (rsPos < 0) : true) longExit = (close > upper3 ) or (close < lower2) shortExit = (close < lower3) or (close > upper2) if (longCondition) strategy.entry("Long", strategy.long) if (useTP) strategy.exit("Exit Long", "Long", profit = tp) if (longExit) strategy.close("Long") if (shortCondition) strategy.entry("Short", strategy.short) if (useTP) strategy.exit("Exit Short", "Short", profit = tp) if (shortExit) strategy.close("Short")