Kolaborasi RSI dan AO dalam strategi perdagangan kuantitatif pelacakan tren

RSI AO TP SL
Tanggal Pembuatan: 2024-11-12 16:05:28 Akhirnya memodifikasi: 2024-11-12 16:05:28
menyalin: 1 Jumlah klik: 495
1
fokus pada
1617
Pengikut

Kolaborasi RSI dan AO dalam strategi perdagangan kuantitatif pelacakan tren

Ringkasan

Strategi ini adalah strategi perdagangan kuantitatif yang didasarkan pada sinergi antara indikator relatif kuat lemah (RSI) dan osilator dinamis (AO). Strategi ini terutama mengidentifikasi peluang perdagangan potensial dengan menangkap sinyal kombinasi RSI yang menembus level 50 dan AO yang berada di zona negatif. Strategi ini menggunakan mekanisme stop loss persentase untuk mengelola risiko dan secara default menggunakan 10% dari dana akun untuk perdagangan.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada kolaborasi antara dua indikator teknis:

  1. Indikator RSI: Indikator RSI menggunakan 14 siklus untuk memantau pergerakan harga, yang dianggap sebagai kekuatan bullish saat RSI menembus 50 di tengah sumbu.
  2. Indikator AO: Menghitung pergerakan harga dengan membandingkan 5 siklus dan 34 siklus dengan rata-rata bergerak, menunjukkan bahwa pasar berada di zona oversold ketika AO negatif.
  3. Kondisi masuk: Posisi terbuka lebih besar ketika RSI menembus 50 dan AO negatif, yang berarti bahwa harga telah menangkap sinyal reversal di zona oversold.
  4. Kondisi Keluar: Menggunakan 2% Stop Loss dan 1% Stop Loss untuk memastikan bahwa setiap perdagangan memiliki rasio risiko / keuntungan yang wajar.

Keunggulan Strategis

  1. Keandalan sinyal yang tinggi: dengan dua kali konfirmasi RSI dan AO, meningkatkan keandalan sinyal perdagangan.
  2. Pengendalian risiko yang sempurna: Stop loss dengan persentase tetap, yang secara efektif mengontrol risiko setiap transaksi.
  3. Ilmu pengelolaan dana: Menggunakan proporsi tetap dari dana akun untuk melakukan perdagangan, menghindari kelebihan leverage.
  4. Logika jelas dan sederhana: aturan strategi intuitif dan mudah dipahami dan diterapkan.
  5. Efek visualisasi yang baik: berbagai jenis sinyal ditandai dengan jelas di grafik untuk memudahkan pedagang untuk mengidentifikasi dan mengkonfirmasi.

Risiko Strategis

  1. Risiko False Breakout: RSI 50 mungkin terjadi false breakout, perlu dikonfirmasi dengan indikator teknis lainnya.
  2. Stop loss terlalu kecil: Stop loss sebesar 1% mungkin terlalu kecil dan mudah terkena fluktuasi pasar.
  3. Pembatasan perdagangan satu arah: Strategi hanya melakukan lebih banyak dan tidak mengambil posisi kosong, yang dapat kehilangan peluang pasar kosong.
  4. Efek slippage: Anda mungkin menghadapi risiko slippage yang lebih besar ketika pasar bergejolak.
  5. Sensitivitas parameter: Efek strategi dipengaruhi oleh pengaturan parameter RSI dan AO.

Arah optimasi strategi

  1. Filter sinyal: Disarankan untuk menambahkan mekanisme konfirmasi volume transaksi untuk meningkatkan keandalan sinyal.
  2. Stop loss dinamis: Stop loss tetap dapat diubah menjadi stop loss tracking untuk lebih melindungi keuntungan.
  3. Optimasi Parameter: Rekomendasi untuk mengoptimalkan siklus RSI dan parameter AO untuk retrospeksi sejarah.
  4. Pemfilteran pasar: Menambahkan penilaian tren pasar, hanya membuka perdagangan ketika tren besar naik.
  5. Manajemen Posisi: Rasio buka posisi dapat disesuaikan secara dinamis dengan intensitas sinyal.

