Strategi Pemecahan Pulangan Min RSI

RSI SMA ATR
Tarikh penciptaan: 2024-12-05 16:53:44 Akhirnya diubah suai: 2024-12-05 16:53:44
Salin: 0 Bilangan klik: 498
1
fokus pada
1617
Pengikut

Strategi Pemecahan Pulangan Min RSI

Gambaran Keseluruhan Strategi

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan RSI dan prinsip pulangan nilai rata-rata. Ia menangkap peluang pembalikan pasaran dengan mengenal pasti keadaan pasaran yang terlalu banyak dibeli dan dijual, digabungkan dengan julat turun naik harga dan kedudukan harga penutupan. Gagasan utama strategi ini adalah mencari peluang pulangan selepas keadaan pasaran yang melampau dan menguruskan risiko dengan menetapkan syarat masuk yang ketat dan hentian dinamik.

Prinsip Strategi

Strategi ini menggunakan mekanisme penapisan berganda untuk menentukan isyarat perdagangan: pertama memerlukan harga untuk membuat 10 kitaran rendah baru, yang menunjukkan bahawa pasaran berada dalam keadaan oversold; kedua memerlukan harga untuk turun naik pada hari itu hampir 10 hari perdagangan, yang menunjukkan peningkatan turun naik pasaran; dan terakhir untuk mengesahkan potensi pembalikan dengan menilai sama ada harga penutupan berada di suku atas harga hari itu.

Kelebihan Strategik

  1. Keadaan penapisan berganda meningkatkan kualiti isyarat dan mengurangkan isyarat palsu
  2. Menggabungkan pelbagai dimensi seperti bentuk harga, turun naik dan dinamik dalam analisis teknikal
  3. Menggunakan mekanisme tracking stop loss untuk melindungi keuntungan dengan berkesan
  4. Mekanisme kemasukan menggunakan pengesahan terobosan untuk mengelakkan campur tangan awal
  5. Logik urus niaga jelas, mudah difahami dan dilaksanakan

Risiko Strategik

  1. Mungkin sering mencetuskan stop loss dalam pasaran yang sedang trend kuat
  2. Syarat kemasukan lebih ketat, mungkin terlepas peluang perdagangan
  3. memerlukan frekuensi transaksi yang lebih tinggi, dan mungkin menyebabkan kos transaksi yang lebih tinggi
  4. Ia mungkin sukar untuk mencari isyarat dagangan yang berkesan dalam persekitaran turun naik yang rendah.
  5. Tetapan stop loss mungkin terlalu konservatif dan menjejaskan kadar pulangan keseluruhan

Arah pengoptimuman strategi

  1. Anda boleh memperkenalkan penapis trend untuk menghentikan dagangan dalam keadaan trend yang kuat
  2. Pertimbangkan untuk memasukkan penunjuk jumlah transaksi sebagai pengesahan tambahan
  3. Tetapan Stop Loss yang dioptimumkan, boleh disesuaikan dengan kadar turun naik pasaran yang dinamik
  4. Peningkatan had tempoh pegangan untuk mengelakkan pergerakan yang terlalu lama
  5. Pertimbangan untuk memasukkan analisis pelbagai kitaran untuk meningkatkan kebolehpercayaan isyarat

ringkaskan

Ini adalah strategi pulangan nilai rata-rata yang lengkap dan logik yang jelas. Melalui penapisan pelbagai syarat dan pengurusan stop loss yang dinamik, strategi ini dapat menangkap peluang rebound pasaran yang melampau dengan berkesan sambil mengawal risiko. Walaupun terdapat beberapa batasan, tetapi dengan pengoptimuman dan penyempurnaan yang munasabah, prestasi keseluruhan strategi masih mempunyai ruang untuk ditingkatkan.

Kod sumber strategi
/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Larry Conners SMTP Strategy", overlay=true, margin_long=100, margin_short=100)

// --- Inputs ---
// Corrected the input type declaration by removing 'type='
tickSize = input.float(0.01, title="Tick Size (e.g., 1/8 for stocks)")

// --- Calculate conditions ---
// 1. Today the market must make a 10-period low
low10 = ta.lowest(low, 10)
is10PeriodLow = low == low10

// 2. Today's range must be the largest of the past 10 bars
rangeToday = high - low
maxRange10 = ta.highest(high - low, 10)
isLargestRange = rangeToday == maxRange10

// 3. Today's close must be in the top 25 percent of today's range
rangePercent = (close - low) / rangeToday
isCloseInTop25 = rangePercent >= 0.75

// Combine all buy conditions
buyCondition = is10PeriodLow and isLargestRange and isCloseInTop25

// --- Buy Entry (on the next day) ---
var float buyPrice = na
var bool orderPending = false
var float stopLoss = na  // Initialize stopLoss at the top level to avoid 'Undeclared identifier' errors

if (buyCondition and strategy.position_size == 0)
    buyPrice := high + tickSize
    stopLoss := low
    orderPending := true

// Condition to place buy order the next day or the day after
if orderPending and ta.barssince(buyCondition) <= 2
    strategy.entry("Buy", strategy.long, stop=buyPrice)
    orderPending := false

// --- Stop-Loss and Trailing Stop ---
if (strategy.position_size > 0)
    stopLoss := math.max(stopLoss, low) // Move stop to higher lows (manual trailing)
    strategy.exit("Exit", from_entry="Buy", stop=stopLoss)

// --- Plotting ---
// Highlight buy conditions
bgcolor(buyCondition ? color.new(color.green, 50) : na)
//plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy Setup")

// Plot Stop-Loss level for visualization
//plot(strategy.position_size > 0 ? stopLoss : na, color=color.red, linewidth=2, title="Stop-Loss Level")