Эта стратегия называется
Основой этой стратегии является использование индикатора Supertrend для определения текущей ценовой тенденции. Supertrend сочетает в себе скользящие средние и ATR, что эффективно в оценке направления ценовых тенденций.
В частности, эта стратегия сначала рассчитывает направление супертенденции, RSI и ADX. Когда супертенденция снижается, а RSI показывает, что восходящий тренд угасает, она делает короткий вход. Когда супертенденция снова появляется, она закрывает короткую позицию.
Самое большое преимущество этой стратегии заключается в том, что она может автоматически идентифицировать ценовые тенденции и производить входы и выходы на основе тенденций без ручного суждения.
Самый большой риск заключается в том, что сам Supertrend не является высокоточным в оценке ценовых тенденций, что может генерировать неправильные сигналы.
Оптимизация может быть сделана путем корректировки параметров Supertrend и добавления последующего стоп-лосса для снижения рисков.
Некоторые аспекты этой стратегии могут быть оптимизированы:
Оптимизировать параметры Supertrend для повышения точности
Добавление отслеживания стоп-потери к контролю по торговым потерям
Добавьте больше фильтров, таких как полосы Боллинджера, KDJ, чтобы улучшить прибыльность
Разработать аналогичные длинные правила входа и выхода для завершения стратегии
В заключение, это автоматизированная стратегия торговли, которая оценивает тенденции на основе Supertrend. Преимущество заключается в высокой степени автоматизации и автоматическом обнаружении тренда. Недостатком является низкая точность самого Supertrend и отсутствие стоп-лосса. Настройка параметров, добавление фильтров и стоп-лосса могут повысить прибыльность и контроль рисков.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) adxlen = input(7, title="ADX Smoothing") dilen = input(7, title="DI Length") dirmov(len) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = ta.rma(ta.tr, len) plus = fixnan(100 * ta.rma(plusDM, len) / truerange) minus = fixnan(100 * ta.rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) adx sig = adx(dilen, adxlen) if ta.change(direction) < 0 and ta.rsi(close, 21) < 66 and ta.rsi(close, 3) > 80 and ta.rsi(close, 28) > 49 and sig > 20 strategy.entry("My Long Entry Id", strategy.long) if ta.change(direction) > 0 strategy.close("My Long Entry Id") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)