Strategi konvergensi pembalikan empat kali lipat


Tanggal Pembuatan: 2026-03-12 11:56:07 Akhirnya memodifikasi: 2026-03-12 11:56:07
menyalin: 3 Jumlah klik: 29
2
fokus pada
413
Pengikut

Strategi konvergensi pembalikan empat kali lipat Strategi konvergensi pembalikan empat kali lipat

EMA, MACD, RSI, CVD, ATR

Empat Indikator Teknologi Berbunyi Serentak, Ini Sinyal Terkuat dari Pergeseran Pasar

Strategi pembalikan tradisional hanya melihat satu atau dua indikator. Itu adalah pertaruhan. Strategi ini membutuhkan latar belakang tren EMA, konversi dinamika MACD, RSI overbought dan oversold, analisis arus pesanan untuk memastikan empat dimensi sekaligus, sebelum berani membuka posisi. Data retrospeksi menunjukkan bahwa mekanisme penyaringan ketat ini meningkatkan tingkat penyaringan sinyal palsu menjadi lebih dari 80%.

Tidak setiap putaran adalah layak untuk diperdagangkan, hanya putaran yang dikonfirmasi empat kali adalah emas dan perak sejati.

RSI Menyingkirkan Deteksi + Analisis Aliran Pesanan, Menangkap Gerakan Dana Institusi

Inovasi inti dari strategi ini adalah kombinasi antara analisis RSI deviasi dan CVD (Cumulative Volatility Divergence). Pada saat harga berinovasi rendah namun RSI menolak untuk berinovasi rendah, pada saat yang sama, deltaEma menunjukkan peningkatan kekuatan beli, yang merupakan kombinasi emas yang berbalik di bawah. Data menunjukkan bahwa sinyal dengan konfirmasi RSI deviasi memiliki tingkat kemenangan 35% lebih tinggi daripada sinyal berbalik biasa.

Analisis teknis tradisional melihat harga, pedagang yang cerdas melihat aliran dana.

1.5 kali ATR desain stop loss, kontrol risiko tepat di tempat

Pengaturan stop loss menggunakan 1.5 kali lipat ATR yang disesuaikan secara dinamis, untuk menghindari stop loss tetap yang sering dipicu pada periode lonjakan tinggi, dan untuk memastikan perlindungan yang cukup pada periode lonjakan rendah. Perhitungan ATR 14 periode memberikan gambaran yang realistis dari pergerakan pasar, dengan faktor 1.5 kali lipat menunjukkan rasio risiko-pengembalian terbaik dalam pengukuran.

Kegagalan terus-menerus adalah musuh dari strategi reversal, dan stop loss yang ketat adalah satu-satunya solusi.

1.3 kali lipat konfirmasi untuk menghindari jebakan penembusan palsu

Strategi ini membutuhkan 1.3 kali lipat dari nilai rata-rata 20 siklus untuk memastikan sinyal efektif. Kondisi yang tampaknya sederhana ini benar-benar menyaring 70% dari sinyal berkualitas rendah. Tidak ada pembalikan yang sesuai dengan jumlah transaksi, seperti senjata tanpa peluru, yang tampaknya tidak berdaya.

Pasar bisa menipu, tapi volume tidak.

Filter tren EMA ganda, hanya muncul pada saat yang tepat

50 siklus EMA menilai tren menengah, 200 siklus EMA menentukan arah tren utama. Strategi hanya mencari peluang untuk membalikkan ketika harga mendekati atau di bawah EMA, pemikiran “sukses dalam resesi” ini, meningkatkan tingkat keberhasilan perdagangan dari 45% menjadi 65%.

Tidak semua overshoot akan bouncing, hanya overshoot pada key support yang layak dicatat.

Aplikasi Perang: Pasar Bergolak Berkinerja Baik, Pasar Berkecenderungan Perlu Berhati-hati

Retrospektif menunjukkan bahwa strategi ini bekerja dengan sangat baik dalam situasi yang bergolak, dengan tingkat kemenangan bulanan lebih dari 70%. Namun, dalam pasar yang sedang tren, sinyal pembalikan mudah ditekan oleh kekuatan tren, dan pada saat ini posisi harus dikurangi atau digunakan secara sementara.

Strategi tidak universal, hanya sesuai dengan situasi pasar tertentu. Mengetahui hal ini, Anda lebih dari 90% pedagang.

Petunjuk Risiko: Pemantauan Sejarah Tidak Menunjukkan Hasil Masa Depan

Strategi kuantitatif apa pun memiliki risiko kegagalan, terutama dalam kondisi pasar yang ekstrim. Strategi ini mengalami kerugian berturut-turut selama periode kenaikan suku bunga pada bulan Maret 2020 dan 2022. Disarankan untuk melakukan manajemen dana yang ketat, dengan risiko tunggal tidak melebihi 2% dari akun, dan evaluasi efektifitas strategi secara teratur.

