Стратегия использует индикатор SuperTrend для определения направления тренда и объединяет индикатор ATR для установки стоп-лосса и получения прибыли для достижения низкорискового тренда.
Основной индикатор этой стратегии - SuperTrend. Индикатор SuperTrend сочетает ATR для оценки направления тренда на основе прорывов цены. Конкретный метод расчета следующий:
Верхняя полоса: Верхняя полоса = текущая цена - (ATR x мультипликатор) Нижняя полоса: Нижняя полоса = текущая цена + (ATR x мультипликатор)
Когда цена выше верхней полосы, это восходящий тренд; когда цена ниже нижней полосы, это нисходящий тренд.
Стратегия определяет направление тренда на основе индикатора SuperTrend, идет длинным в восходящем тренде и идет коротким в нисходящем. В то же время стратегия использует средний диапазон колебаний индикатора ATR для установки стоп-лосса и получения прибыльных позиций для контроля рисков.
Методы снижения риска:
В общем, эта стратегия использует индикатор SuperTrend для определения направления тренда и устанавливает стоп-лосс и прибыль с помощью индикатора ATR для достижения низкорисковой тенденции после торговли. Идея стратегии ясна и легко понятна. Параметры могут быть скорректированы в соответствии с личными предпочтениями риска. Это универсальная стратегия отслеживания тренда. Однако сама стратегия не может судить о качестве тренда, поэтому рекомендуется использовать с другими индикаторами или моделями для снижения риска неисправности.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Advanced Trend Strategy", overlay=true) // Input parameters length = input(14, title="ATR Length") multiplier = input(1.5, title="Multiplier") src = close // Calculate ATR atr_value = ta.atr(length) // Calculate Supertrend upst = src - multiplier * atr_value downst = src + multiplier * atr_value var float supertrend = na var float trend_direction = na if (na(supertrend)) supertrend := upst if (src > supertrend) supertrend := upst if (src < supertrend) supertrend := downst // Buy and Sell conditions buyCondition = ta.crossover(src, supertrend) sellCondition = ta.crossunder(src, supertrend) // Execute Buy and Sell orders if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Close the long position if (sellCondition) strategy.entry("Sell", strategy.short) if (buyCondition) strategy.close("Sell") // Close the short position // Plot Supertrend plot(supertrend, color=color.blue, title="Supertrend") // Highlight bars based on trend direction bgcolor(src > supertrend ? color.new(color.green, 95) : src < supertrend ? color.new(color.red, 95) : na) // Plot ATR for reference plot(atr_value, color=color.gray, title="ATR", linewidth=2) // Plot arrows for buy and sell signals plotshape(buyCondition, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal") plotshape(sellCondition, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal")