Облако Ичимоку со стратегией MACD

Автор:Чао Чжан, Дата: 2023-10-16 09:02:29
Тэги:

Обзор

Это криптовалютная стратегия торговли, которая сочетает в себе индикатор Ichimoku Cloud и индикатор MACD. Она использует Ichimoku Cloud для определения общего направления тренда и уровня поддержки / сопротивления, а MACD для измерения краткосрочного тренда и импульса, генерируя торговые сигналы. Эта стратегия может эффективно идентифицировать средне- и долгосрочные тенденции и оперативно корректировать позиции при изменении направления тренда.

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

Стратегия использует перекресток линии конверсии и базовой линии Облака Ичимоку для определения среднесрочной тенденции, а индикатор MACD для определения краткосрочной тенденции и импульса.

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

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

Конкретные правила торговли следующие:

Длинный входный сигнал: линия конверсии пересекается над базовой линией, цена пересекается над облаком, линия MACD пересекается над линией сигнала, идут длинные. Сигнал длинного выхода: линия конверсии пересекается ниже базовой линии, цена пересекается ниже облака, линия MACD пересекается ниже линии сигнала, закрывается длинная позиция.

Короткий входный сигнал: линия конверсии пересекается ниже базовой линии, цена пересекается ниже облака, линия MACD пересекается ниже линии сигнала, переходит в короткий.
Сигнал короткого выхода: линия конверсии пересекается над базовой линией, цена пересекается над облаком, линия MACD пересекается над линией сигнала, закрывается короткая позиция.

Преимущества стратегии

  1. Облако Ичимоку может определять средне- и долгосрочные тренды, а MACD - краткосрочные.

  2. Облачные уровни облака Ичимоку ясно указывают на зоны поддержки и сопротивления.

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

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

Риски стратегии

  1. Облако Ичимоку и MACD могут генерировать ложные сигналы, требующие подтверждения от других индикаторов.

  2. Дивергенция часто возникает на различных рынках, что требует изменения параметров или приостановки торговли.

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

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

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

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

  1. Оптимизировать параметры Ichimoku путем корректировки конверсии и базовых периодов, чтобы лучше соответствовать различным активам.

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

  3. Добавьте стратегию стоп-лосса для сокращения потерь, когда вывод достигает определенного порога.

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

  5. Испытать стратегию на различных криптовалютных данных для оценки надежности.

  6. Включите дополнительные показатели для фильтрации ложных сигналов.

Заключение

Эта стратегия сочетает в себе сильные стороны индикаторов Ichimoku Cloud и MACD, используя конверсию и базовые линии для определения направления среднесрочного тренда, и MACD для измерения краткосрочных уровней перекупленности / перепроданности, генерируя торговые сигналы. Параметры могут быть оптимизированы для различных активов, а другие индикаторы или стоп-потери добавлены для управления риском.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with MACD (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


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

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

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

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

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


// MACD
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and ta.crossover(macd, macd_signal)
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and ta.crossunder(macd, macd_signal)

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)




Больше