Ichimoku Cloud dan MACD Momentum Riding adalah strategi trend berikut yang menggabungkan indikator Ichimoku Cloud dan indikator momentum MACD. Strategi ini menggunakan Ichimoku Cloud untuk menentukan arah trend dan tahap sokongan / rintangan, serta indikator MACD untuk mengesan pembalikan momentum, dan memasuki pasaran yang diketengahkan semasa trend. Sementara itu, strategi ini menggunakan stop loss untuk mengunci keuntungan dan mengurangkan pengeluaran.
Awan Ichimoku terdiri daripada Garis Pembalikan (Tenkan-Sen), Garis Asas (Kijun-Sen), Leading Span A (Senkou-Span A), Leading Span B (Senkou-Span B) dan Garis Pengesahan (Chikou-Span).
Divergensi Convergensi Purata Bergerak, atau MACD, adalah penunjuk momentum. Dalam strategi ini, apabila garis cepat MACD melintasi di atas garis perlahan, ia adalah isyarat beli, dan apabila garis cepat melintasi di bawah garis perlahan, ia adalah isyarat jual.
Apabila Turning Line melintasi di atas Base Line, Confirmation Line melintasi di atas harga penutupan 26 bar yang lalu, harga penutupan pecah di atas band atas Cloud, dan garis cepat MACD
Apabila harga meningkat 3%, strategi akan bergerak stop loss kepada 97% daripada harga semasa untuk mengunci keuntungan dan mengikuti pergerakan menaik.
Apabila Turning Line melintasi di bawah Base Line, Confirmation Line melintasi di bawah harga penutupan 26 bar yang lalu, harga penutupan pecah di bawah band bawah Cloud, dan garis cepat MACD
Apabila harga turun 3%, strategi akan bergerak stop loss kepada 103% daripada harga semasa untuk mengunci keuntungan dan mengikuti pergerakan ke bawah.
Strategi ini menggabungkan pengenalan trend dan masa kemasukan, yang dapat mencapai pulangan yang baik semasa pasaran yang sedang berkembang.
Ichimoku Cloud dapat mengenal pasti arah trend dengan jelas. Strategi hanya masuk sejajar dengan arah Awan, mengelakkan perdagangan yang bertentangan dengan trend.
MACD berkesan dalam mengesan pembalikan momentum jangka pendek.
Stop loss menyusul membolehkan strategi untuk terus berjalan semasa trend. saiz kedudukan yang betul memastikan risiko terkawal setiap perdagangan.
Terdapat juga risiko tertentu dengan strategi ini:
Awan memerlukan tempoh melihat semula yang agak lama dan mungkin memberikan isyarat yang tidak tepat dalam jangka pendek.
MACD berosilasi dengan harga dan boleh menghasilkan isyarat palsu.
Peratusan Stop Loss hanya sesuai dengan pasaran trend. Peratusan Stop Loss perlu diselaraskan, jika tidak, whipsaws mungkin berhenti terlalu kerap semasa pasaran berkisar.
Strategi itu sendiri tidak menguruskan risiko. Pengguna perlu melaksanakan teknik pengurusan risiko luaran untuk mengawal kerugian.
Strategi Ichimoku Cloud dan MACD Momentum Riding boleh dioptimumkan dengan cara berikut:
Penyesuaian parameter - Sesuaikan Garis Peralihan, Tempoh Lihat Garis Asas, mengoptimumkan parameter MACD untuk isyarat yang lebih jelas.
Tambah penapisan - Gunakan penunjuk lain seperti RSI, Bollinger Bands untuk menapis isyarat buruk, mengurangkan isyarat palsu.
Pengecualian untuk penempatan di bawah kategori ini adalah bagi semua syarikat yang tidak mempunyai pelaburan.
Menggabungkan saiz kedudukan - Batas kerugian maksimum setiap perdagangan untuk mengawal pengeluaran keseluruhan.
Memilih kontrak secara automatik & menyeimbangkan semula - Memperluaskan kebolehsesuaian ke lebih banyak pasaran.
Strategi Ichimoku Cloud dan MACD Momentum Riding mempertimbangkan kedua-dua trend dan masa, yang dapat mencapai pulangan yang baik apabila parameter disesuaikan dengan betul dan kawalan risiko berada di tempat.
/*backtest start: 2022-11-21 00:00:00 end: 2023-11-03 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Ichimoku Cloud with MACD and Trailing Stop Loss', 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) // 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) // Configure trail stop level with input options longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01 shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 shortStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - longTrailPerc) math.max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if strategy.position_size < 0 stopValue = close * (1 + shortTrailPerc) math.min(stopValue, shortStopPrice[1]) else 999999 strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod) strategy.exit('Exit', stop = longStopPrice, limit = shortStopPrice) //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)