Strategi pembalikan arah aliran berdasarkan Renko Average True Range


Tarikh penciptaan: 2024-02-01 14:30:24 Akhirnya diubah suai: 2024-02-01 14:30:24
Salin: 0 Bilangan klik: 1467
1
fokus pada
1617
Pengikut

Strategi pembalikan arah aliran berdasarkan Renko Average True Range

Gambaran keseluruhan

Strategi Pembalikan Trend ATR (Renko ATR Trend Reversal Strategy) adalah strategi perdagangan yang unik yang bertujuan untuk menggunakan carta Renko dalam kombinasi dengan rata-rata gelombang sebenar (ATR) untuk mengenal pasti titik pembalikan trend di pasaran kewangan. Strategi ini menghilangkan masalah pencatatan lag pada carta Renko dan dapat menangkap titik pembalikan dengan tepat, memberikan isyarat yang jelas untuk keputusan perdagangan.

Prinsip Strategi

Penciptaan blok Renko

Strategi ini mula mengira nilai ATR dalam tempoh tertentu dan menetapkan saiz blok Renko sebagai ATR sebagai asas. Apabila harga bergerak lebih dari satu ATR, blok Renko baru digambar. Dengan cara ini, Renko dapat menyesuaikan diri dengan kadar turun naik pasaran secara automatik, menetapkan saiz blok yang lebih besar pada turun naik tinggi dan saiz blok yang lebih kecil pada turun naik rendah.

Pembelian dan penjanaan isyarat jualan

Apabila Renko membuka harga setapak di bawah harga setapak, ia menghasilkan isyarat beli; apabila Renko membuka harga setapak di atas harga setapak, ia menghasilkan isyarat jual. Isyarat-isyarat ini menandakan titik perubahan trend yang berpotensi.

Tetapan Henti dan Henti

Strategi ini akan menetapkan harga hentian dan harga hentian untuk setiap dagangan dengan harga pembukaan Renko sebagai harga rujukan dinamik berdasarkan peratusan hentian dan peratusan hentian yang ditakrifkan oleh pengguna, mengawal risiko dan keuntungan setiap perdagangan.

Analisis kelebihan

Menghapuskan penggambaran ketinggalan

Strategi ini menghapuskan masalah penggambaran lag dengan mengira harga pembukaan dan penutupan Renko secara manual, menjadikan penjanaan isyarat lebih tepat dan tepat pada masanya.

Beradaptasi secara automatik terhadap turun naik pasaran

Tetapan saiz blok Renko berdasarkan petunjuk ATR membolehkan strategi menyesuaikan diri secara automatik dengan kadar turun naik harga dalam keadaan pasaran yang berbeza.

Tetapan stop loss dinamik

Strategi ini menetapkan mekanisme hentian dan hentian yang dinamik untuk setiap perdagangan, yang dapat mengawal risiko mengikut tahap turun naik pasaran.

Pemandangan carta ringkas

Grafik Renko itu sendiri dapat menghapuskan kebisingan pasaran dan memberikan kesan visual yang jelas dan ringkas untuk mengenal pasti perubahan trend.

Analisis risiko

Risiko Pengoptimuman Parameter

Pengguna perlu mengoptimumkan parameter seperti kitaran ATR, peratusan stop loss dan peratusan stop loss untuk menyesuaikan diri dengan keadaan pasaran yang berbeza. Jika parameter tidak ditetapkan dengan betul, ia akan menyebabkan kesan strategi yang tidak baik.

Risiko Kejadian Tiba-tiba

Kejadian ekonomi besar atau penubuhan dasar boleh menyebabkan kenaikan harga yang cepat, yang menyebabkan paras penangguhan atau penangguhan ditembusi, menyebabkan kerugian yang lebih besar.

Risiko Kegagalan

Dalam beberapa kes, isyarat perdagangan yang menentukan pembalikan mungkin gagal dan tidak dapat mendorong harga ke arah pembalikan, yang menyebabkan kerugian.

Arah pengoptimuman

Menggabungkan pelbagai tempoh masa

