
This strategy is a multi-dimensional trading system that combines trend following, momentum indicators, and adaptive stop-loss mechanisms. It identifies market trends using the SuperTrend indicator, confirms trades with RSI momentum indicator and moving average system, and implements dynamic stop-loss management using ATR volatility indicator. This multi-dimensional analysis approach effectively captures market trends while maintaining reasonable risk control.
The core logic is based on three dimensions: 1. Trend Identification: Uses SuperTrend indicator (Parameters: ATR length 14, multiplier 3.0) as the primary trend determination tool. When SuperTrend turns green, it indicates a potential uptrend. 2. Momentum Confirmation: Uses RSI indicator (Parameter: length 14) to avoid entering at overbought levels. RSI below 65 suggests the market is not overbought. 3. Trend Validation: Uses 50-period Simple Moving Average (SMA) as additional trend confirmation. Price must be above the moving average to consider entry.
Buy conditions require: SuperTrend bullish (green) + RSI < 65 + Price above 50-period SMA. Sell condition: Exit when SuperTrend turns bearish. Stop-loss management: Uses ATR-based trailing stop, with stop distance set at 1.5 times ATR value.
This strategy constructs a logically complete trading system through the comprehensive use of trend following, momentum, and moving average systems. Its strengths lie in its multi-dimensional signal confirmation mechanism and comprehensive risk control system. Through the provided optimization directions, there is room for further improvement. The key is to enhance its adaptability across different market conditions while maintaining the strategy’s core logic.
/*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)