Strategi Dagangan Hari Awan Ichimoku

Penulis:ChaoZhang, Tarikh: 2023-10-16 16:10:55
Tag:

img

Ringkasan

Strategi ini melaksanakan perdagangan saham intraday menggunakan garis Ichimoku Cloud. Ia tergolong dalam strategi perdagangan jangka pendek. Ia menggunakan garis penukaran, garis asas dan garis utama Ichimoku Cloud untuk menjana isyarat perdagangan, dan menggunakan Parabolic SAR untuk pengangkutan kerugian berhenti, mencapai perlindungan berganda.

Prinsip-prinsip

Ichimoku Cloud terdiri daripada garis penukaran, garis asas, garis utama 1 dan garis utama 2. Garis penukaran adalah purata harga penutupan dan harga tertinggi dan terendah selama 9 hari yang lalu, yang mencerminkan keadaan keseimbangan harga saham baru-baru ini. Garis asas adalah purata harga tertinggi dan terendah selama 26 hari yang lalu, yang mewakili keadaan keseimbangan jangka menengah hingga panjang. Garis utama 1 adalah purata garis asas dan garis penukaran, yang mencerminkan trend masa depan. Garis utama 2 adalah purata harga tertinggi dan terendah selama 52 hari yang lalu. Garis keseimbangan ini bergabung untuk membentuk isyarat perdagangan.

Apabila harga penutupan menembusi garis asas ke atas dan di atas garis utama 2, isyarat beli dihasilkan. Apabila harga penutupan menembusi garis asas ke bawah dan di bawah garis utama 1, isyarat jual dihasilkan. Parabolic SAR digunakan untuk stop loss trailing, menghasilkan isyarat stop loss apabila harga di bawah SAR.

Strategi ini menggunakan gabungan garis keseimbangan untuk menentukan trend harga masa depan dan kelestarian trend semasa. Ia termasuk dalam strategi trend berikut yang tipikal. Ia mengikuti trend dengan berdagang apabila isyarat beli dan jual muncul. Sementara itu, mekanisme SAR stop loss and take profit mengelakkan kerugian yang membesar.

Kelebihan

  1. Menggunakan garis keseimbangan untuk menentukan trend masa depan meningkatkan ketepatan

Garis keseimbangan mengandungi maklumat harga dari tempoh yang berbeza, mencerminkan perubahan trend terlebih dahulu. Menggunakan kombinasi meningkatkan ketepatan berbanding dengan penunjuk tunggal. Ia boleh mengenal pasti isyarat perdagangan dengan lebih tepat.

  1. SAR trailing stop menyediakan perlindungan berganda

SAR boleh menjejaki harga saham dengan fleksibel untuk menghentikan kerugian. Bergabung dengan garis keseimbangan, ia membolehkan stop loss tepat pada masanya selepas mengambil keuntungan, mengelakkan kerugian yang diperbesar.

  1. Parameter mudah, mudah dilaksanakan

Strategi ini mempunyai parameter minimum tanpa penunjuk teknikal yang kompleks seperti pemasangan lengkung, mudah dan praktikal untuk dilaksanakan.

  1. Sesuai untuk perdagangan intraday dan jangka pendek

Ia mengenal pasti isyarat perdagangan dari perubahan harga intraday, sesuai untuk perdagangan jangka pendek. Ia boleh memanfaatkan sepenuhnya turun naik intraday untuk keuntungan.

Risiko

  1. Risiko penggunaan

Trend yang mengikuti perdagangan membawa kepada pengeluaran yang lebih tinggi.

  1. Risiko Whipsaw

Isyarat perdagangan yang kerap boleh dihasilkan semasa pasaran terhad julat, tidak menguntungkan keuntungan. Parameter boleh diselaraskan untuk menapis beberapa isyarat.

  1. Risiko pengoptimuman berlebihan

Parameter mudah terdedah kepada optimasi berlebihan. Prestasi perdagangan sebenar mungkin tidak ideal. Ujian kestabilan harus dijalankan untuk mengelakkan pemasangan berlebihan.

  1. Hasilnya berbeza di antara instrumen yang berbeza

Prestasi bergantung kepada instrumen dagangan. Saham trend dengan trend yang jelas harus dipilih untuk memaksimumkan keberkesanan strategi.

Peluang Peningkatan

  1. Tambah penapis dengan penunjuk lain

Penunjuk lain seperti purata bergerak boleh ditambah untuk menapis isyarat yang tidak pasti dan mengelakkan perdagangan palsu.

  1. Penyesuaian dinamik stop loss

Parameter SAR boleh diselaraskan secara dinamik berdasarkan turun naik pasaran, untuk stop loss yang lebih fleksibel.

  1. Pengoptimuman Parameter

Pengoptimuman yang lebih sistematik dan ujian kombinasi boleh mencari set parameter yang lebih baik untuk meningkatkan prestasi.

  1. Penyesuaian saiz kedudukan mengikut rejim pasaran

Saiz kedudukan dan leverage boleh diselaraskan secara dinamik berdasarkan keadaan pasaran seperti trend indeks, untuk mengawal risiko.

Kesimpulan

Strategi ini menggunakan isyarat dagangan Ichimoku Cloud dan Parabolic SAR untuk menjejaki stop loss. Ia adalah strategi dagangan jangka pendek yang mudah dan praktikal. Ia memanfaatkan keupayaan ramalan trend Ichimoku Cloud untuk perdagangan pecah. Mekanisme stop loss mengelakkan peningkatan kerugian. Kawalan pengeluaran yang betul, pemilihan stok dan penyesuaian parameter diperlukan untuk pelaksanaan. Dengan ini ditangani, ia adalah mudah untuk melaksanakan strategi dengan prestasi yang dihormati untuk perdagangan intraday.


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

//@version=3
//
//  Based on the trading strategy described at
//    http://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:ichimoku_cloud
//
//  See Also:
//    - Backtesting and forwardtesting (of TradingView Strategies) <https://www.tradingview.com/wiki/Strategies#Backtesting_and_forwardtesting>
//    - 9 Mistakes Quants Make that Cause Backtests to Lie <https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/>
//    - When Backtests Meet Reality <http://financial-hacker.com/Backtest.pdf>
//    - Why MT4 backtesting does not work <http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020>
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=3)

conversionPeriods   = input(9,  minval=1, title="Conversion Line Periods"),
basePeriods         = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement        = input(26, minval=1, title="Displacement")

usePSARTrailStop    = input(true, title="Use Parabolic SAR for Trailing Stop")
psarStart           = input(0.02, title="Parabolic SAR Start")
psarIncrement       = input(0.02, title="Parabolic SAR Increment")
psarMaximum         = input(0.2,  title="Parabolic SAR Maximum")


donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine  = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
leadLineDisp1 = leadLine1[displacement]
leadLineDisp2 = leadLine2[displacement]

psar = sar(psarStart, psarIncrement, psarMaximum)

// BUY Signal:
// close > leading span b and
// leading span a > leading span b and 
// close crosses over base line and
// close > parabolic sar
buySignal = close > leadLineDisp2 and
  leadLineDisp1 > leadLineDisp2 and
  crossover(close, baseLine) and
  (usePSARTrailStop ? close > psar : not usePSARTrailStop)

// Sell Signal:
// close < leading span a and 
// leading span a < leading span b and 
// close crosses under base line and
// close < psar
sellSignal = close < leadLineDisp1 and
  leadLineDisp1 < leadLineDisp2 and
  crossunder(close, baseLine) and
  (usePSARTrailStop ? close < psar : not usePSARTrailStop)

hasLong  = strategy.position_size > 0
hasShort = strategy.position_size < 0


strategy.entry("ichimoku-long", strategy.long, when = buySignal)
strategy.entry("ichimoku-short", strategy.short, when = sellSignal)

strategy.exit("trailstop-long", "ichimoku-long", stop = psar, when = hasLong and usePSARTrailStop)
strategy.exit("trailstop-short", "ichimoku-short", stop = psar, when = hasShort and usePSARTrailStop)


Lebih lanjut