Anda boleh menilai trend besar pada jangka masa yang lebih tinggi, dan mengelakkan perdagangan berlawanan. Anda juga boleh menyaring isyarat palsu pada jangka masa yang lebih rendah.

Bersama-sama dengan petunjuk lain

Penggunaan bersama-sama dengan penunjuk dinamik, penunjuk kadar lonjakan, dan lain-lain, dapat meningkatkan kualiti isyarat dan mengelakkan isyarat yang salah.

Dinamika penyesuaian nisbah hentian

Peratusan penangguhan boleh disesuaikan secara dinamik mengikut tahap turun naik pasaran dan jarak harga terkini dari titik masuk.

ringkaskan

Strategi pembalikan trend berdasarkan rentang gelombang sebenar rata-rata Renko berjaya menggunakan carta Renko yang digabungkan dengan penunjuk ATR untuk mengenal pasti titik-titik perubahan secara automatik di pasaran kewangan. Strategi ini mempunyai kelebihan seperti penghapusan penggambaran belakangan, penyesuaian automatik terhadap kadar turun naik pasaran, dan penutupan berhenti yang dinamik.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='[tradinghook] - Renko Trend Reversal Strategy', shorttitle='[tradinghook] - Renko TRS', overlay=true ,initial_capital = 100, commission_value = 0.05, default_qty_value = 5)

// INPUTS
renkoATRLength = input.int(10, minval=1, title='ATR Length')
stopLossPct = input.float(3, title='Stop Loss Percentage', step=0.1)
takeProfitPct = input.float(20, title='Take Profit Percentage', step=0.1)
startDate = input(timestamp("01 July 2023 00:00"), title="Start Date")
endDate = input(timestamp("31 Dec 2025 23:59"), title="End Date")
enableShorts = input.bool(true, title="Enable Shorts")

var float stopLossPrice = na
var float takeProfitPrice = na

atr = ta.atr(renkoATRLength)

// thanks to https://www.tradingview.com/script/2vKhpfVH-Renko-XZ/ for manually calculating renkoClose and renkoOpen in order to remove repaint
getRenkoClose() =>
    p1 = 0.0
    p1 := close > nz(p1[1]) + atr ? nz(p1[1]) + atr : close < nz(p1[1]) - atr ? nz(p1[1]) - atr : nz(p1[1])
    p1

Renko3() =>
    p3 = 0.0
    p3 := open > nz(p3[1]) + atr ? nz(p3[1]) + atr : open < nz(p3[1]) - atr ? nz(p3[1]) - atr : nz(p3[1])
    p3

getRenkoOpen() =>
    open_v = 0.0
    Br_2 = Renko3()
    open_v := Renko3() != Renko3()[1] ? Br_2[1] : nz(open_v[1])
    open_v

renkoOpen = getRenkoOpen()
renkoClose = getRenkoClose()

// COLORS
colorGreen = #089981
colorRed = #F23645
bgTransparency = 95
bgColorRed = color.new(colorRed, bgTransparency)
bgColorGreen = color.new(colorGreen, bgTransparency)
lineColor = renkoClose < renkoOpen ?  colorRed : colorGreen 
bgColor = renkoClose < renkoOpen ?  bgColorRed : bgColorGreen 

// PLOTS
plot(renkoOpen, title="Renko Open", style=plot.style_line, linewidth=2, color=lineColor)
bgcolor(bgColor)

// SIGNALS
isWithinTimeRange = true
buySignal = ta.crossunder(renkoOpen, renkoClose) and isWithinTimeRange
sellSignal = ta.crossover(renkoOpen, renkoClose) and isWithinTimeRange and enableShorts

if (buySignal)
    stopLossPrice := renkoOpen * (1 - stopLossPct / 100)
    takeProfitPrice := renkoOpen * (1 + takeProfitPct / 100)
    strategy.entry("Long", strategy.long)
    strategy.exit("ExitLong", "Long", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice))
if (sellSignal)
    stopLossPrice := renkoOpen * (1 + stopLossPct / 100)
    takeProfitPrice := renkoOpen * (1 - takeProfitPct / 100)
    strategy.entry("Short", strategy.short)
    strategy.exit("ExitShort", "Short", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice))