Ichimoku Masuk Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-31 15:23:21
Tag:

img

Ringkasan

Ichimoku Entries adalah strategi kuantitatif yang mengenal pasti arah trend menggunakan carta awan Ichimoku, dan menjana isyarat dagangan dalam kombinasi dengan Bollinger Bands dan penunjuk RSI. Strategi ini terutamanya menentukan sama ada pasaran kini berada dalam trend menaik atau menurun berdasarkan salib emas atau salib kematian Garis Tenkan dan Garis Kijun, dan dengan itu menghasilkan isyarat kemasukan untuk kedudukan panjang dan pendek.

Logika Strategi

Inti strategi ini terletak pada dua garis penting carta awan Ichimoku - Garis Tenkan dan Garis Kijun. Garis Tenkan adalah purata tertinggi tertinggi dan terendah terendah selama 9 hari terakhir, mewakili trend jangka pendek. Garis Kijun adalah purata tertinggi tertinggi dan terendah terendah selama 26 hari terakhir, mewakili trend jangka menengah hingga panjang. Apabila Garis Tenkan melintasi di atas Garis Kijun, ia menandakan kemasukan untuk pergi panjang. Apabila Garis Tenkan jatuh di bawah Garis Kijun, ia menandakan kemasukan untuk pergi pendek. Ini menilai arah trend semasa.

Di samping awan Ichimoku, strategi ini juga melihat Bollinger Bands dan penunjuk RSI untuk menjana isyarat perdagangan. Ia dianggap sebagai tanda aktiviti harga yang tidak normal apabila harga penutupan menembusi Bollinger Bands atas atau bawah. Menapis beberapa pecah palsu dengan menggabungkan penunjuk RSI untuk menentukan keadaan overbought atau oversold, isyarat kemasukan yang sah dapat dihasilkan.

Pada logik keluar, strategi memeriksa sama ada pecah Bollinger Bands berjaya dan jika Oscillator Kedekatan Perdagangan melintasi paksi 0, untuk memutuskan untuk mengunci keuntungan atau menghentikan kerugian.

Analisis Kelebihan

Kelebihan terbesar strategi ini ialah ia menggabungkan penentuan trend dan turun naik harga yang tidak normal untuk menentukan arah perdagangan. Awan Ichimoku dengan jelas mendedahkan trend, sementara Bollinger Bands menangkap anomali. RSI berkesan menapis pecah palsu. Penggunaan pelbagai penunjuk yang diselaraskan menjadikan isyarat perdagangan lebih boleh dipercayai. Di samping itu, logik stop loss dan take profit membantu mengunci keuntungan dan mengelakkan kerugian besar.

Analisis Risiko

Walaupun mempunyai kelebihan untuk mengenal pasti trend dan anomali, strategi masih menimbulkan beberapa risiko. Kerana ia berdagang bersama-sama dengan trend, banyak isyarat palsu mungkin muncul di pasaran yang berbeza. Tetapan parameter yang tidak betul juga boleh merosot prestasi strategi. Pengoptimuman langkah demi langkah disyorkan untuk menguji kombinasi parameter yang berbeza dan mencari nilai optimum.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Uji kombinasi parameter yang berbeza, seperti tempoh Bollinger, tempoh RSI, dll.
  2. Memperkenalkan model pembelajaran mesin, parameter output dinamik berdasarkan data sejarah.
  3. Menggabungkan aliran maklumat untuk menentukan emosi pasaran, mengelakkan langkah yang salah pada saat kritikal.
  4. Tambah kaedah stop loss bersyarat, seperti trailing stop, untuk mengekalkan keuntungan.

Kesimpulan

Ichimoku Entries Strategy adalah strategi perdagangan trend bersepadu dengan pelbagai penunjuk. Dengan menilai kedua-dua arah trend dan kelainan harga, ia menangkap irama pasaran dengan agak boleh dipercayai. Walaupun terdapat ruang untuk peningkatan, secara keseluruhan ini adalah strategi dengan prestasi yang konsisten dan risiko yang boleh dikawal. Penyesuaian parameter dan pengenalan pembelajaran mesin dapat menjadikan strategi ini lebih cemerlang.


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

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")



Lebih lanjut