Эта стратегия создает канал SuperTrend на основе индикатора среднего истинного диапазона (ATR), чтобы генерировать сигналы купли и продажи, когда цена проходит через канал.
Верхние и нижние полосы канала SuperTrend рассчитываются как:
Верхняя полоса = (Самая высокая цена + Самая низкая цена) / 2 + ATR(n) * Фактор Нижняя полоса = (Самая высокая цена + Самая низкая цена) / 2 - ATR(n) * Фактор
где ATR ((n) - средний истинный диапазон n-период и фактор - регулируемый параметр, по умолчанию 3.
Бычий сигнал генерируется, когда цена закрытия пересекает верхний диапазон. Белый сигнал генерируется, когда цена закрытия пересекает нижний диапазон. Стратегия определяет входы и выходы на основе этих сигналов.
Методы решения рисков:
Эта стратегия использует канал SuperTrend для отслеживания тренда и управления стоп-лосом. Соответствие между периодом ATR и параметрами фактора имеет решающее значение. Следующим шагом является дальнейшая оптимизация стратегии с помощью настройки параметров, фильтрации сигналов и т. Д., Сделав ее адаптивной к более сложным рыночным условиям.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Backtest", shorttitle="STBT", overlay=true) // Input for ATR Length atrLength = input.int(10, title="ATR Length", minval=1) atrFactor = input.float(3.0, title="Factor", minval=0.01, step=0.01) // Calculate SuperTrend [supertrend, direction] = ta.supertrend(atrFactor, atrLength) supertrend := barstate.isfirst ? na : supertrend // Define entry and exit conditions longCondition = ta.crossover(close, supertrend) shortCondition = ta.crossunder(close, supertrend) // Plot the SuperTrend plot(supertrend, color=color.new(color.blue, 0), title="SuperTrend") // Plot Buy and Sell signals plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Strategy Entry and Exit strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition)