Strategi perdagangan hari berdasarkan Ichimoku Kinko Hyo


Tarikh penciptaan: 2023-10-16 16:10:55 Akhirnya diubah suai: 2023-10-16 16:10:55
Salin: 0 Bilangan klik: 728
1
fokus pada
1617
Pengikut

Strategi perdagangan hari berdasarkan Ichimoku Kinko Hyo

Gambaran keseluruhan

Strategi ini menggunakan garis keseimbangan pertama untuk perdagangan saham dalam sehari, termasuk dalam strategi perdagangan garis pendek. Ia menggunakan garis pertukaran garis keseimbangan pertama, garis asas dan kombinasi garis terdahulu untuk menilai isyarat jual beli, dan dibantu dengan SAR garis parabola untuk mengesan kerugian, untuk mencapai perlindungan berganda.

Prinsip

Garis keseimbangan pertama terdiri daripada garisan penukaran, garisan rujukan, garisan 1 terdahulu dan garisan 2 terdahulu. Garis penukaran adalah purata harga penutupan hari dan purata harga tertinggi dan terendah dalam tempoh 9 hari yang lalu, yang mencerminkan keseimbangan harga saham dalam jangka masa terdekat. Garis rujukan adalah harga tertinggi dan terendah dalam tempoh 26 hari yang lalu, yang mewakili keseimbangan dalam jangka masa panjang.

Apabila harga penutupan dari bawah menembusi garis asas dan lebih tinggi daripada garis 2 terdahulu, menghasilkan isyarat beli. Apabila harga penutupan dari atas jatuh di bawah garis asas dan lebih rendah daripada garis 1 terdahulu, menghasilkan isyarat jual.

Strategi ini menggunakan kombinasi garis keseimbangan untuk menilai trend masa depan harga saham dan kesinambungan trend semasa. Strategi ini adalah salah satu strategi trend-following yang biasa.

Kelebihan

  1. Menggunakan garis keseimbangan untuk menilai trend masa depan, meningkatkan ketepatan penilaian

Garis keseimbangan mengandungi maklumat harga berkala yang berbeza, dapat mencerminkan perubahan trend lebih awal, menggunakan penilaian gabungan untuk meningkatkan ketepatan. Ia dapat menentukan titik jual beli dengan lebih tepat berbanding dengan satu petunjuk tunggal.

  1. Pengesanan Kerosakan SAR, Perlindungan Ganda

SAR boleh secara fleksibel menjejaki pergerakan saham, untuk menghentikan kerugian. Dengan gabungan garisan keseimbangan, ia dapat menghentikan kerugian tepat pada masanya selepas keuntungan, untuk mengelakkan kerugian berkembang.

  1. Tetapan parameter mudah, mudah dilaksanakan

Strategi ini hanya mempunyai sedikit parameter, tidak bergantung pada indikator teknikal yang rumit seperti penyesuaian kurva, mudah digunakan, mudah dilaksanakan. Nilai lalai parameter dapat mencapai kesan yang baik.

  1. Berlaku untuk dagangan dalam talian pendek

Menggunakan perubahan harga dalam hari untuk menentukan titik jual beli, termasuk dalam strategi perdagangan garis pendek. Anda boleh memanfaatkan sepenuhnya turun naik saham dalam hari.

Risiko

  1. Risiko penarikan balik

Mengikuti trend membeli dan menjual membawa pulangan yang lebih tinggi. Perlu menetapkan titik berhenti yang munasabah dan mengawal kerugian tunggal.

  1. Risiko Keadaan Bergolak

Dalam keadaan gegaran, isyarat yang dihasilkan oleh garis keseimbangan mungkin kerap, tidak menguntungkan. Parameter boleh disesuaikan dengan betul, menapis beberapa isyarat.

  1. Risiko yang terlalu optimum

Parameter mudah mudah dioptimumkan, kesan cakera keras mungkin tidak sesuai. Pengujian kestabilan harus dilakukan untuk mengelakkan overfit.

  1. Perbezaan dalam faktor kesan

Kesan berkaitan dengan pilihan saham, saham yang jelas trend harus dipilih untuk berdagang, supaya strategi dapat memberi kesan maksimum.

Arah pengoptimuman

  1. Gabungan dengan petunjuk lain untuk menapis isyarat

Ia boleh digabungkan dengan penunjuk lain seperti purata bergerak untuk menyaring beberapa isyarat yang tidak pasti dan mengelakkan perdagangan maya.

  1. Dinamika penyesuaian titik henti

Parameter SAR boleh disesuaikan secara dinamik mengikut tahap turun naik pasaran, menjadikan penutupan kerugian lebih fleksibel.

  1. Kombinasi parameter pengoptimuman

Anda boleh mencari kombinasi parameter yang lebih baik dan meningkatkan keberkesanan strategi dengan pengoptimuman yang lebih sistematik dan ujian gabungan.

  1. Penyesuaian kedudukan mengikut keadaan pasaran

Anda boleh menyesuaikan kedudukan dan kedudukan anda mengikut keadaan pasaran seperti pergerakan saham besar, strategi perubahan dinamik, dan mengawal risiko.

ringkaskan

Strategi ini menggunakan isyarat beli dan jual pada garis keseimbangan, dengan SAR garis parabola untuk mencapai pengesanan kerugian, merupakan strategi perdagangan garis pendek yang lebih mudah dan praktikal. Ia menggunakan fungsi garis keseimbangan untuk meramalkan trend masa depan, melakukan operasi beli dan jual pada pecah.

Kod sumber strategi
/*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)