ICH Cloud membawa strategi pembalikan


Tarikh penciptaan: 2023-10-27 16:36:59 Akhirnya diubah suai: 2023-10-27 16:36:59
Salin: 2 Bilangan klik: 896
1
fokus pada
1617
Pengikut

ICH Cloud membawa strategi pembalikan

Gambaran keseluruhan

Strategi Ichimoku Kumo Twist menggunakan garis peralihan, garis rujukan dan garis panduan indikator Ichimoku untuk membina isyarat perdagangan dan merupakan strategi trend-following. Ia mencari titik perpindahan dalam trend jangka pendek dan pertengahan melalui pembalikan Ikimoku Cloud Belt untuk mendapatkan titik penembusan yang lebih rendah dan peluang jual beli yang lebih tinggi.

Prinsip Strategi

Strategi ini menggunakan tiga garis rata-rata indikator Ichimoku - garis peralihan, garis rujukan dan garis panduan 1, dan batas atas dan bawah untuk mengira harga tertinggi dan terendah pada garis K. Garis peralihan mengira harga tertinggi dan harga terendah pada 9 garis K yang lalu, yang mewakili rata-rata jangka pendek pada carta keseimbangan pertama; garis rujukan mengira harga tertinggi dan harga terendah pada 26 garis K yang lalu, yang mewakili rata-rata jangka panjang. Garis panduan 1 adalah rata-rata garis peralihan dan garis panduan, dan garis panduan 2 adalah nilai tengah pada 52 garis K yang lalu.

Apabila garis panduan 1 melintasi garis panduan 2, ia menghasilkan isyarat beli, dan apabila garis panduan 1 melintasi garis panduan 2, ia menghasilkan isyarat jual. Strategi perdagangan ini adalah untuk mengesan garis purata jangka pendek dan jangka menengah untuk menangkap perubahan trend.

Analisis kelebihan

  • Ichimoku Cloud Belt Reversal Strategi menggabungkan trend jangka pendek dan jangka menengah untuk mengenal pasti titik-titik pembalikan trend.

  • Strategi ini adalah berasaskan garis rata dan mempunyai ketinggalan yang boleh menapis sebahagian daripada bunyi bising.

  • Menggunakan Cloudband untuk menilai ketara trend yang kuat dan lemah untuk mencapai entries dan exits yang lebih baik.

  • Tidak perlu mengoptimumkan parameter, menggunakan parameter standard Ichimoku.

Analisis risiko

  • Prinsip Ichimoku lebih rumit, tidak sensitif terhadap penyesuaian parameter, dan tidak mudah dioptimumkan.

  • Di dalam pasaran, mungkin terdapat beberapa isyarat yang salah.

  • Strategi gagal berlaku apabila trend jangka pendek dan jangka menengah berlainan.

  • Ia mesti digabungkan dengan stop loss untuk mengawal risiko, jika tidak, ia boleh menyebabkan kerugian yang lebih besar.

Arah pengoptimuman

  • Kombinasi parameter yang berbeza dari garis penukaran dan garis asas boleh diuji untuk mencari titik keseimbangan terbaik.

  • Bersama-sama dengan petunjuk lain menapis isyarat masuk ke dalam permainan untuk mengelakkan perkhemahan dalam keadaan yang jelas tidak baik.

  • Tambah strategi hentikan kerugian, set hentikan dinamik atau hentikan kerugian.

  • Mengoptimumkan pengurusan kedudukan, menyesuaikan saiz kedudukan mengikut keadaan pasaran.

  • Tambahan yuran urus niaga dalam penilaian semula menjadikan keputusan penilaian semula lebih tepat.

ringkaskan

Strategi Ichimoku Cloud Belt Reversal secara keseluruhan adalah strategi trend sederhana. Ia dapat mengenal pasti titik perubahan trend dengan berkesan dan membuka kedudukan yang sesuai dengan arah trend. Tetapi strategi ini juga mempunyai kos pemantauan tertentu, dan mesti disertakan dengan langkah-langkah pengurusan risiko yang ketat untuk digunakan dalam jangka panjang. Dengan terus mengoptimumkan parameter, penapis masuk, dan cara menghentikan kerugian, anda dapat terus meningkatkan kestabilan dan keuntungan strategi ini.

Kod sumber strategi
/*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)