
Esta estrategia es un sistema de comercio multidimensional que combina el seguimiento de tendencias, indicadores de movimiento y paradas de pérdidas adaptadas. La estrategia identifica la dirección de la tendencia del mercado a través del indicador SuperTrend, al mismo tiempo que combina el indicador de movimiento RSI y el sistema de línea media para la confirmación de operaciones, y utiliza el indicador de fluctuación ATR para lograr la gestión dinámica de los parados. Este método de análisis multidimensional permite capturar de manera efectiva las tendencias del mercado, al mismo tiempo que se controla razonablemente el riesgo.
La lógica central de la estrategia se basa en las tres dimensiones siguientes:
Las condiciones de compra deben cumplirse al mismo tiempo: SuperTrend positivo (verde) + RSI <65 + precio por encima de la línea media periódica de 50 ◦ Condiciones de venta: Si el SuperTrend se vuelve a la baja, ceda. Gestión de la pérdida: el uso de la pérdida de seguimiento basado en ATR, la distancia de la pérdida de 1,5 veces el valor de ATR.
La estrategia construye un sistema de negociación lógicamente completo mediante el uso integrado de un sistema de seguimiento de tendencias, dinámicas y líneas medias. La estrategia tiene la ventaja de un mecanismo de confirmación de señales multidimensional y un sistema de control de riesgo completo.
/*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)