В процессе загрузки ресурсов... загрузка...

Стратегия Кайру

Автор:Чао Чжан, Дата: 2023-11-22 16:28:59
Тэги:

img

Обзор

Стратегия Кайро - это количественная стратегия торговли, интегрирующая несколько технических индикаторов, включая Ichimoku Cloud, MACD, Chaikin Money Flow (CMF) и True Strength Index (TSI).

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

Основная идея стратегии Кайро состоит в том, чтобы объединить сигналы длинного/короткого диапазона Ichimoku Cloud, индикаторы длинного/короткого диапазона MACD, индикаторы потока капитала CMF и индекс силы TSI, чтобы судить о тенденции рынка, перекупленных и перепроданных областях. Ichimoku Cloud может четко определить направление тренда и ключевую поддержку/сопротивление; MACD отражает контраст покупательной/продажной способности и феномена перекупленности/перепроданности; CMF оценивает приток и отток капитала; TSI показывает реальную покупательскую и продавчую силу рынка.

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

  1. Линия Тенкан пересекается над линией Киджун в облаке Ичимоку, что указывает на бычий сигнал
  2. Чикоу-Спан пересекает отметку выше 0, что свидетельствует о подтверждении бычьего сигнала.
  3. Гистограмма MACD пересекает отметку выше 0, что свидетельствует о укреплении покупательной способности
  4. Индикатор CMF > 0,1, указывающий на приток капитала
  5. Индикатор ТСОС > 0 с более высокой покупательной способностью, чем продажная

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

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

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

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

  1. Улучшенная точность сигнала за счет интеграции нескольких индикаторовОдин индикатор подвержен ложным сигналам, в то время как эта стратегия эффективно фильтрует шум и улучшает надежность сигнала путем интеграции Ichimoku Cloud, MACD, CMF, TSI и многого другого.

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

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

  4. Показать перекупленность/перепроданность с MACDMACD быстро отображает условия перекупа/перепродажи. В сочетании с уровнями Ichimoku Cloud он точно определяет длинные и короткие сигналы входа.

  5. Отображение потока капитала с CMFИндикатор CMF отражает движения крупных игроков через изменения объема, избегая вводящих в заблуждение сигналов от арбитражных потоков.

  6. Показать силу сил покупки/продажи с помощью ТСИУдаляя величины движения цен, TSI точно показывает реальную силу сил покупки/продажи для выявления отскоков внизу и падений вверху.

Риски и оптимизация

Несмотря на свои преимущества, стратегия Кайру также несет в себе некоторые риски, которые стоит отметить.

  1. Оптимизация параметровСуществующие параметры могут быть не оптимальными. Более систематические методы оптимизации могут быть использованы для поиска лучших параметров для более стабильной прибыли.

  2. Отсутствие механизма стоп-лосса. В настоящее время нет механизма остановки убытков. Значительные изменения на рынке могут привести к неконтролируемым потерям. Следует внедрять разумные отставания или ограничения в порядке остановки убытков.

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

  4. Колебания производительностиВзаимодействие между несколькими показателями может привести к более значительным колебаниям результатов в определенных рыночных условиях.

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

Заключение

Стратегия Кайро - это многопоказательная количественная торговая стратегия. Она в полной мере использует взаимодополняющие силы Ichimoku Cloud, MACD, CMF, TSI и многое другое для уникального определения времени входа и выхода.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true)

//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

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

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=hl2)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(10, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=20)
short = input(title="Short Length", type=input.integer, defval=20)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)

Больше