
Strategi Ichimoku Kumo Twist adalah strategi pelacakan tren yang menggunakan garis konversi, garis acuan, dan garis acuan dari indikator Ichimoku untuk membangun sinyal perdagangan. Strategi ini mencari titik balik tren jangka pendek dan menengah melalui pembalikan pita awan Ichimoku untuk mendapatkan titik terobosan yang berisiko rendah dan peluang overbought dan oversold.
Strategi ini terutama menggunakan tiga garis rata-rata indikator Ichimoku - garis konversi, garis dasar, dan garis arah 1, serta batas atas dan bawah dari garis K untuk menghitung harga tertinggi dan terendah. Garis konversi menghitung harga tertinggi dan terendah dari 9 garis K terakhir, yang mewakili rata-rata jangka pendek dari grafik keseimbangan pertama; garis dasar menghitung harga tertinggi dan terendah dari 26 garis K terakhir, yang mewakili rata-rata jangka panjang.
Sebuah sinyal beli dihasilkan ketika wire 1 melewati wire 2, dan sinyal jual dihasilkan ketika wire 1 melewati wire 2. Strategi perdagangan ini adalah mengikuti garis rata-rata jangka pendek dan jangka menengah untuk menangkap perubahan tren.
Ichimoku Cloud Belt Reversal Strategi menggabungkan tren jangka pendek dan jangka menengah untuk mengidentifikasi titik-titik pembalikan tren secara efektif.
Strategi ini didasarkan pada kesetaraan garis dan memiliki keterbelakangan yang dapat memfilter sebagian dari kebisingan.
Menggunakan cloud band untuk menilai kecenderungan yang kuat dan lemah, untuk mencapai entry dan exit yang lebih baik.
Tidak perlu mengoptimalkan parameter, menggunakan parameter standar Ichimoku.
Prinsip Ichimoku lebih rumit, tidak sensitif terhadap penyesuaian parameter, dan tidak mudah dioptimalkan.
Di pasar yang sedang bergeser, mungkin akan muncul beberapa sinyal yang salah.
Strategi gagal terjadi ketika tren jangka pendek dan menengah berlawanan.
Anda harus menggunakan stop loss untuk mengendalikan risiko, jika tidak, Anda bisa kehilangan lebih banyak uang.
Kombinasi parameter yang berbeda dari garis konversi dan garis acuan dapat diuji untuk menemukan titik keseimbangan yang optimal.
Gabungan dengan indikator lain untuk memfilter sinyal masuk, untuk menghindari penempatan di posisi yang jelas tidak menguntungkan.
Menambahkan strategi stop loss, mengatur stop loss dinamis atau stop loss trailing.
Mengoptimalkan manajemen posisi, menyesuaikan ukuran posisi sesuai dengan kondisi pasar.
Menambahkan biaya transaksi dalam pengukuran ulang membuat hasil pengukuran ulang lebih akurat.
Strategi Ichimoku Cloud Belt Reversal secara keseluruhan adalah strategi tren moderat. Ini dapat secara efektif mengidentifikasi titik-titik perubahan tren dan membuka posisi sesuai dengan arah tren. Tetapi ada juga biaya pemantauan tertentu untuk strategi ini, yang harus dikombinasikan dengan langkah-langkah manajemen risiko yang ketat untuk digunakan dalam jangka panjang.
/*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)