
Ichimoku Entries adalah strategi kuantitatif yang menggunakan petunjuk grafik awan Ichimoku untuk mengenal pasti arah trend dan menghantar isyarat perdagangan yang digabungkan dengan pita Brin dan RSI. Strategi ini berdasarkan pada garis sepuluh dan garis asas untuk menentukan apakah anda berada di pasaran bertopeng atau kosong, yang menghasilkan isyarat masuk untuk kedudukan panjang dan pendek.
Strategi ini menggunakan dua garis penting dalam grafik awan Ichimoku iaitu garis pusingan sepuluh dan garis asas. Garis pusingan sepuluh adalah purata harga tertinggi dan terendah dalam 9 hari terakhir, yang mewakili trend jangka pendek. Garis asas adalah purata harga tertinggi dan terendah dalam 26 hari terakhir, yang mewakili trend jangka panjang.
Selain daripada grafik awan Ichimoku, strategi ini juga mengesan tanda Brin dan RSI untuk menghantar isyarat perdagangan. Hanya apabila harga penutupan memecahkan tanda Brin ke atas atau ke bawah, menunjukkan bahawa harga berlaku tidak normal; dan digabungkan dengan RSI untuk menentukan sama ada ia berada di kawasan overbought atau oversold, menapis beberapa pecah palsu, dan menghasilkan isyarat masuk.
Dalam logik keluar, strategi menilai sama ada penembusan Brin berjaya, dan sama ada penunjuk suasana perdagangan TPO berlaku melalui nol, untuk menentukan keluar yang menguntungkan atau rugi.
Kelebihan terbesar strategi ini adalah menggunakan penghakiman trend dan pergerakan yang luar biasa untuk menentukan arah perdagangan. Carta awan Ichimoku dapat menentukan trend dengan jelas, dan Brin dapat menangkap pergerakan yang luar biasa.
Walaupun mempunyai kelebihan untuk mengenal pasti trend dan turun naik yang luar biasa, strategi ini masih mempunyai risiko tertentu. Oleh kerana mengikuti trend untuk berdagang, lebih banyak isyarat palsu mudah muncul dalam keadaan gegaran. Selain itu, penetapan parameter yang tidak betul juga dapat mempengaruhi prestasi strategi.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi Ichimoku Entries adalah strategi pengesanan trend gabungan pelbagai indikator. Ia menilai arah trend dan ketidaksamaan harga, dan lebih dipercayai menangkap irama pasaran. Walaupun masih ada ruang untuk penambahbaikan, secara keseluruhan ia adalah strategi perdagangan kuantitatif yang menunjukkan prestasi yang stabil dan dapat dikawal risiko.
/*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")