Стратегия следования за трендом ADX, основанная на часовом пересечении TENKAN KIJUN


Дата создания: 2023-12-08 15:37:00 Последнее изменение: 2023-12-08 15:37:00
Копировать: 0 Количество просмотров: 782
1
Подписаться
1621
Подписчики

Стратегия следования за трендом ADX, основанная на часовом пересечении TENKAN KIJUN

Обзор

Эта стратегия является простой, но прибыльной стратегией отслеживания трендов, которая основана на перекрестке линий TENKAN и KIJUN системы идентификации ICHIMOKU на часовом временном отрезке для определения направления тренда и в сочетании с индикатором ADX для отфильтрования рынка с более слабой тенденцией для подачи торгового сигнала. Эта стратегия применяется в основном к торговым парам BTC для крупномаркетинговых альткоинов, таких как ETH/BTC.

Стратегический принцип

Стратегия использует пересечение линии конверсии (TENKAN) и линии базы (KIJUN) на карте ICHIMOKU для определения направления рыночной тенденции. В ней метод TENKAN рассчитывается как среднее значение последних высоких и низких точек на протяжении последних 18 линий K, представляющих собой линию быстрого конвертации; метод KIJUN рассчитывается как среднее значение последних высоких и низких точек на протяжении последних 58 линий K, представляющих собой линию стандартного конвертации.

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

В то же время, стратегия также использует индикатор ADX для фильтрации и корректировки интенсивности рыночных тенденций. Индикатор ADX может определять интенсивность тенденции, когда значение ADX больше 20, показывает, что текущая тенденция сильна. Поэтому стратегия посылает торговый сигнал только тогда, когда ADX больше 20.

В целом, эта стратегия используется для определения направления среднесрочных тенденций с помощью перекрестного суждения о линиях TENKAN и KIJUN, а также для фиксации реальных тенденций с помощью фильтрации фальшивых прорывов на ADX.

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

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

  1. Используя ICHIMOKU Cloud Map для определения направления тренда, эта система показателей сама по себе является более зрелой и надежной, и может точно определить точку переворота тренда.

  2. В сочетании с фильтрацией показателя ADX на рынки с более слабой интенсивностью корректировки, избегайте частого трейдинга в процессе корректировки.

  3. При использовании стратегии разработки 1-часовой линии, можно отфильтровать краткосрочный рыночный шум и улавливать только средне- и долгосрочные тенденции.

  4. Стратегии простые, понятные и поддающиеся отслеживанию, подходящие для использования тренд-следующими.

  5. Стратегическая обратная связь работает хорошо, особенно в крупных валютных парах, таких как ETH/BTC.

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

В этой стратегии также есть некоторые риски, о которых следует помнить:

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

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

  3. Стратегия отслеживания средних и длинных трендов, которая плохо работает в шокирующих ситуациях и может быть повреждена.

  4. Различные валютные пары и разные временные циклы. Эффективность этой стратегии сильно различается и требует использования в зависимости от того, в какой разновидности вы хорошо разбираетесь.

  5. Долгосрочное владение позициями рискованно и требует соответствующих условий для остановки и сдерживания.

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

Направление оптимизации

В этой стратегии есть несколько основных улучшений:

  1. Динамическая оптимизация параметров линий TENKAN и KIJUN, чтобы лучше адаптироваться к реальным ситуациям и различным валютам.

  2. Оптимизация или замена ADX-индикаторов в поисках более чувствительных и эффективных методов определения тенденций.

  3. Присоединяйтесь к стратегии “стоп-стоп” и контролируйте риско-прибыль соотношение по отдельным сделкам, чтобы избежать больших потерь.

  4. Оптимизация портфеля, поиск взаимодополняющих показателей для формирования интегрированной стратегии и повышения стабильности.

  5. Модульная перестройка структуры кода, увеличение гибкости настройки параметров, адаптация к большему количеству разновидностей.

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

Подвести итог

В целом, эта стратегия является простой и практичной стратегией отслеживания тенденций. Она основана на перекрестном сочетании показателей TENKAN KIJUN и ADX, чтобы определить направление средне-длинной тенденции и отправить торговый сигнал. Эта стратегия имеет хорошую обратную эффективность и особенно подходит для крупных валютных пар, таких как ETH/BTC, с более стабильной прибылью.

Исходный код стратегии
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Odin's Kraken (TK Cross Strategy)", shorttitle="Odin's Kraken", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

src = input(close, title="Source")

// define tk in ichimoku

conversionPeriods = input(18, minval=1, title="Conversion Line Periods (Tenkan)"),
basePeriods = input(58, minval=1, title="Base Line Periods (Kijun)")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)

TK_Uptrend = crossover(conversionLine,baseLine)
TK_Downtrend = crossunder(conversionLine,baseLine)

plot(conversionLine, color=lime, title="Tenkan", linewidth=3)
plot(baseLine, color=red, title="Kijun", linewidth=3)

// define ADX

adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", defval=20)
dirmov(len) =>
	up = change(high)
	down = -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 = rma(tr, len)
	
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)

	[plus, minus]

adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	
[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

// backtesting range

// From Date Inputs
fromDay = input(defval = 3, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 3, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

// open long and short

longCondition = TK_Uptrend
if (longCondition and sig > 12 and time_cond)
    strategy.entry("LONG", strategy.long)

shortCondition = TK_Downtrend
if (shortCondition and sig > 12 and time_cond)
    strategy.entry("SHORT", strategy.short)

// close trade if backtesting criteria not met

if (not time_cond)
    strategy.close_all()