Meringkaskan

Ini adalah strategi pelacakan tren yang menggabungkan RSI dan indikator AO untuk melakukan perdagangan lebih banyak dengan menangkap sinyal reversal di area oversold. Strategi ini dirancang dengan baik, risiko dikendalikan, tetapi masih ada ruang untuk pengoptimalan.

Kode Sumber Strategi
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="🐂 BUY Only - RSI Crossing 50 + AO Negative", shorttitle="🐂 AO<0 RSI+50 Strategy", overlay=true)

// -----------------------------
// --- User Inputs ---
// -----------------------------

// RSI Settings
rsiPeriod = input.int(title="RSI Period", defval=14, minval=1)

// AO Settings
aoShortPeriod = input.int(title="AO Short Period", defval=5, minval=1)
aoLongPeriod = input.int(title="AO Long Period", defval=34, minval=1)

// Strategy Settings
takeProfitPerc = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1)
stopLossPerc = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1)

// -----------------------------
// --- Awesome Oscillator (AO) Calculation ---
// -----------------------------

// Calculate the Awesome Oscillator
ao = ta.sma(hl2, aoShortPeriod) - ta.sma(hl2, aoLongPeriod)

// Detect AO Crossing Zero
aoCrossOverZero = ta.crossover(ao, 0)
aoCrossUnderZero = ta.crossunder(ao, 0)

// -----------------------------
// --- Relative Strength Index (RSI) Calculation ---
// -----------------------------

// Calculate RSI
rsiValue = ta.rsi(close, rsiPeriod)

// Detect RSI Crossing 50
rsiCrossOver50 = ta.crossover(rsiValue, 50)
rsiCrossUnder50 = ta.crossunder(rsiValue, 50)

// -----------------------------
// --- Plotting Arrows and Labels ---
// -----------------------------

// Plot AO Cross Over Arrow (AO+)
plotshape(series=aoCrossOverZero,
          location=location.belowbar,
          color=color.green,
          style=shape.labelup,
          title="AO Crosses Above Zero",
          text="AO+",
          textcolor=color.white,
          size=size.small)

// Plot AO Cross Under Arrow (AO-)
plotshape(series=aoCrossUnderZero,
          location=location.abovebar,
          color=color.red,
          style=shape.labeldown,
          title="AO Crosses Below Zero",
          text="AO-",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Over Arrow (RSI Up)
plotshape(series=rsiCrossOver50,
          location=location.belowbar,
          color=color.blue,
          style=shape.labelup,
          title="RSI Crosses Above 50",
          text="RSI Up",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Under Arrow (RSI Down)
plotshape(series=rsiCrossUnder50,
          location=location.abovebar,
          color=color.orange,
          style=shape.labeldown,
          title="RSI Crosses Below 50",
          text="RSI Down",
          textcolor=color.white,
          size=size.small)

// -----------------------------
// --- Buy Signal Condition ---
// -----------------------------

// Define Buy Signal: AO is negative and previous bar's RSI > 50
buySignal = (ao < 0) and (rsiValue[1] > 50)

// Plot Buy Signal
plotshape(series=buySignal,
          location=location.belowbar,
          color=color.lime,
          style=shape.triangleup,
          title="Buy Signal",
          text="BUY",
          textcolor=color.black,
          size=size.small)

// -----------------------------
// --- Strategy Execution ---
// -----------------------------

// Entry Condition
if buySignal
    strategy.entry("Long", strategy.long)

// Exit Conditions
// Calculate Stop Loss and Take Profit Prices
if strategy.position_size > 0
    // Entry price
    entryPrice = strategy.position_avg_price

    // Stop Loss and Take Profit Levels
    stopLevel = entryPrice * (1 - stopLossPerc / 100)
    takeProfitLevel = entryPrice * (1 + takeProfitPerc / 100)

    // Submit Stop Loss and Take Profit Orders
    strategy.exit("Exit Long", from_entry="Long", stop=stopLevel, limit=takeProfitLevel)