ICHIMOKU Cloud dan Strategi Pengesanan Trend Berdasarkan Penunjuk STOCH

Penulis:ChaoZhang, Tarikh: 2023-11-15 11:19:29
Tag:

img

Ringkasan

Strategi ini adalah berdasarkan kepada penunjuk corak carta awan ICHIMOKU dan penunjuk rawak STOCH untuk menentukan dan mengesan trend.

Prinsip Strategi

Strategi ini terutamanya menilai arah trend semasa dan situasi overbought/oversold melalui carta awan ICHIMOKU dan penunjuk STOCH.

Apabila Garis Penukaran melintasi di atas Garis Asas dan penunjuk Stoch bangkit kembali dari kawasan oversold, ia dianggap sebagai trend menaik dan strategi mengambil arah menaik. Apabila Garis Penukaran melintasi di bawah Garis Asas dan penunjuk Stoch jatuh kembali dari kawasan overbought, ia dianggap sebagai trend menurun dan strategi mengambil arah menurun.

Dalam kod, Garis Penukaran ditakrifkan sebagai purata harga tertinggi dan terendah bar N1 terakhir; Garis Asas ditakrifkan sebagai purata harga tertinggi dan terendah bar N2 terakhir. Isyarat menaik dihasilkan apabila garis penukaran melintasi di atas garis asas.

Indikator Stoch menentukan garis ambang terlalu banyak beli dan terlalu banyak jual, serta parameter penghalusan K dan D. Isyarat menaik dihasilkan apabila Stoch bangkit kembali dari kawasan terlalu banyak beli, dan isyarat menurun dihasilkan apabila ia jatuh kembali dari kawasan terlalu banyak beli.

Dengan menggabungkan kedua-dua penunjuk, strategi menentukan arah trend.

Analisis Kelebihan

Strategi ini menggabungkan penunjuk corak carta dan penunjuk overbought / oversold untuk menentukan arah trend dengan berkesan.

Berbanding dengan menggunakan satu penunjuk penilaian trend, strategi ini secara komprehensif mempertimbangkan kedua-dua trend dan situasi melebihi, dan dapat menentukan masa kemasukan dengan lebih tepat.

Carta awan ICHIMOKU dapat mengenal pasti trend jangka sederhana dan panjang, sementara penunjuk Stoch dapat menemui situasi overbought / oversold jangka pendek. Kedua-duanya saling melengkapi untuk membentuk penilaian sistematik.

Analisis Risiko

Risiko utama strategi ini ialah:

  1. Risiko kegagalan penunjuk sekiranya berlaku peristiwa black swan.

  2. Terdapat beberapa kelewatan, yang mungkin terlepas sebahagian daripada trend atau membalikkan kedudukan pembukaan.

  3. Penghakiman pelbagai faktor gabungan mempunyai beberapa subjektiviti, dan tetapan parameter yang tidak betul boleh menyebabkan kesilapan.

  4. Frekuensi perdagangan yang tinggi boleh memberi kesan kepada keuntungan kerana kos transaksi.

Langkah pengoptimuman yang sepadan:

  1. Gabungkan peristiwa berita untuk mengelakkan perdagangan buta semasa peristiwa dasar utama.

  2. Memendekkan parameter kitaran dengan sewajarnya untuk mengurangkan kebarangkalian lag.

  3. Mengoptimumkan parameter melalui backtesting untuk meningkatkan tetapan saintifik.

  4. Meningkatkan julat mengambil keuntungan dan menghentikan kerugian dengan sewajarnya untuk mengurangkan kekerapan perdagangan.

Arahan pengoptimuman

Arah pengoptimuman utama untuk strategi ini adalah:

  1. Mengoptimumkan parameter kitaran garis penukaran ICHIMOKU dan garis asas untuk lebih sesuai dengan ciri pasaran yang berbeza.

  2. Mengoptimumkan parameter kelancaran K, D dan nilai ambang overbought / oversold penunjuk Stoch.

  3. Meningkatkan penunjuk lain untuk membentuk model pelbagai faktor dan meningkatkan kebolehpercayaan sistem.

  4. Mengoptimumkan titik mengambil keuntungan dan berhenti kerugian untuk mengurangkan kekerapan perdagangan sambil memastikan keuntungan.

  5. Tambah modul untuk menilai kecemasan dan mengelakkan kegagalan semasa peristiwa besar.

Ringkasan

Strategi ini menggabungkan carta awan ICHIMOKU dan penunjuk Stoch untuk membuat penilaian komprehensif mengenai arah trend dan situasi overbought / oversold, yang dapat dengan berkesan mengesan pasaran trend. Dengan mempertimbangkan corak carta dan penunjuk kuantitatif, strategi ini lebih sistematik. Pengoptimuman masa depan mungkin termasuk menyesuaikan parameter, menambah penunjuk lain, menambah modul penilaian kecemasan, dll.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ICHI + STOCH V1", overlay=true)
length = input.int(20, minval=1)
smoothK = input(5)
smoothD = input(3)
OverBought = input(25)
OverSold = input(65)
Profit = input(1800)
Stop = input(1200)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k,d)
cu = ta.crossunder(k,d)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")
conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))
TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement)
//plot(conversionLine, color=#2962FF, title="Conversion Line")
//plot(baseLine, color=#B71C1C, title="Base Line")
//plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
plot(TREND, color=#2962FF, title="TREND")
p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")

p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
close_price = ta.sma(close,1)
pc = plot(close_price,style=plot.style_line, color=#2a0ab9,
	 title="Price Close")
if (not na(k) and not na(d))
	if (co and k < OverSold)and(close_price > TREND)
		strategy.entry("BUY order", strategy.long, comment="BUY order")
		strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop)
	if (cu and k > OverBought)and(close_price < TREND)
		strategy.entry("SELL order", strategy.short, comment="SELL order")
		strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Lebih lanjut