Esta estrategia es un sistema de comercio de impulso de doble marco de tiempo basado en el indicador estocástico. Identifica oportunidades comerciales potenciales mediante el análisis de señales de cruce estocásticas en diferentes marcos de tiempo, combinando principios de impulso y métodos de seguimiento de tendencias para un juicio más preciso de la tendencia del mercado y el tiempo de negociación. La estrategia también incorpora mecanismos de gestión de riesgos, incluidos ajustes de toma de ganancias y stop-loss, para una mejor gestión del dinero.
La lógica central se basa en los siguientes elementos clave: 1. Utiliza indicadores estocásticos en dos plazos: plazos más largos para la confirmación general de la tendencia, plazos más cortos para la generación de señales comerciales específicas. 2. Reglas para la generación de señales comerciales: - señales largas: cuando el período corto de %K cruza por encima del %D del área de sobreventa (por debajo de 20), mientras que el marco de tiempo más largo muestra una tendencia alcista. - señales cortas: cuando el período corto %K cruza por debajo del %D desde el área de sobrecompra (por encima de 80), mientras que el período más largo muestra tendencia a la baja. 3. Establece 14 períodos como el período base para el indicador estocástico, 3 períodos como factor de suavización. 4. Integra el mecanismo de confirmación de patrones de velas para mejorar la confiabilidad de la señal.
Esta es una estrategia de trading bien estructurada con lógica clara, capturando oportunidades de mercado a través del análisis de indicadores estocásticos de doble marco de tiempo.
/*backtest start: 2024-12-04 00:00:00 end: 2024-12-11 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Enhanced Stochastic Strategy", overlay=true) // Input untuk Stochastic length = input.int(14, title="Length", minval=1) OverBought = input(80, title="Overbought Level") OverSold = input(20, title="Oversold Level") smoothK = input.int(3, title="Smooth %K") smoothD = input.int(3, title="Smooth %D") // Input untuk Manajemen Risiko tpPerc = input.float(2.0, title="Take Profit (%)", step=0.1) slPerc = input.float(1.0, title="Stop Loss (%)", step=0.1) // Hitung Stochastic k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) // Logika Sinyal co = ta.crossover(k, d) // %K memotong %D ke atas cu = ta.crossunder(k, d) // %K memotong %D ke bawah longCondition = co and k < OverSold shortCondition = cu and k > OverBought // Harga untuk TP dan SL var float longTP = na var float longSL = na var float shortTP = na var float shortSL = na if (longCondition) longTP := close * (1 + tpPerc / 100) longSL := close * (1 - slPerc / 100) strategy.entry("Buy", strategy.long, comment="StochLE") strategy.exit("Sell Exit", "Buy", limit=longTP, stop=longSL) if (shortCondition) shortTP := close * (1 - tpPerc / 100) shortSL := close * (1 + slPerc / 100) strategy.entry("Sell", strategy.short, comment="StochSE") strategy.exit("Buy Exit", "Sell", limit=shortTP, stop=shortSL) // Plot Stochastic dan Level hline(OverBought, "Overbought", color=color.red, linestyle=hline.style_dotted) hline(OverSold, "Oversold", color=color.green, linestyle=hline.style_dotted) hline(50, "Midline", color=color.gray, linestyle=hline.style_dotted) plot(k, color=color.blue, title="%K") plot(d, color=color.orange, title="%D") // Tambahkan sinyal visual plotshape(longCondition, title="Buy Signal", location=location.belowbar, style=shape.labelup, color=color.new(color.green, 0), text="BUY") plotshape(shortCondition, title="Sell Signal", location=location.abovebar, style=shape.labeldown, color=color.new(color.red, 0), text="SELL")