Ichimoku Cloud dengan Strategi MACD

Penulis:ChaoZhang, Tarikh: 2023-10-16 09:02:29
Tag:

Ringkasan

Ini adalah strategi perdagangan mata wang kripto yang menggabungkan penunjuk Ichimoku Cloud dan penunjuk MACD. Ia menggunakan Ichimoku Cloud untuk menentukan arah trend keseluruhan dan tahap sokongan / rintangan, dan MACD untuk mengukur trend dan momentum jangka pendek, menghasilkan isyarat perdagangan. Strategi ini dapat dengan berkesan mengenal pasti trend jangka menengah hingga panjang dan dengan cepat menyesuaikan kedudukan apabila arah trend berubah.

Logika Strategi

Strategi ini menggunakan persilangan garis penukaran dan garis asas Awan Ichimoku untuk menentukan trend jangka sederhana, dan penunjuk MACD untuk menentukan trend dan momentum jangka pendek.

Apabila garis penukaran melintasi di atas garis asas, ia adalah isyarat kenaikan dan harga di atas awan menunjukkan trend yang kuat.

Apabila histogram MACD berada di atas garis sifar, ia menandakan momentum bullish, dan apabila ia berada di bawah garis sifar, ia menandakan momentum bearish.

Peraturan perdagangan khusus adalah seperti berikut:

Isyarat masuk panjang: Garis penukaran melintasi di atas garis asas, harga melintasi di atas awan, garis MACD melintasi di atas garis isyarat, pergi panjang. Isyarat keluar panjang: Garis penukaran melintasi di bawah garis asas, harga melintasi di bawah awan, garis MACD melintasi di bawah garis isyarat, tutup kedudukan panjang.

Isyarat kemasukan pendek: Garis penukaran melintasi di bawah garis asas, harga melintasi di bawah awan, garis MACD melintasi di bawah garis isyarat, pergi pendek.
Isyarat keluar pendek: Garis penukaran melintasi di atas garis asas, harga melintasi di atas awan, garis MACD melintasi di atas garis isyarat, tutup kedudukan pendek.

Kelebihan Strategi

  1. Awan Ichimoku dapat menentukan trend jangka sederhana hingga panjang, dan trend jangka pendek MACD. Menggabungkan keduanya dapat menangkap peluang perdagangan dalam jangka masa yang berbeza.

  2. Tahap awan dari Awan Ichimoku jelas menunjukkan zon sokongan dan rintangan.

  3. MACD berkesan untuk mengukur keadaan overbought dan oversold jangka pendek, mengelakkan whipsaws di pasaran yang terikat julat.

  4. Parameter strategi dioptimumkan dan boleh berfungsi untuk pelbagai mata wang kripto, memberikan beberapa ketahanan.

Risiko Strategi

  1. Awan Ichimoku dan MACD boleh menghasilkan isyarat palsu, yang memerlukan pengesahan dari penunjuk lain.

  2. Perbezaan sering berlaku di pasaran yang berbeza, yang memerlukan penyesuaian parameter atau menangguhkan perdagangan.

  3. Awan tebal memerlukan penembusan yang jelas sebelum memasuki, berpotensi kehilangan beberapa peluang.

  4. Data backtesting yang tidak mencukupi, memerlukan jangka masa yang lebih lama untuk pengoptimuman parameter.

Risiko boleh dikendalikan dengan mengesahkan isyarat dengan penunjuk lain, menyesuaikan parameter dengan keadaan pasaran, atau menangguhkan perdagangan dalam tempoh tertentu.

Arahan pengoptimuman

  1. Mengoptimumkan parameter Ichimoku dengan menyesuaikan tempoh penukaran dan garis asas untuk lebih sesuai dengan aset yang berbeza.

  2. Mengoptimumkan parameter MACD dengan menyesuaikan tempoh yang cepat, perlahan dan signal smoothing untuk isyarat yang lebih tepat.

  3. Tambah strategi stop loss untuk mengurangkan kerugian apabila drawdown mencapai ambang tertentu.

  4. Tambah saiz kedudukan untuk menyesuaikan peratusan modal yang berisiko setiap perdagangan berdasarkan keadaan pasaran.

  5. Uji strategi pada data cryptocurrency yang berbeza untuk menilai ketahanan.

  6. Sertakan penunjuk tambahan untuk menapis isyarat palsu.

Kesimpulan

Strategi ini menggabungkan kekuatan Ichimoku Cloud dan penunjuk MACD, menggunakan garis penukaran dan asas untuk menentukan arah trend jangka sederhana, dan MACD untuk mengukur tahap overbought / oversold jangka pendek, menjana isyarat perdagangan. Parameter boleh dioptimumkan untuk aset yang berbeza, dan penunjuk lain atau stop loss ditambahkan untuk menguruskan risiko.


/*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)




Lebih lanjut