Strategi ini menggabungkan tiga penunjuk Supertrend dengan Exponential Moving Average (EMA) untuk mengikuti trend. Ia menggunakan tiga garis Supertrend dengan kepekaan yang berbeza dan satu garis EMA untuk menangkap trend pasaran melalui pengesahan berbilang dimensi. Strategi ini menggunakan ATR (Average True Range) untuk mengira tahap sokongan / rintangan dinamik dan menentukan arah trend dan isyarat perdagangan berdasarkan kedudukan harga yang berkaitan dengan garis ini.
Strategi ini terdiri daripada komponen teras berikut:
Boleh menghasilkan perdagangan yang kerap di pasaran yang berbeza, meningkatkan kos transaksi. Penyelesaian: Tambah penapis isyarat atau memanjangkan tempoh purata bergerak.
Potensi kelewatan semasa permulaan pembalikan trend. Penyelesaian: Sertakan penunjuk momentum untuk bantuan.
Keperluan pengesahan berganda mungkin kehilangan beberapa peluang yang menguntungkan. Penyelesaian: Sesuaikan keadaan pengesahan berdasarkan ciri pasaran.
Ini adalah strategi trend yang ketat dan stabil secara logik. Melalui gabungan beberapa penunjuk teknikal, ia memastikan kebolehpercayaan isyarat sambil mengekalkan keupayaan kawalan risiko yang baik. Parameter strategi sangat boleh diselaraskan dan boleh dioptimumkan untuk keadaan pasaran yang berbeza. Walaupun terdapat beberapa kelewatan yang melekat, pengoptimuman yang sesuai dapat mencapai keseimbangan yang baik antara risiko dan pulangan.
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend EMA Strategy", overlay=true) // Input Parameters ema_length = input(50, title="EMA Length") supertrend_atr_period = input(10, title="ATR Period") supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1") supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2") supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3") // Calculations emaValue = ta.ema(close, ema_length) [supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period) [supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period) [supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period) // Plot Indicators plot(emaValue, title="EMA", color=color.blue, linewidth=2) plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) // Entry Conditions long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue) short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue) // Exit Conditions long_exit = (SupertrendDirection3 == 1) short_exit = (SupertrendDirection3 == -1) // Execute Strategy if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short")