Ichimoku Cloud Day Trading Strategi

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

img

Gambaran umum

Strategi ini mengimplementasikan perdagangan saham intraday menggunakan garis Ichimoku Cloud. Ini termasuk dalam strategi perdagangan jangka pendek. Ini memanfaatkan garis konversi, garis dasar dan garis utama Ichimoku Cloud untuk menghasilkan sinyal perdagangan, dan menggunakan Parabolic SAR untuk stop loss trailing, mencapai perlindungan ganda.

Prinsip-prinsip

Ichimoku Cloud terdiri dari garis konversi, garis dasar, garis utama 1 dan garis utama 2. Garis konversi adalah rata-rata harga penutupan dan harga tertinggi dan terendah selama 9 hari terakhir, yang mencerminkan keadaan keseimbangan harga saham baru-baru ini. Garis dasar adalah rata-rata harga tertinggi dan terendah selama 26 hari terakhir, yang mewakili keadaan keseimbangan jangka menengah hingga panjang. Garis utama 1 adalah rata-rata garis dasar dan garis konversi, yang mencerminkan tren masa depan. Garis utama 2 adalah rata-rata harga tertinggi dan terendah selama 52 hari terakhir. Garis keseimbangan ini bergabung untuk membentuk sinyal perdagangan.

Ketika harga penutupan menembus garis dasar ke atas dan berada di atas garis utama 2, sinyal beli dihasilkan. Ketika harga penutupan menembus garis dasar ke bawah dan berada di bawah garis utama 1, sinyal jual dihasilkan. Parabolic SAR digunakan untuk stop loss trailing, menghasilkan sinyal stop loss ketika harga berada di bawah SAR.

Strategi ini menggunakan kombinasi garis keseimbangan untuk menentukan tren harga masa depan dan keberlanjutan tren saat ini. Ini termasuk dalam strategi trend berikut yang khas. Ini mengikuti tren dengan perdagangan ketika sinyal beli dan jual muncul. Sementara itu, mekanisme SAR stop loss and take profit menghindari peningkatan kerugian.

Keuntungan

  1. Menggunakan garis keseimbangan untuk menentukan tren masa depan meningkatkan akurasi

Garis keseimbangan berisi informasi harga dari periode yang berbeda, mencerminkan perubahan tren sebelumnya. Menggunakan kombinasi meningkatkan akurasi dibandingkan dengan indikator tunggal. Ini dapat mengidentifikasi sinyal perdagangan dengan lebih akurat.

  1. SAR trailing stop memberikan perlindungan ganda

SAR dapat secara fleksibel melacak harga saham untuk stop loss. Bergabung dengan garis keseimbangan, memungkinkan stop loss tepat waktu setelah mengambil keuntungan, menghindari kerugian yang diperbesar.

  1. Parameter sederhana, mudah diterapkan

Strategi ini memiliki parameter minimal tanpa indikator teknis yang kompleks seperti penyesuaian kurva, sederhana dan praktis untuk diterapkan.

  1. Cocok untuk perdagangan intraday dan jangka pendek

Ini mengidentifikasi sinyal perdagangan dari perubahan harga intraday, cocok untuk perdagangan jangka pendek.

Risiko

  1. Risiko penarikan

Tren setelah perdagangan mengarah pada penarikan yang lebih tinggi.

  1. Risiko Whipsaw

Sinyal perdagangan yang sering dapat dihasilkan selama pasar yang terikat rentang, tidak menguntungkan untuk profitabilitas. Parameter dapat disesuaikan untuk menyaring beberapa sinyal.

  1. Risiko optimasi yang berlebihan

Parameter sederhana rentan terhadap over-optimasi. Kinerja perdagangan nyata mungkin tidak ideal. Tes ketahanan harus dilakukan untuk mencegah over-fit.

  1. Hasilnya bervariasi di antara instrumen yang berbeda

Kinerja tergantung pada instrumen perdagangan. Saham tren dengan tren yang jelas harus dipilih untuk memaksimalkan efektivitas strategi.

Peluang Peningkatan

  1. Tambahkan filter dengan indikator lain

Indikator lain seperti moving average dapat ditambahkan untuk menyaring sinyal yang tidak pasti dan menghindari perdagangan palsu.

  1. Pengaturan stop loss secara dinamis

Parameter SAR dapat disesuaikan secara dinamis berdasarkan volatilitas pasar, untuk stop loss yang lebih fleksibel.

  1. Optimasi parameter

Optimasi yang lebih sistematis dan pengujian kombinatorial dapat menemukan set parameter yang lebih baik untuk meningkatkan kinerja.

  1. Sesuaikan ukuran posisi berdasarkan sistem pasar

Ukuran posisi dan leverage dapat disesuaikan secara dinamis berdasarkan kondisi pasar seperti tren indeks, untuk mengendalikan risiko.

Kesimpulan

Strategi ini memanfaatkan sinyal perdagangan Ichimoku Cloud dan Parabolic SAR untuk stop loss trailing. Ini adalah strategi perdagangan jangka pendek yang sederhana dan praktis. Ini memanfaatkan kemampuan prediksi tren Ichimoku Cloud untuk perdagangan breakout. Mekanisme stop loss menghindari peningkatan kerugian. Pengendalian penarikan yang tepat, pemilihan saham dan penyesuaian parameter diperlukan untuk implementasi. Dengan ini ditangani, mudah untuk menerapkan strategi dengan kinerja yang terhormat 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 banyak