
Strategi ini terutama menggunakan harga tertinggi, harga terendah dan rata-rata bergerak indeks (EMA) untuk mengkonfirmasi pembalikan tren, sehingga menghasilkan sinyal perdagangan. Strategi ini pertama-tama menghitung harga tertinggi dan terendah dalam periode pengembalian yang ditentukan, dan kemudian menilai apakah harga penutupan saat ini lebih rendah dari harga terendah yang sesuai dengan harga tertinggi (konfirmasi pembalikan bearish) atau lebih tinggi dari harga terendah yang sesuai dengan harga tertinggi (konfirmasi pembalikan bullish).
Strategi pengembalian multi-frame waktu mengkonfirmasi strategi perdagangan dengan harga tertinggi, harga terendah dan EMA untuk mengidentifikasi peluang terbalik tren potensial, dan menghasilkan sinyal buka posisi yang sesuai. Keunggulan strategi ini adalah kemampuan untuk menangkap terbalik tren, tetapi juga ada masalah dengan perdagangan yang sering dan kontrol risiko yang kurang. Dengan memperkenalkan Stop Loss Stop, menggabungkan dengan indikator lain, optimasi parameter dan manajemen posisi, dan metode lainnya, kinerja dan stabilitas strategi dapat ditingkatkan lebih lanjut. Dalam aplikasi nyata, perlu menyesuaikan parameter strategi dan langkah-langkah kontrol risiko sesuai dengan jenis perdagangan dan lingkungan pasar tertentu.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Reversal Confimation Strategy", overlay=true)
// Indicator inputs
lookback = input.int(50, 'Lookback Period', minval=1, step=1)
downColor = input(color.red, 'Shape Color Down')
upColor = input(color.green, 'Shape Color Up')
// Indicator calculations
find_highest = ta.highest(high, lookback)
find_lowest = ta.lowest(low, lookback)
ema = ta.ema(close, lookback)
var dnRv = 0.0
var dnRv_trigger = false
var upRv = 0.0
var upRv_trigger = false
if high == find_highest
dnRv_trigger := false
if low == find_lowest
upRv_trigger := false
for i = 0 to lookback - 1
if high[i] == find_highest
dnRv := low[i]
for i = 0 to lookback - 1
if low[i] == find_lowest
upRv := high[i]
dnRv_signal = close < dnRv and dnRv_trigger == false
upRv_signal = close > upRv and upRv_trigger == false
if dnRv_signal
dnRv_trigger := true
if upRv_signal
upRv_trigger := true
// Entry and exit conditions
if dnRv_signal
strategy.entry("Sell", strategy.short)
if upRv_signal
strategy.entry("Buy", strategy.long)
// Plotting
plotshape(dnRv_signal ? 1 : 0, style=shape.triangledown, location=location.abovebar, color=downColor, size=size.small)
plotshape(upRv_signal ? 1 : 0, style=shape.triangleup, location=location.belowbar, color=upColor, size=size.small)