Sumber dimuat naik... memuat...

RSI Rating Rating Rating

Penulis:ChaoZhang, Tarikh: 2024-12-05 16:53:44
Tag:RSISMAATR

img

Ringkasan Strategi

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan kepada petunjuk RSI dan prinsip pembalikan purata. Ia mengenal pasti peluang pembalikan pasaran dengan mengesan keadaan overbought dan oversold, digabungkan dengan analisis julat harga dan kedudukan harga penutupan. Konsep terasnya adalah untuk menangkap peluang pembalikan purata selepas keadaan pasaran yang melampau, menguruskan risiko melalui kriteria kemasukan yang ketat dan mekanisme stop-loss dinamik.

Prinsip Strategi

Strategi ini menggunakan pelbagai mekanisme penapisan untuk menentukan isyarat dagangan: Pertama, harga mesti membuat tahap terendah 10 tempoh, menunjukkan keadaan pasaran yang terlalu banyak dijual; kedua, julat harga hari mesti menjadi yang terbesar dalam 10 hari dagangan yang lalu, menunjukkan peningkatan turun naik pasaran; akhirnya, ia mengesahkan isyarat pembalikan yang berpotensi dengan memeriksa sama ada harga penutupan berada di kuartil atas julat hari.

Kelebihan Strategi

  1. Keadaan penapisan berbilang meningkatkan kualiti isyarat dan mengurangkan isyarat palsu
  2. Mengintegrasikan pelbagai dimensi termasuk corak harga teknikal, turun naik, dan momentum
  3. Menggunakan mekanisme stop-loss untuk perlindungan keuntungan yang berkesan
  4. Mekanisme kemasukan menggunakan pengesahan keluar untuk mengelakkan kemasukan awal
  5. Logik perdagangan jelas, mudah difahami dan dilaksanakan

Risiko Strategi

  1. Boleh mencetuskan stop-loss yang kerap di pasaran trend yang kuat
  2. Syarat kemasukan yang ketat mungkin kehilangan beberapa peluang perdagangan
  3. Memerlukan kekerapan perdagangan yang lebih tinggi, yang berpotensi membawa kepada kos transaksi yang lebih tinggi
  4. Mungkin sukar untuk mencari isyarat perdagangan yang berkesan dalam persekitaran turun naik yang rendah
  5. Tetapan stop-loss mungkin terlalu konservatif, mempengaruhi pulangan keseluruhan

Arahan Pengoptimuman Strategi

  1. Boleh memperkenalkan penapis trend untuk menghentikan perdagangan dalam persekitaran trend yang kuat
  2. Pertimbangkan untuk menambah penunjuk jumlah untuk pengesahan tambahan
  3. Mengoptimumkan tetapan stop-loss dengan pelarasan dinamik berdasarkan turun naik pasaran
  4. Tambah had masa memegang kedudukan untuk mengelakkan goyangan yang berpanjangan
  5. Mempertimbangkan untuk melaksanakan analisis pelbagai jangka masa untuk meningkatkan kebolehpercayaan isyarat

Ringkasan

Ini adalah strategi pembalikan purata yang berstruktur dengan logik yang jelas. Melalui penapisan pelbagai keadaan dan pengurusan stop-loss dinamik, strategi ini berkesan menangkap peluang pemulihan pasar yang terlalu banyak dijual sambil mengawal risiko. Walaupun ia mempunyai beberapa batasan, prestasi keseluruhan dapat ditingkatkan melalui pengoptimuman dan penyempurnaan yang munasabah. Pelabur dinasihatkan untuk menyesuaikan parameter berdasarkan ciri pasaran tertentu dan toleransi risiko mereka ketika menggunakan strategi dalam perdagangan langsung.


/*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")

Berkaitan

Lebih lanjut