Супертренд слепо следуя стратегии

Автор:Чао Чжан, Дата: 2023-12-13 16:49:44
Тэги:

img

Обзор

Эта стратегия показывает, что произойдет, если вы слепо следите за индикатором Supertrend. Как мы знаем, Supertrend не появляется сразу, и нам нужно ждать следующей строки, чтобы решить, стоит ли вводить позицию. Таким образом, вы можете увидеть, что произойдет, если вы займете позицию после того, как Supertrend окончательно сформируется. Этот индикатор чрезвычайно опасен без других инструментов и может дать очень серьезные снижения.

Логика стратегии

Эта стратегия использует индикатор Supertrend для определения ценовой тенденции.

Когда цена закрытия находится выше верхней рельсы, это представляет собой устойчивую тенденцию к росту; когда цена закрытия находится ниже нижней рельсы, это представляет собой устойчивую тенденцию к снижению.

Эта стратегия устанавливает два параметра: фактор и Pd. Фактор контролирует ширину канала Supertrend, а Pd контролирует длину периода для расчета ATR. На основе этих двух параметров можно построить верхние и нижние рельсы.

Формула верхней рельсы: hl2 - (фактор * ATR(Pd)) Формула нижней рельсы: hl2 + (фактор * ATR(Pd))

Где hl2 представляет собой середину высоких и низких цен.

Затем сравните текущую цену закрытия с верхней и нижней рельсами, чтобы определить, является ли это восходящим или нисходящим трендом, и выведите переменную булевого тренда.

Нарисуйте верхние и нижние рельсы Supertrend на основе тренда и разместите сигналы входа и выхода при изменении статуса тренда.

Установите логику входа стратегии на основе сигналов.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Использует индикатор Supertrend, который может четко определить ценовую тенденцию и поворотные точки.

  2. Устанавливает логику входа и выхода.

  3. Визуализирует время входа с помощью стрелок.

  4. Простая и понятная стратегия.

Анализ рисков

Эта стратегия сопряжена со следующими рисками:

  1. Слепое следование за Supertrend без других вспомогательных индикаторов и управления деньгами может привести к огромным убыткам.

  2. Нет установки стоп-лосса, не в состоянии контролировать одиночные потери.

  3. Сигналы могут задерживаться, не в состоянии вовремя войти вокруг поворотных точек.

  4. Неправильное настройка параметров может привести к тому, что канал Supertrend будет слишком широким или слишком узким.

Меры управления рисками:

  1. Объедините с другими показателями, такими как MACD, KDJ для проверки эффективности, избегайте слепого следования.

  2. Установите разумную стоп-лосс, чтобы максимально контролировать однократные потери.

  3. Настройка параметров, чтобы сделать канал Supertrend разумным, предотвратить слишком широкий или слишком узкий.

Руководство по оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Добавление дополнительных показателей для проверки эффективности для предотвращения сбоев.

  2. Установите разумную логику стоп-лосса, можете установить процент стоп-лосса на основе ATR.

  3. Оптимизировать гиперпараметры Factor и Pd для поиска оптимальных комбинаций параметров.

  4. Оптимизировать время входа, чтобы избежать задержки сигнала.

  5. Добавьте стратегии размещения позиций. Например, можно принять фиксированное дробное размещение позиций.

Заключение

Эта стратегия использует индикатор Supertrend для определения ценового тренда и нахождения поворотных точек. Слепое следование за Supertrend без вспомогательных индикаторов и средств остановки потерь несет огромные риски. Мы предложили улучшения в таких аспектах, как управление рисками, стратегии остановки потерь, оптимизация параметров, сроки входа и т. Д., Что может значительно повысить стабильность и прибыльность стратегии.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Supertrend blind follow", overlay=true)

Factor=input(3, minval=1,maxval = 100)
Pd=input(7, minval=1,maxval = 100)


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))


TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

linecolor = Trend == 1 ? green : red

plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
//plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend")

plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)

longCondition = cross(close,Tsl) and close>Tsl
if (longCondition)
    strategy.entry("long", strategy.long)
shortCondition = cross(Tsl,close) and close<Tsl
if (shortCondition)
    strategy.entry("short", strategy.short)



Больше