Strategi Ichimoku Kumo Twist menggunakan garis konversi, garis dasar, dan garis rentang utama dari indikator Ichimoku untuk membangun sinyal perdagangan sebagai strategi trend berikut. Strategi ini dapat digunakan untuk perdagangan intraday serta perdagangan jangka menengah multi-minggu.
Strategi ini terutama menggunakan tiga garis Ichimoku
Sinyal beli dihasilkan ketika lead span 1 melintasi lead span 2, sementara sinyal jual dihasilkan ketika lead span 1 melintasi under lead span 2. Strategi trading hanya melacak bullish dan bearish crosses dari short and medium term means untuk menangkap perubahan tren.
Strategi twist awan Ichimoku menggabungkan tren jangka pendek dan jangka menengah, yang dapat secara efektif mengidentifikasi titik pembalikan tren.
Strategi yang didasarkan pada reversi rata-rata memiliki beberapa keterlambatan yang dibangun untuk menyaring kebisingan.
Menggunakan awan untuk mengukur kekuatan tren memungkinkan untuk peningkatan entri dan keluar.
Tidak perlu optimasi parameter - parameter Ichimoku standar bekerja dengan baik.
Ichimoku memiliki internal yang cukup kompleks dan tidak terlalu sensitif terhadap tweak parameter yang membuat overoptimization sulit.
Bisa ada beberapa sinyal palsu selama pasar yang terikat rentang.
Perbedaan antara tren jangka pendek dan jangka menengah dapat menyebabkan kegagalan strategi.
Stop loss sangat penting untuk mengendalikan risiko, jika tidak drawdown besar mungkin.
Uji kombinasi periode konversi dan awal yang berbeda untuk menemukan keseimbangan yang optimal.
Tambahkan filter dengan indikator lain untuk menghindari sinyal dalam formasi yang tidak menguntungkan.
Sertakan strategi stop loss seperti stop dinamis atau trailing.
Mengoptimalkan ukuran posisi berdasarkan kondisi pasar.
Tambahkan komisi perdagangan dalam backtest untuk hasil yang lebih realistis.
Secara keseluruhan, strategi Ichimoku cloud twist adalah strategi trend moderat yang mengikuti tren. Ini dapat secara efektif mengidentifikasi perubahan tren dan mengambil posisi yang selaras dengan arah tren. Tetapi pemantauan diperlukan dan kontrol risiko yang ketat diperlukan untuk penggunaan jangka panjang. Perbaikan berkelanjutan dalam penyesuaian parameter, filter masuk, mekanika stop loss, dan banyak lagi dapat lebih meningkatkan stabilitas dan profitabilitas 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)