Pengoptimuman Strategi Jalur Awan Ichimoku


Tarikh penciptaan: 2024-01-19 14:45:21 Akhirnya diubah suai: 2024-01-19 14:45:21
Salin: 0 Bilangan klik: 641
1
fokus pada
1617
Pengikut

Pengoptimuman Strategi Jalur Awan Ichimoku

Gambaran keseluruhan

Strategi ini adalah strategi pengesanan trend yang menggabungkan satu indikator grafik awan dan pelbagai indikator tambahan. Strategi ini digunakan untuk menentukan arah trend, ditambah dengan penapisan dengan indikator MACD, CMF, TSI dan sebagainya untuk meningkatkan kualiti isyarat. Ini adalah strategi trend yang kuat dengan penilaian komposit pelbagai faktor.

Prinsip Strategi

Strategi ini menggunakan perubahan pada satu carta awan untuk menentukan arah trend. Apabila antena melakukan lebih banyak ketika melintasi jalur awan, kosong ketika melintasi jalur awan. Di samping itu, ia menggabungkan garisan tayar cadangan, grafik tiang MACD, indikator aliran dana CMF dan indeks kekuatan sebenar TSI untuk melakukan penapisan berlapis, memastikan kualiti isyarat.

Secara khusus, syarat untuk membuat pelbagai isyarat adalah:

  1. Anten yang berhadapan dengan awan
  2. Garis awan lebih luas, garis putaran di atas garis asas
  3. Garis kelewatan di atas 0
  4. Harga penutupan di atas awan
  5. Garis pilar MACD di atas 0
  6. CMF lebih besar daripada 0.1
  7. TSI di atas 0

Keadaan pemicu isyarat kosong adalah sebaliknya daripada syarat-syarat di atas. Oleh itu, melalui penilaian komprehensif pelbagai petunjuk, dapat menyaring dengan berkesan sebahagian besar isyarat palsu dan mengunci trend utama pasaran.

Kelebihan Strategik

Kelebihan utama strategi ini adalah bahawa kombinasi pelbagai indikator menghapuskan isyarat palsu dan menangkap trend yang kuat. Secara khusus, terdapat beberapa kelebihan utama:

  1. Peta awan untuk menentukan arah trend utama dan memastikan ia betul
  2. Penunjuk tambahan untuk menapis lebih jauh dan mengurangkan risiko perdagangan
  3. Faktor kitaran masa yang lebih komprehensif menjadikan isyarat lebih dipercayai
  4. Syarat ketat, hanya berdagang dengan isyarat berkualiti tinggi dan mengelakkan pasaran yang tidak menentu
  5. Menggabungkan trend tracking untuk memaksimumkan keuntungan trend locking

Dengan pertimbangan komprehensif di atas, strategi ini dapat secara berkesan menangkap bahagian panas di pasaran saham, trend track arbitrage, dan memperoleh keuntungan tambahan yang besar.

Risiko Strategik

Strategi ini mempunyai beberapa risiko utama:

  1. Risiko penembusan palsu. Apabila harga mengalami penembusan palsu, ia mudah menghasilkan isyarat yang salah.
  2. Risiko trend reversal. Pergerakan saham adalah teratur, lari panjang pasti akan kembali, terdapat kemungkinan kehilangan semua keuntungan.
  3. Frekuensi dagangan rendah risiko. Syarat lebih ketat, mungkin terlepas beberapa peluang.

Kaedah untuk mengurangkan risiko adalah:

  1. Mempermudahkan syarat penapisan dan meningkatkan kekerapan transaksi.
  2. Meningkatkan syarat-syarat untuk mengelakkan kerugian daripada berkembang.
  3. Pengoptimuman parameter untuk meningkatkan ketepatan isyarat.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Pengoptimuman parameter. Anda boleh mengoptimumkan parameter dengan lebih banyak data pengesanan balik untuk mencari kombinasi parameter yang lebih baik.

  2. Menambah mekanisme penangguhan kerugian. Mempermudahkan syarat kemasukan dengan betul, tetapi menetapkan penangguhan kerugian untuk mengawal risiko.

  3. Peningkatan stop loss bergerak. Menggunakan trend tracking stop loss untuk mengunci keuntungan dan mengelakkan pembalikan kerugian.

  4. Mengoptimumkan penapis indikator. Anda boleh menguji lebih banyak indikator untuk mencari kombinasi yang lebih baik daripada isyarat penapis.

  5. Menambah peraturan untuk mengenal pasti secara automatik penipuan yang berlaku.

ringkaskan

Strategi ini menggunakan grafik awan dan pelbagai petunjuk tambahan untuk menilai kesannya. Dengan pengoptimuman parameter, penambahbaikan mekanisme hentian, pengoptimuman petunjuk, dan lain-lain, anda dapat meningkatkan kestabilan strategi, meningkatkan kualiti isyarat, dan memperoleh keuntungan yang lebih tinggi.

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