Sistem Optimasi Strategi Super Trend dan RSI Siklus Waktu Ganda

RSI ATR
Tanggal Pembuatan: 2024-11-25 17:27:21 Akhirnya memodifikasi: 2024-11-25 17:27:21
menyalin: 0 Jumlah klik: 464
1
fokus pada
1617
Pengikut

Sistem Optimasi Strategi Super Trend dan RSI Siklus Waktu Ganda

Ringkasan

Strategi ini adalah sistem perdagangan dua periode waktu yang didasarkan pada indikator SuperTrend dan indikator RSI. Ini menggabungkan indikator analisis teknis dengan dua periode waktu 120 menit dan 15 menit, menangkap arah tren jangka menengah melalui indikator SuperTrend, dan menghasilkan keuntungan dengan indikator RSI.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada beberapa elemen utama:

  1. Menggunakan indikator SuperTrend dengan siklus 120 menit sebagai alat penilaian tren utama, yang didasarkan pada siklus ATR 14, dengan faktor set 3.42
  2. Sinyal perdagangan ditentukan oleh persimpangan harga dengan garis SuperTrend, penembusan ke atas menghasilkan sinyal do-plus, penembusan ke bawah menghasilkan sinyal do-blank
  3. Menggunakan indikator RSI dengan siklus 15 menit sebagai alat bantu, RSI dengan siklus 5 digunakan untuk menilai apakah pasar terlalu panas atau terlalu dingin
  4. Tutup posisi teratas saat RSI mencapai zona overbought (<= 95) dan tutup posisi kosong saat RSI mencapai zona oversold (<= 5)
  5. Setting 30% stop loss percentage, dibandingkan dengan harga rata-rata saat membuka posisi

Keunggulan Strategis

  1. Kombinasi siklus waktu ganda meningkatkan keandalan sinyal dan mengurangi dampak sinyal palsu
  2. Parameter yang dioptimalkan untuk indikator SuperTrend adalah moderat, yang menjamin sensitivitas terhadap tren dan menghindari perdagangan yang sering disebabkan oleh sensitivitas yang berlebihan.
  3. RSI memiliki setelan ekstrem yang sangat ketat ((5 dan 95)), yang memastikan bahwa hanya dalam situasi ekstrem yang dapat memicu posisi kosong, untuk menghindari keluar prematur
  4. Pengelolaan dana menggunakan persentase tetap dari nilai bersih akun (<35%) yang mengontrol risiko secara efektif sambil menjamin ruang pendapatan
  5. Sebelum membuka posisi baru, posisi reverse akan dihapus secara otomatis untuk menghindari risiko memegang posisi kosong yang berlebihan

Risiko Strategis

  1. Strategi siklus waktu ganda dapat menimbulkan efek lag di pasar yang bergoyang, perlu diperhatikan untuk mengendalikan penarikan balik
  2. Penetapan nilai RSI yang terlalu ketat dapat menyebabkan kehilangan beberapa peluang untuk mendapatkan keuntungan
  3. 30% memiliki pengaturan stop-loss yang lebih agresif, yang dapat menghasilkan keuntungan prematur di pasar yang lebih bergejolak
  4. Strategi tidak memiliki kondisi stop loss dan dapat menanggung kerugian besar jika tren tiba-tiba berbalik
  5. Posisi 35% relatif agresif, berisiko tinggi saat pasar bergejolak

Arah optimasi strategi

  1. Disarankan untuk menambahkan mekanisme stop loss dinamis, dan dapat mempertimbangkan stop loss tracking berbasis ATR
  2. RSI overbought oversold thresholds dapat dilonggarkan dengan tepat, disarankan untuk disesuaikan menjadi 10 dan 90, meningkatkan fleksibilitas strategi
  3. Indikator volume transaksi dapat ditambahkan sebagai konfirmasi tambahan untuk meningkatkan keandalan sinyal
  4. Pertimbangkan untuk menyesuaikan rasio posisi secara dinamis sesuai dengan fluktuasi pasar, menggunakan ATR atau indikator volatilitas
  5. Saran untuk menambahkan filter kekuatan tren, seperti indikator DMI atau ADX, untuk memfilter tren lemah

Meringkaskan

Ini adalah strategi pelacakan tren yang terstruktur, logis dan jelas. Dengan menggabungkan indikator teknis dari berbagai periode waktu, Anda dapat mengontrol risiko sambil memahami tren. Meskipun masih ada ruang untuk dioptimalkan, konsep desain keseluruhan sesuai dengan prinsip dasar perdagangan kuantitatif.

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"}]
*/

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

//@version=5
strategy("Supertrend Strategy", overlay=true)

// Function for Supertrend
supertrend(_factor, _atrPeriod) =>
    [out, _] = ta.supertrend(_factor, _atrPeriod)
    out

// Supertrend Settings
factor = input.float(3.42, title="Supertrend Factor")
atrPeriod = input.int(14, title="ATR Period")
tf2 = input.timeframe("120", title="Supertrend Timeframe")

// RSI Settings
rsi_tf = input.timeframe("15", title="RSI Timeframe")
rsiLength = input.int(5, title="RSI Length")
rsiUpper = input.int(95, title="RSI Upper Limit")  
rsiLower = input.int(5, title="RSI Lower Limit")   

// RSI Timeframe
rsi_tf_value = request.security(syminfo.tickerid, rsi_tf, ta.rsi(close, rsiLength), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Supertrend Timeframe
supertrend_tf2 = request.security(syminfo.tickerid, tf2, supertrend(factor, atrPeriod), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Take Profit Settings (Percentage in relation to the average price)
takeProfitPercent = input.float(30, title="Take Profit", step=0.1) / 100

// Entry conditions based on price crossover with Supertrend Timeframe
longCondition = ta.crossover(close, supertrend_tf2) and barstate.isconfirmed
shortCondition = ta.crossunder(close, supertrend_tf2) and barstate.isconfirmed

// Execution of reversal orders with closing of previous position
if (longCondition)
    // Close a short position before opening a long position
    if (strategy.position_size < 0)
        strategy.close("Short", comment="Close Short for Long Entry")
    strategy.entry("Long", strategy.long)

if (shortCondition)
    // Close long position before opening short position
    if (strategy.position_size > 0)
        strategy.close("Long", comment="Close Long for Short Entry")
    strategy.entry("Short", strategy.short)

// Calculate take profit levels relative to the average entry price
if (strategy.position_size > 0)
    takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
    strategy.exit("Take Profit Long", "Long", limit=takeProfitLong)

if (strategy.position_size > 0 and (rsi_tf_value >= rsiUpper))
    strategy.close("Long", comment="RSI Take Profit Long")

if (strategy.position_size < 0)
    takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
    strategy.exit("Take Profit Short", "Short", limit=takeProfitShort)

if (strategy.position_size < 0 and (rsi_tf_value <= rsiLower))
    strategy.close("Short", comment="RSI Take Profit Short")

// Plot Supertrend timeframe with commit check to avoid repainting
plot(barstate.isconfirmed ? supertrend_tf2 : na, color=color.blue, title="Supertrend Timeframe (120 min)", linewidth=1)

// Plot RSI for visualization
plot(rsi_tf_value, "RSI", color=color.purple)
hline(rsiUpper, "RSI Upper", color=color.red)
hline(rsiLower, "RSI Lower", color=color.green)