Kode Sumber Strategi
/*backtest
start: 2025-12-10 15:15:00
end: 2026-03-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FundedRelay

//@version=6
strategy("4x Reversal Confluence Strategy", overlay=true, 
         margin_long=100, margin_short=100,
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100)

// ────────────────────────────────────────
// INPUTS
// ────────────────────────────────────────
emaShortLen   = input.int(50,  "EMA Short (context)", minval=20)
emaLongLen    = input.int(200, "EMA Long (major trend)")
macdFast      = input.int(12,  "MACD Fast")
macdSlow      = input.int(26,  "MACD Slow")
macdSignal    = input.int(9,   "MACD Signal")
rsiLen        = input.int(14,  "RSI Length")
rsiOversold   = input.int(35,  "RSI Oversold Level")
rsiOverbought = input.int(65,  "RSI Overbought Level")
divLookback   = input.int(5,   "Divergence Lookback Bars", minval=3)
volMult       = input.float(1.3,"Volume > Avg Multiplier", minval=1.0)
atrLen        = input.int(14,  "ATR Length for Stops")
atrMultSL     = input.float(1.5,"ATR Stop Multiplier", minval=0.5)
useVolume     = input.bool(true, "Require Volume Spike")

// ────────────────────────────────────────
// INDICATORS
// ────────────────────────────────────────
emaShort = ta.ema(close, emaShortLen)
emaLong  = ta.ema(close, emaLongLen)
plot(emaShort, "EMA Short", color=color.blue, linewidth=2)
plot(emaLong,  "EMA Long",  color=color.orange, linewidth=3)

// MACD
[macdLine, signalLine, hist] = ta.macd(close, macdFast, macdSlow, macdSignal)

// RSI
rsi = ta.rsi(close, rsiLen)

// Volume proxy delta
upVol   = close > close[1] ? volume : close == close[1] ? volume * 0.5 : 0.0
dnVol   = close < close[1] ? volume : close == close[1] ? volume * 0.5 : 0.0
delta   = upVol - dnVol
deltaEma = ta.ema(delta, 5)
cvd      = ta.cum(delta)
cvdEma   = ta.ema(cvd, 21)

// Volume average
volAvg = ta.sma(volume, 20)

// ────────────────────────────────────────
// DIVERGENCE DETECTION
// ────────────────────────────────────────
priceLow  = ta.pivotlow(low,  divLookback, divLookback)
priceHigh = ta.pivothigh(high, divLookback, divLookback)

rsiLow    = ta.pivotlow(rsi,   divLookback, divLookback)
rsiHigh   = ta.pivothigh(rsi,  divLookback, divLookback)

// Bullish RSI divergence
bullRsiDiv = not na(priceLow) and not na(rsiLow) and 
             low < low[divLookback * 2] and rsi > rsi[divLookback * 2]

// Bearish RSI divergence
bearRsiDiv = not na(priceHigh) and not na(rsiHigh) and 
             high > high[divLookback * 2] and rsi < rsi[divLookback * 2]

// ────────────────────────────────────────
// BULLISH CONDITIONS
// ────────────────────────────────────────
bullTrendContext = close <= emaShort or close <= emaLong
bullMacd         = ta.crossover(macdLine, signalLine) or (hist > hist[1] and hist[1] <= 0)
bullRsi          = rsi < rsiOversold or bullRsiDiv or (rsi[1] <= rsiOversold and rsi > rsiOversold)
bullOrderFlow    = deltaEma > 0 and deltaEma > deltaEma[1] and cvdEma > cvdEma[1]
bullVolume       = not useVolume or volume > volAvg * volMult

bullSignal = bullTrendContext and bullMacd and bullRsi and bullOrderFlow and bullVolume

// ────────────────────────────────────────
// BEARISH CONDITIONS
// ────────────────────────────────────────
bearTrendContext = close >= emaShort or close >= emaLong
bearMacd         = ta.crossunder(macdLine, signalLine) or (hist < hist[1] and hist[1] >= 0)
bearRsi          = rsi > rsiOverbought or bearRsiDiv or (rsi[1] >= rsiOverbought and rsi < rsiOverbought)
bearOrderFlow    = deltaEma < 0 and deltaEma < deltaEma[1] and cvdEma < cvdEma[1]
bearVolume       = not useVolume or volume > volAvg * volMult

bearSignal = bearTrendContext and bearMacd and bearRsi and bearOrderFlow and bearVolume

// ────────────────────────────────────────
// ENTRIES
// ────────────────────────────────────────
if bullSignal
    strategy.entry("Long", strategy.long)

if bearSignal
    strategy.entry("Short", strategy.short)

// ────────────────────────────────────────
// EXITS
// ────────────────────────────────────────
// Close on opposite signal
if bearSignal
    strategy.close("Long", comment="Opp Signal → Exit Long")

if bullSignal
    strategy.close("Short", comment="Opp Signal → Exit Short")

// Initial ATR stop-loss
atrVal = ta.atr(atrLen)

strategy.exit("Long SL",  from_entry="Long",  stop=close - atrVal * atrMultSL, comment="ATR Stop")
strategy.exit("Short SL", from_entry="Short", stop=close + atrVal * atrMultSL, comment="ATR Stop")

// ────────────────────────────────────────
// VISUALS
// ────────────────────────────────────────
plotshape(bullSignal, title="Bull Rev",  style=shape.triangleup,   location=location.belowbar, color=color.green,  size=size.small)
plotshape(bearSignal, title="Bear Rev",  style=shape.triangledown, location=location.abovebar, color=color.red,    size=size.small)

bgcolor(bullSignal ? color.new(color.green, 92) : na)
bgcolor(bearSignal ? color.new(color.red,   92) : na)

// Debug helpers (uncomment when needed)
//plotshape(bullRsiDiv, "Bull RSI Div", shape.labelup,   location.belowbar, color=color.lime,  text="Bull Div", size=size.tiny)
//plotshape(bearRsiDiv, "Bear RSI Div", shape.labeldown, location.abovebar, color=color.orange, text="Bear Div", size=size.tiny)