
Эта стратегия показывает, что может произойти, если слепо следовать индикатору сверхтенденции. Мы знаем, что индикатор сверхтенденции не появляется сразу, и нам нужно ждать следующей линии K, чтобы решить, стоит ли входить в позицию или нет.
Эта стратегия использует гипертенденциальный индикатор для определения ценовой тенденции. Гипертенденциальный индикатор построен на основе средней истинной величины волны и средней точки высокой и низкой цены.
Когда цена закрытия выше верхней линии, это означает продолжение позитивного тренда; когда цена закрытия ниже нижней линии, это означает продолжение падения.
Эта стратегия устанавливает два параметра Factor и Pd. Factor контролирует ширину канала сверхтенденции, а Pd контролирует длину цикла для вычисления ATR. На основе этих двух параметров можно построить находящиеся и находящиеся на пути.
Формула на трассе: hl2 - (Factor * ATR ((Pd)) Формула нижней полосы: hl2 + (Factor * ATR ((Pd))
HL2 означает “высокий, низкий и средний ценовой пункт”.
Затем, сравнивая текущую ценовую оценку с оценкой на верхний и нижний уровень, можно определить, продолжается ли поток или падение, и вывести бульварный тип Тренд-вариатора.
Нарисуйте верхнюю и нижнюю траектории сверхтенденции в соответствии с трендом. При изменении состояния тренда размещайте сигналы входа и выхода.
Логика открытия позиции в соответствии с стратегией настройки сигнала.
Эта стратегия имеет следующие преимущества:
Используя гипертенденциальный индикатор, можно четко определить ценовые тенденции и опорные точки.
Установлена четкая логика входа и выхода.
Визуализируйте время входа в игру, отмеченное стрелками.
Логика стратегии проста и понятна.
В этой стратегии есть риски:
Слепое следование за сверхтенденционными показателями без других вспомогательных показателей и управления эффектом может привести к значительным отступлениям.
Никаких стоп-лосс, никакого контроля над одиночными потерями.
Сигналы могут задерживаться, и вовремя войти в здание не удастся.
Неправильная настройка параметров может привести к тому, что каналы супертенденции станут слишком широкими или слишком узкими.
Меры управления рисками:
Проверка эффективности в сочетании с другими показателями, такими как MACD, KDJ, чтобы избежать слепого следования.
Установка разумного стоп-лосса, максимальный контроль одиночных потерь.
Настройка параметров, чтобы сделать сверхтенденционный канал разумным и предотвратить его слишком широкий или узкий.
Эта стратегия может быть оптимизирована в следующих областях:
Добавление вспомогательных показателей для проверки эффективности и предотвращения неэффективности. Например, можно рассмотреть включение показателей MACD.
Настройка разумной логики стоп-лоста. Можно настроить процент стоп-лоста на основе ATR.
Оптимизируйте гиперпараметры Factor и Pd, чтобы найти оптимальную комбинацию параметров. Например, можно использовать методы обхода, чтобы найти оптимальные параметры.
Для оптимизации времени входа в игру, чтобы избежать задержки сигнала. Например, можно ввести динамические показатели для определения сильных и слабых паттернов, чтобы скорректировать время входа в игру.
Повышение стратегии управления позициями. Например, можно использовать фиксированные доли для управления позициями.
В этой стратегии используются сверхтрендовые показатели для определения ценовых тенденций и определения поворотных точек. Следование сверхтрендовым показателям вслепую влечет за собой огромный риск из-за отсутствия вспомогательных показателей и средств для остановки убытков. Мы предлагаем улучшения в нескольких аспектах управления рисками, стратегии остановки убытков, оптимизации параметров, времени входа в рынок, которые могут значительно повысить стабильность и прибыльность стратегии.
/*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)