Strategi Dagangan Kuantitatif Berdasarkan Ichimoku Cloud Breakout dan Indeks ADX

Penulis:ChaoZhang, Tarikh: 2024-02-02 17:50:30
Tag:

img

Ringkasan

Nama strategi ini adalah Strategi Dagangan Kuantitatif Berdasarkan Ichimoku Cloud Breakout dan Indeks ADX. Ia menggabungkan carta awan Ichimoku dengan Indeks Pergerakan Arah Purata (ADX) untuk menentukan bila untuk mengambil kedudukan panjang atau pendek. Khususnya, ia memasuki kedudukan apabila harga memecahkan kawasan utama carta awan dan ADX menunjukkan trend yang kuat.

Logika Strategi

Strategi ini menggunakan Ichimoku Cloud dari indikator Ichimoku Kinko Hyo untuk mengenal pasti kawasan sokongan dan rintangan utama. Ia juga menggabungkan indeks ADX untuk menilai kekuatan trend. Peraturan perdagangan khusus adalah:

Isyarat masuk panjang:

  • Garis penukaran melintasi di atas garis asas
  • Garis yang tertinggal melintasi di atas paksi 0
  • Harga di atas awan
  • ADX di bawah 45 (menunjukkan trend tidak terlalu meluas)
  • +DI di atas -DI (menunjukkan trend menaik)

Isyarat masuk pendek:

  • Garis penukaran melintasi di bawah garis asas
  • Garis berundur melintasi di bawah paksi 0
  • Harga di bawah awan bawah
  • ADX di atas 45 (menunjukkan kemungkinan pembalikan trend)
  • +DI di bawah -DI (menunjukkan trend menurun)

Analisis Kelebihan

Strategi ini menggabungkan analisis corak carta dan penunjuk analisis trend, yang dapat menentukan dengan berkesan trend pasaran dan kawasan yang kuat.

  1. Menggunakan awan Ichimoku untuk menentukan tahap sokongan / rintangan utama untuk menangkap trend yang kuat
  2. Menggabungkan indeks ADX untuk mengukur kekuatan trend sebenar, mengelakkan perdagangan palsu
  3. Peraturan yang jelas mudah diikuti untuk perdagangan langsung

Risiko dan Penyelesaian

Terdapat beberapa risiko dengan strategi ini, terutamanya di sekitar ketidakstabilan dalam penentuan trend ADX. Risiko dan penyelesaian adalah:

  1. ADX mempunyai kesan kelewatan, mungkin terlepas pembalikan pantas. boleh menurunkan parameter ADX untuk menjadikannya lebih sensitif
  2. ADX tidak berfungsi dengan baik dalam pasaran pelbagai. boleh menambah penapis seperti saluran BOLL
  3. Ichimoku awan juga boleh gagal. boleh menyesuaikan parameter atau menambah penunjuk tambahan

Cadangan Pengoptimuman

Strategi ini boleh dioptimumkan lagi dengan cara berikut:

  1. Sesuaikan parameter Ichimoku untuk sesuai dengan lebih banyak instrumen
  2. Tambah stop loss untuk mengawal kerugian perdagangan tunggal
  3. Masukkan lebih banyak penunjuk untuk menapis isyarat
  4. Tambah ramalan pembelajaran mesin untuk menentukan lebih lanjut isyarat trend

Kesimpulan

Strategi ini menggabungkan grafik awan Ichimoku dan indeks trend ADX untuk membentuk sistem perdagangan kuantitatif yang lengkap. Ia mengenal pasti tahap sokongan / rintangan utama sambil juga menilai trend. Ia dapat menangkap peluang pasaran dengan berkesan. Strategi ini mudah dilaksanakan dalam perdagangan langsung dan juga mempunyai ruang untuk pengoptimuman. Secara keseluruhan, ia adalah strategi kuantitatif berkualiti.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
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 ADX (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, 1, 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])


// ADX
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)


// 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 avg_dm < 45 and pos_dm > neg_dm
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and avg_dm > 45 and pos_dm < neg_dm

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