
Strategi ini adalah sistem perdagangan multidimensi yang menggabungkan trend tracking, penunjuk momentum, dan stop loss yang beradaptasi. Strategi ini mengenal pasti arah trend pasaran melalui penunjuk SuperTrend, sambil menggabungkan penunjuk momentum RSI dan sistem garis rata untuk pengesahan perdagangan, dan menggunakan penunjuk kadar turun naik ATR untuk pengurusan stop loss yang dinamik.
Logik teras strategi adalah berdasarkan tiga dimensi berikut:
Syarat pembelian perlu dipenuhi pada masa yang sama: SuperTrend bullish ((hijau) + RSI <65+ harga di atas garis purata 50 kitaran. Syarat jual: Apabila SuperTrend bertukar kepada penurunan harga. Pengurusan hentian: menggunakan hentian pengesanan berdasarkan ATR, jarak hentian 1.5 kali nilai ATR.
Strategi ini membina sistem perdagangan yang logiknya lengkap dengan menggunakan trend tracking, momentum dan sistem garis lurus secara komprehensif. Keunggulan strategi ini adalah mekanisme pengesahan isyarat berbilang dimensi dan sistem kawalan risiko yang baik. Dengan memberikan arah pengoptimuman, strategi ini mempunyai ruang untuk meningkatkan lagi.
/*backtest
start: 2025-01-08 00:00:00
end: 2025-02-07 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Gladston_J_G
//@version=5
strategy("Trend Strategy with Stop Loss", overlay=true, margin_long=100, margin_short=100)
// ———— Inputs ———— //
atrLength = input(14, "ATR Length")
supertrendMultiplier = input(3.0, "Supertrend Multiplier")
rsiLength = input(14, "RSI Length")
maLength = input(50, "MA Length")
trailOffset = input(1.5, "Trailing Stop ATR Multiplier")
// ———— Indicators ———— //
// Supertrend for trend direction
[supertrend, direction] = ta.supertrend(supertrendMultiplier, atrLength)
// RSI for momentum filter
rsi = ta.rsi(close, rsiLength)
// Moving Average for trend confirmation
ma = ta.sma(close, maLength)
// ATR for volatility-based stop loss
atr = ta.atr(atrLength)
// ———— Strategy Logic ———— //
// Buy Signal: Supertrend bullish + RSI not overbought + Price above MA
buyCondition = direction < 0 and rsi < 65 and close > ma
// Sell Signal: Supertrend turns bearish
sellCondition = direction > 0
// ———— Stop Loss & Trailing ———— //
stopPrice = close - (atr * trailOffset)
var float trail = na
if buyCondition and strategy.position_size == 0
trail := stopPrice
else
trail := math.max(stopPrice, nz(trail[1]))
// ———— Execute Orders ———— //
strategy.entry("Long", strategy.long, when=buyCondition)
strategy.close("Long", when=sellCondition)
strategy.exit("Trail Exit", "Long", stop=trail)
// ———— Visuals ———— //
plot(supertrend, "Supertrend", color=direction < 0 ? color.green : color.red)
plot(ma, "MA", color=color.blue)
plot(strategy.position_size > 0 ? trail : na, "Trailing Stop", color=color.orange, style=plot.style_linebr)
// ———— Alerts ———— //
plotshape(buyCondition, "Buy", shape.triangleup, location.belowbar, color.green, size=size.small)
plotshape(sellCondition, "Sell", shape.triangledown, location.abovebar, color.red, size=size.small)
plot(close)