Strategi ini adalah sistem perdagangan trend-mengikuti canggih berdasarkan indikator Supertrend, menggabungkan beberapa mekanisme konfirmasi sinyal dan manajemen posisi dinamis. Inti dari strategi menghitung garis Supertrend menggunakan ATR (Average True Range) dan menghasilkan sinyal perdagangan dengan menggabungkan pergerakan harga dan jendela waktu posisi untuk mencapai menangkap tren pasar yang cerdas.
Strategi ini menggunakan mekanisme penyaringan sinyal tiga lapisan:
Strategi ini menggunakan 15% dari ekuitas akun sebagai ukuran posisi per perdagangan, mendukung manajemen risiko yang konservatif.
Ini adalah strategi yang terstruktur dengan baik dan secara logis ketat mengikuti tren dengan nilai aplikasi praktis melalui mekanisme konfirmasi sinyal ganda dan sistem manajemen risiko yang komprehensif.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step=0.01) // Compute supertrend values [supertrendValue, supertrendDirection] = ta.supertrend(factor, atrPeriod) var float direction = na if not na(supertrendDirection[1]) and supertrendDirection[1] != supertrendDirection direction := supertrendDirection > 0 ? 1 : -1 // Variables to track conditions var int lastShortTime = na var int lastLongTime = na // Detecting short and long entries if direction == -1 strategy.entry("My Short Entry Id", strategy.short) lastShortTime := bar_index if direction == 1 strategy.entry("My Long Entry Id", strategy.long) lastLongTime := bar_index // Custom signal logic bool bullishSignal = false bool bearishSignal = false // Define bullish signal conditions if not na(lastShortTime) and (bar_index - lastShortTime >= 15 and bar_index - lastShortTime <= 19) if close > open and close[1] > open[1] and close[2] > open[2] bullishSignal := true // Define bearish signal conditions if not na(lastLongTime) and (bar_index - lastLongTime >= 15 and bar_index - lastLongTime <= 19) if close < open and close[1] < open[1] and close[2] < open[2] bearishSignal := true // Plot signals if bullishSignal strategy.entry("Bullish Upward Signal", strategy.long) label.new(bar_index, close, text="Bullish", style=label.style_circle, color=color.green, textcolor=color.white) if bearishSignal strategy.entry("Bearish Downward Signal", strategy.short) label.new(bar_index, close, text="Bearish", style=label.style_circle, color=color.red, textcolor=color.white) // Optionally plot the strategy equity //plot(strategy.equity, title="Equity", color=color.red, linewidth=2, style=plot.style_areabr)