
Стратегия представляет собой многомерную торговую систему, которая сочетает в себе отслеживание тенденций, динамические индикаторы и адаптивные стоп-лосы. Стратегия идентифицирует направление рыночных тенденций с помощью индикатора SuperTrend, одновременно подтверждает сделки в сочетании с индикатором динамики RSI и равнолинейной системой и реализует динамическое управление стоп-лосами с использованием индикатора волатильности ATR. Такой многомерный метод анализа позволяет эффективно улавливать рыночные тенденции и одновременно разумно контролировать риск.
Основная логика стратегии основана на следующих трех измерениях:
При покупке необходимо выполнять одновременно следующие условия: SuperTrend bullish ((зеленый) + RSI <65+ цена выше средней 50-циклической линии. Условия продажи: Прямая позиция при переходе SuperTrend к понижению. Управление стоп-убытком: использование стоп-убытков, основанных на ATR, с расстоянием стоп-убытков в 1,5 раза от значения ATR.
Стратегия создает логически целостную торговую систему, используя в комплексе слежение за тенденциями, динамику и равномерную систему. Преимущества стратегии заключаются в многомерном механизме подтверждения сигналов и совершенной системе управления рисками.
/*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)