Ini adalah strategi perdagangan kuantitatif yang menggabungkan indikator Ichimoku Cloud dan indikator Bollinger Bands. Strategi ini memanfaatkan garis konversi, garis dasar, lead span A, dan lead span B dari Ichimoku Cloud untuk menghasilkan sinyal perdagangan, sambil menggunakan Bollinger Bands untuk menilai volatilitas pasar dan memutuskan waktu masuk yang tepat.
Indikator Ichimoku Cloud terdiri dari empat garis: garis konversi, garis dasar, lead span A, dan lead span B. Garis konversi adalah harga penutupan rata-rata selama periode jangka pendek (9 hari). Garis dasar adalah harga penutupan rata-rata selama periode 26 hari yang lebih lama. Garis utama A adalah rata-rata antara garis konversi dan garis dasar, yang memimpin aksi harga. Garis utama B adalah harga penutupan rata-rata selama periode 52 hari yang lebih lama, yang tertinggal dari harga. Sinyal beli dan jual dihasilkan ketika rata-rata bergerak jangka pendek melintasi atau di bawah yang jangka panjang.
Bollinger Bands terdiri dari tiga garis: garis tengah, band atas, dan band bawah. Garis tengah adalah rata-rata bergerak sederhana dari harga penutupan selama periode n hari (ditempatkan pada 20 hari di sini). Band atas adalah garis tengah ditambah k kali (ditempatkan pada 2 kali di sini) penyimpangan standar. Band bawah adalah garis tengah dikurangi k kali penyimpangan standar.
Strategi ini menggunakan salib emas dan salib kematian dari rentang utama B untuk membangun sinyal perdagangan.
Strategi ini menggabungkan indikator Ichimoku Cloud dan Bollinger Bands untuk secara komprehensif menentukan tren pasar dan volatilitas, yang dapat secara efektif menangkap informasi perubahan pasar untuk menemukan sinyal perdagangan.
Parameter strategi ini dapat disesuaikan untuk dioptimalkan untuk produk dan lingkungan pasar yang berbeda, sehingga sangat mudah beradaptasi.
Strategi ini terutama bergantung pada Bollinger Bands untuk menentukan volatilitas pasar. Band dapat gagal ketika volatilitas ekstrem disebabkan oleh peristiwa angsa hitam. Dalam hal ini, sinyal perdagangan yang dibangun berdasarkan Ichimoku Cloud dapat menghasilkan sinyal palsu.
Selain itu, garis Ichimoku Cloud sendiri juga sensitif terhadap fluktuasi pasar yang tajam. Konversi dan garis dasar dapat memberikan sinyal yang salah ketika harga bergeser liar.
Indikator lain dapat dipertimbangkan dalam kombinasi untuk menentukan waktu masuk, seperti KDJ untuk melihat apakah pasar terlalu banyak dibeli/terlalu banyak dijual, dan MACD untuk memeriksa hubungan rata-rata bergerak jangka panjang/pendek.
Selain itu, pembelajaran mesin dapat dimanfaatkan untuk mengoptimalkan parameter Ichimoku Cloud. Parameter yang berbeda memiliki dampak yang signifikan di seluruh siklus dan produk. Menemukan kombinasi parameter yang optimal dapat sangat meningkatkan profitabilitas strategi.
Strategi ini menggabungkan indikator Ichimoku Cloud dan Bollinger Bands untuk mempertimbangkan tren pasar dan volatilitas. Ini adalah strategi perdagangan kuantitatif adaptif. Strategi dapat ditingkatkan dengan menyesuaikan parameter dan mengoptimalkan aturan masuk untuk mencapai keuntungan yang baik dalam perdagangan langsung.
/*backtest start: 2023-02-13 00:00:00 end: 2024-02-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("一目均衡表シグナル + ボリンジャーバンド", overlay=true) 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(26, minval=1, title="Lagging Span") bbLength = input(20, title="Bollinger Bands Length") bbMultiplier = input(2.0, title="Bollinger Bands Multiplier") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) // ボリンジャーバンドの計算 basis = ta.sma(close, bbLength) bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength) bbLower = basis - bbMultiplier * ta.stdev(close, bbLength) // 1σ、2σ、3σのライン bbUpper1 = basis + ta.stdev(close, bbLength) bbLower1 = basis - ta.stdev(close, bbLength) bbUpper2 = basis + 2 * ta.stdev(close, bbLength) bbLower2 = basis - 2 * ta.stdev(close, bbLength) bbUpper3 = basis + 3 * ta.stdev(close, bbLength) bbLower3 = basis - 3 * ta.stdev(close, bbLength) // 遅行スパンがローソクに交差した際のBuyとSellシグナル buySignalLeadLine = ta.crossover(close, leadLine2) sellSignalLeadLine = ta.crossunder(close, leadLine2) // Strategy Entry and Exit Conditions for Lead Line strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine) strategy.close("BuyLeadLine", when = sellSignalLeadLine) strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine) strategy.close("SellLeadLine", when = buySignalLeadLine) // Plotting Ichimoku Cloud plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line") plot(baseLine, color=color.new(color.red, 0), title="Base Line") plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0), title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0), title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) // 2σ、3σのラインをプロット plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ") plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ") plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ") plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ") // Plotting Entry and Exit Signals plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)