Optimasi Strategi Ichimoku Cloud Band


Tanggal Pembuatan: 2024-01-19 14:45:21 Akhirnya memodifikasi: 2024-01-19 14:45:21
menyalin: 0 Jumlah klik: 641
1
fokus pada
1617
Pengikut

Optimasi Strategi Ichimoku Cloud Band

Ringkasan

Strategi ini adalah strategi pelacakan tren yang menggabungkan indikator grafik awan dan beberapa indikator tambahan. Strategi ini terutama menggunakan grafik awan untuk menentukan arah tren, ditambah dengan penyaringan dengan indikator MACD, CMF, TSI, dan lain-lain untuk meningkatkan kualitas sinyal. Ini adalah strategi tren yang kuat dengan penilaian komprehensif multi-faktor.

Prinsip Strategi

Strategi ini terutama menggunakan perubahan gambar awan untuk menilai arah tren. Ketika antena melakukan lebih banyak saat melewati awan, dan kosong saat melewati awan. Selain itu, kombinasi dengan jalur ban cadangan, diagram pilar MACD, indikator aliran dana CMF dan indeks kekuatan nyata TSI untuk melakukan penyaringan multi-lapisan, memastikan kualitas sinyal.

Secara khusus, kondisi pemicu untuk melakukan sinyal ganda adalah:

  1. Antenna di atas awan
  2. Garis awan lebih lebar, garis putar di atas garis dasar
  3. Delay line di atas sumbu 0
  4. Penutupan di atas awan
  5. Diagram MACD di atas sumbu 0
  6. CMF lebih besar dari 0,1
  7. TSI di atas sumbu 0

Kondisi pemicu sinyal kosong adalah kebalikan dari kondisi di atas. Dengan demikian, melalui penilaian komprehensif dari berbagai indikator, dapat secara efektif memfilter sebagian besar sinyal palsu dan mengunci tren utama pasar.

Keunggulan Strategis

Keuntungan terbesar dari strategi ini adalah bahwa kombinasi multi-indikator dapat menyaring sinyal palsu dan menangkap tren yang kuat. Secara khusus, ada beberapa keuntungan utama:

  1. Diagram awan untuk menentukan arah tren utama, memastikan arah yang benar
  2. Indikator bantu untuk lebih memfilter sinyal dan mengurangi risiko perdagangan
  3. Faktor siklus waktu yang lebih banyak, sinyal lebih dapat diandalkan
  4. Kondisi ketat, hanya berdagang sinyal berkualitas tinggi, hindari pasar yang suram
  5. Menggabungkan pelacakan tren untuk memaksimalkan keuntungan dari tren

Dengan penilaian komprehensif di atas, strategi ini dapat secara efektif menangkap segmen hotline menengah dan panjang di pasar saham, melakukan arbitrage mengikuti tren, dan mendapatkan keuntungan tambahan yang besar.

Risiko Strategis

Strategi ini memiliki beberapa risiko utama:

  1. Risiko False Breakout. Ketika harga terjadi false breakout, mudah untuk menghasilkan sinyal yang salah.
  2. Trend reversal risk. Pergerakan saham bersifat teratur, dalam jangka panjang pasti akan ada kemunduran, ada kemungkinan kehilangan seluruh keuntungan.
  3. Frekuensi perdagangan rendah resiko. Kondisi lebih ketat, mungkin kehilangan beberapa kesempatan.

Ada beberapa cara untuk mengurangi risiko:

  1. Hal ini dilakukan untuk mengurangi kondisi penyaringan dan meningkatkan frekuensi transaksi.
  2. Meningkatkan kondisi stop loss untuk menghindari peningkatan kerugian.
  3. Optimalkan parameter untuk meningkatkan akurasi sinyal.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Pengoptimalan parameter. Parameter dapat dioptimalkan dengan lebih banyak data pengembalian untuk menemukan kombinasi parameter yang lebih baik.

  2. Meningkatkan mekanisme stop loss. Meregangkan persyaratan masuk dengan tepat, tetapi mengatur stop loss untuk mengendalikan risiko.

  3. Meningkatkan Stop Loss Mobile. Menggunakan trend tracking stop loss untuk mengunci keuntungan dan menghindari reversal loss.

  4. Optimalkan indikator filter. Anda dapat menguji lebih banyak indikator untuk menemukan kombinasi sinyal filter yang lebih baik.

  5. Menambahkan aturan untuk mendeteksi pelanggaran palsu secara otomatis.

Meringkaskan

Strategi ini mengintegrasikan penggunaan grafik awan dengan berbagai indikator tambahan untuk menilai efek yang signifikan. Dengan cara pengoptimalan parameter, perbaikan mekanisme stop loss, dan pengoptimalan indikator, strategi ini dapat meningkatkan stabilitas strategi, meningkatkan kualitas sinyal, dan memperoleh keuntungan yang lebih tinggi. Strategi ini memiliki kepraktisan yang kuat.

Kode Sumber Strategi
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
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/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



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


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=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// 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(8, 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=8)
short = input(title="Short Length", type=input.integer, defval=8)
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)