
Strategi Reversal Tren ATR adalah strategi perdagangan unik yang bertujuan untuk mengidentifikasi titik balik tren di pasar keuangan dengan menggunakan grafik Renko yang digabungkan dengan indikator ATR. Strategi ini menghilangkan masalah pencitraan lag dari grafik Renko dan mampu menangkap titik balik dengan akurat dan memberikan sinyal yang jelas untuk keputusan perdagangan.
Strategi ini pertama-tama menghitung nilai ATR dalam periode tertentu dan menetapkan ukuran blok Renko dengan ATR ini sebagai basis. Blok Renko baru digambar ketika harga bergerak lebih dari satu ATR. Dengan cara ini, Renko dapat secara otomatis menyesuaikan diri dengan tingkat fluktuasi pasar, mengatur ukuran blok yang lebih besar pada saat fluktuasi tinggi, dan ukuran blok yang lebih kecil pada saat fluktuasi rendah.
Ketika Renko membuka harga di bawah harga penutupan, menghasilkan sinyal beli; Ketika Renko membuka harga di atas harga penutupan, menghasilkan sinyal jual. Sinyal-sinyal ini menandai titik balik tren potensial.
Strategi ini secara dinamis mengatur harga stop loss dan harga stop loss untuk setiap transaksi berdasarkan persentase stop loss dan persentase stop loss yang didefinisikan pengguna, dengan harga buka Renko sebagai harga acuan, dan mengontrol risiko dan keuntungan dari setiap transaksi.
Strategi ini menghilangkan masalah penargetan tertunda dengan menghitung secara manual harga pembukaan dan harga penutupan Renko, membuat sinyal lebih akurat dan tepat waktu.
Pengaturan ukuran blok Renko berdasarkan indikator ATR memungkinkan strategi untuk secara otomatis menyesuaikan tingkat fluktuasi harga dalam kondisi pasar yang berbeda.
Strategi ini menetapkan mekanisme stop loss dan stop loss yang dinamis untuk setiap transaksi, yang dapat mengendalikan risiko sesuai dengan tingkat fluktuasi pasar.
Grafik Renko itu sendiri dapat memfilter kebisingan pasar dan memberikan visual yang jelas dan ringkas ketika tren berbalik.
Pengguna perlu mengoptimalkan parameter seperti siklus ATR, persentase stop loss dan persentase stop loss untuk menyesuaikan dengan lingkungan pasar yang berbeda. Jika parameter tidak diatur dengan benar, itu akan menyebabkan efektivitas strategi yang buruk.
Peristiwa ekonomi besar atau munculnya kebijakan dapat menyebabkan kenaikan harga yang cepat, sehingga level stop loss atau stop loss dapat ditembus dan menyebabkan kerugian yang lebih besar.
Dalam beberapa kasus, sinyal perdagangan yang menentukan pembalikan mungkin gagal dan tidak dapat mendorong harga ke arah pembalikan, sehingga menyebabkan kerugian.
Anda dapat menilai tren besar pada periode waktu yang lebih tinggi dan menghindari perdagangan berlawanan. Anda juga dapat memfilter sinyal palsu pada periode waktu yang lebih rendah.
Penggunaan ini dalam kombinasi dengan indikator momentum, indikator tingkat fluktuasi, dan lain-lain dapat meningkatkan kualitas sinyal dan menghindari sinyal yang salah.
Rasio stop dapat disesuaikan secara dinamis dengan tingkat fluktuasi pasar dan jarak harga terbaru dari titik masuk.
Strategi reversal tren yang didasarkan pada rentang gelombang nyata rata-rata Renko berhasil menggunakan grafik Renko yang digabungkan dengan indikator ATR untuk mengidentifikasi titik balik di pasar keuangan secara otomatis. Strategi ini memiliki keuntungan seperti penghapusan pencitraan lag, adaptasi otomatis terhadap volatilitas pasar, dan stop loss dinamis.
/*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))