Strategi Ichimoku Kumo Twist menggunakan garis penukaran, garis asas, dan garis rentang utama penunjuk Ichimoku untuk membina isyarat perdagangan sebagai strategi trend berikut. Ia mengenal pasti titik pembalikan trend jangka pendek dan sederhana dengan melihat perubahan dalam awan Ichimoku untuk mencari titik pecah risiko yang lebih rendah dan peluang overbought / oversold. Strategi ini boleh digunakan untuk perdagangan intraday serta perdagangan jangka menengah beberapa minggu.
Strategi ini terutamanya menggunakan tiga garis Ichimoku
Isyarat beli dijana apabila rentang utama 1 melintasi rentang utama 2, manakala isyarat jual dijana apabila rentang utama 1 melintasi di bawah rentang utama 2. Strategi perdagangan hanya mengesan persilangan bullish dan bearish dari jangka pendek dan sederhana untuk menangkap perubahan trend.
Strategi giliran awan Ichimoku menggabungkan kedua-dua trend jangka pendek dan jangka sederhana, yang dapat dengan berkesan mengenal pasti titik pembalikan trend.
Strategi berasaskan pembalikan purata mempunyai beberapa kelewatan terbina dalam untuk menapis bunyi bising.
Menggunakan awan untuk mengukur kekuatan trend membolehkan kemasukan dan keluar yang lebih baik.
Tiada pengoptimuman parameter diperlukan - parameter Ichimoku standard berfungsi dengan baik.
Ichimoku mempunyai bahagian dalaman yang agak kompleks dan tidak terlalu sensitif terhadap tweak parameter yang membuat optimasi berlebihan sukar.
Terdapat beberapa isyarat palsu semasa pasaran terhad julat.
Perbezaan antara trend jangka pendek dan sederhana boleh menyebabkan kerosakan strategi.
Hentikan kerugian adalah penting untuk mengawal risiko, jika tidak, pengeluaran besar mungkin.
Uji gabungan pemindahan dan tempoh asas yang berbeza untuk mencari keseimbangan yang optimum.
Tambah penapis dengan penunjuk lain untuk mengelakkan mengambil isyarat dalam formasi yang tidak baik.
Menggabungkan strategi stop loss seperti stop dinamik atau trailing.
Mengoptimumkan saiz kedudukan berdasarkan keadaan pasaran.
Tambah komisen dagangan dalam backtest untuk hasil yang lebih realistik.
Secara keseluruhannya, strategi twist awan Ichimoku adalah strategi trend yang sederhana. Ia dapat mengenal pasti perubahan trend dengan berkesan dan mengambil kedudukan yang sejajar dengan arah trend. Tetapi pemantauan diperlukan dan kawalan risiko yang ketat diperlukan untuk penggunaan jangka panjang. Penambahbaikan berterusan dalam penyesuaian parameter, penapis kemasukan, mekanika kehilangan berhenti, dan banyak lagi dapat meningkatkan kestabilan dan keuntungan strategi ini.
/*backtest start: 2022-10-20 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true) xlowest_(src, len) => x = src for i = 1 to len - 1 v = src[i] if (na(v)) break x := min(x, v) x xlowest(src, len) => na(src[len]) ? xlowest_(src, len) : lowest(src, len) xhighest_(src, len) => x = src for i = 1 to len - 1 v = src[i] if (na(v)) break x := max(x, v) x xhighest(src, len) => na(src[len]) ? xhighest_(src, len) : highest(src, len) dropn(src, n) => na(src[n]) ? na : src ichiConversionPeriods(presets) => if presets == "Crypto Doubled" 20 else if presets == "Crypto Singled" 10 else if presets == "Standard Doubled" 18 else 9 ichiBasePeriods(presets) => if presets == "Crypto Doubled" 60 else if presets == "Crypto Singled" 30 else if presets == "Standard Doubled" 52 else 26 ichiLaggingSpan2Periods(presets) => if presets == "Crypto Doubled" 120 else if presets == "Crypto Singled" 60 else if presets == "Standard Doubled" 104 else 52 ichiDisplacement(presets) => if presets == "Crypto Doubled" 30 else if presets == "Crypto Singled" 30 else if presets == "Standard Doubled" 26 else 26 scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear") presets = input(title="Presets", options=["Crypto Doubled", "Crypto Singled", "Standard Doubled", "Standard Singled"], defval="Crypto Doubled") dropCandles = input(1, minval=0, title="Drop first N candles") showClouds = input(false, "Show Clouds") stoploss = input(true, title="Stop Loss") conversionPeriods = ichiConversionPeriods(presets) basePeriods = ichiBasePeriods(presets) laggingSpan2Periods = ichiLaggingSpan2Periods(presets) displacement = ichiDisplacement(presets) logScaling = scaling == "Log" lows = dropn(low, dropCandles) highs = dropn(high, dropCandles) lowsp = logScaling ? log(lows) : lows highsp = logScaling ? log(highs) : highs donchian(len) => avg(xlowest(lowsp, len), xhighest(highsp, len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) golong = crossover(leadLine1, leadLine2) goshort = crossunder(leadLine1, leadLine2) strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na)) strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na)) conversionLinep = logScaling ? exp(conversionLine) : conversionLine baseLinep = logScaling ? exp(baseLine) : baseLine leadLine1p = logScaling ? exp(leadLine1) : leadLine1 leadLine2p = logScaling ? exp(leadLine2) : leadLine2 plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line") plot(showClouds ? baseLinep : na, color=#991515, title="Base Line") p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1") p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2") fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)