Strategi regresi silang RSI multilevel

RSI POSITION_SIZE PYRAMIDING
Tanggal Pembuatan: 2025-02-20 17:33:36 Akhirnya memodifikasi: 2025-02-27 17:21:37
menyalin: 1 Jumlah klik: 338
2
fokus pada
319
Pengikut

Strategi regresi silang RSI multilevel Strategi regresi silang RSI multilevel

Ringkasan

Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada indikator yang relatif kuat (RSI) untuk menangkap potensi peluang bouncing, terutama dengan mengidentifikasi kondisi pasar oversold. Strategi ini menggunakan metode posisi progresif, membangun beberapa posisi secara bertahap ketika RSI melewati titik rendah, dan mengendalikan risiko dengan menetapkan target keuntungan.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:

  1. Sinyal masuk: memicu sinyal beli saat melewati level oversold 28.5 di bawah RSI 14 siklus
  2. Manajemen Posisi: 6.6% dari ekuitas akun yang digunakan untuk membangun gudang satu kali, dengan maksimal 15 kali pengiriman gudang
  3. Keuntungan: 50% dari kepemilikan diratakan ketika harga mencapai kenaikan 900% dari harga rata-rata posisi
  4. Tampilan visual: tanda pada grafik sinyal jual beli, kurva RSI, harga masuk dan harga target Strategi untuk menilai pergerakan pasar dengan melihat bagaimana indikator RSI berkinerja di area oversold, dan untuk mengurangi biaya penempatan, secara bertahap membuat posisi ketika sinyal oversold muncul.

Keunggulan Strategis

  1. Sistematisasi posisi: Mengidentifikasi peluang perdagangan secara otomatis melalui parameter RSI yang telah ditetapkan, menghindari bias subjektif yang disebabkan oleh penilaian manusia
  2. Penyebaran risiko: Menggunakan metode penciptaan posisi berturut-turut, membangun beberapa posisi pada harga yang berbeda, untuk menyebarkan risiko secara efektif
  3. Fleksibilitas: Parameter strategi dapat disesuaikan dengan kondisi pasar yang berbeda dan preferensi risiko pribadi
  4. Perlindungan keuntungan: menetapkan target keuntungan yang jelas, secara otomatis mengurangi posisi saat mencapai target, mengunci sebagian keuntungan
  5. Efisiensi dana: meningkatkan efisiensi penggunaan dana melalui kontrol posisi yang masuk akal dan mekanisme penambahan dana

Risiko Strategis

  1. Risiko tren: mungkin sering memicu sinyal posisi dalam tren turun yang kuat, menyebabkan kerugian dana
  2. Parameter sensitif: RSI parameter, rasio posisi yang tidak tepat dan lain-lain dapat mempengaruhi kinerja strategi
  3. Likuiditas pasar: Di pasar yang kurang likuid, mungkin sulit untuk melakukan transaksi pada harga target
  4. Manajemen Uang: Hipotesis berlebihan dapat menyebabkan celah risiko yang terlalu besar Larutan:
  • Menambahkan filter tren, menangguhkan posisi dalam tren turun yang jelas
  • Pengaturan parameter optimasi dengan pengukuran kembali
  • Tetapkan batas maksimum penarikan
  • Dinamika penyesuaian marginal

Arah optimasi strategi

  1. Parameter dinamis: menyesuaikan parameter RSI dan kondisi posisi secara otomatis sesuai dengan fluktuasi pasar
  2. Mekanisme Stop Loss: Tambahkan fitur Stop Loss Mobile untuk mengendalikan risiko dengan lebih baik
  3. Market Filter: Menambahkan kondisi filter seperti volume transaksi, tren, dan lain-lain untuk meningkatkan kualitas sinyal
  4. Optimisasi Keluar: Membuat mekanisme pengurangan keuntungan yang lebih fleksibel, seperti pengurangan saham secara bertahap
  5. Pengendalian risiko: meningkatkan batas maksimum penarikan dan pengendalian risiko

Meringkaskan

Strategi ini menggunakan indikator RSI untuk mengidentifikasi peluang oversold, menggabungkan kenaikan harga piramida dan rasio tetap untuk menghasilkan keuntungan, dan membangun sistem perdagangan yang lengkap. Keuntungan dari strategi ini adalah operasi yang sistematis dan penyebaran risiko, tetapi perlu memperhatikan pengaruh tren pasar dan pengaturan parameter terhadap kinerja strategi.

Kode Sumber Strategi
/*backtest
start: 2024-09-15 00:00:00
end: 2024-12-10 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("RSI Cross Under Strategy", overlay=true, initial_capital=1500, default_qty_type=strategy.percent_of_equity, default_qty_value=6.6)

// Input parameters
rsiLength = input(14, "RSI Length")
rsiOversold = input(28.5, "RSI Oversold Level")
profitTarget = input(900, "Profit Target (%)")
maxPyramiding = input(15, "Max Pyramiding")

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Detect RSI crossunder
rsiCrossunder = ta.crossunder(rsi, rsiOversold)

// Calculate the profit target price
entryPrice = strategy.position_avg_price
targetPrice = entryPrice * (1 + profitTarget / 100)

// Buy condition
if (rsiCrossunder and strategy.position_size <= maxPyramiding * strategy.equity * 0.066)
    strategy.entry("Buy", strategy.long)

// Take profit condition
if (strategy.position_size > 0 and high >= targetPrice)
    strategy.close("Buy", qty_percent = 50)

// Plot buy signals
plotshape(rsiCrossunder, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Plot sell signals (when position is partially closed)
plotshape(strategy.position_size > 0 and high >= targetPrice, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Plot RSI
plot(rsi, "RSI", color=color.blue, linewidth=2)
hline(rsiOversold, "RSI Oversold", color=color.red, linestyle=hline.style_dashed)

// Plot entry and target prices
plot(strategy.position_size > 0 ? entryPrice : na, "Entry Price", color=color.green, linewidth=2, style=plot.style_linebr)
plot(strategy.position_size > 0 ? targetPrice : na, "Target Price", color=color.red, linewidth=2, style=plot.style_linebr)

// Display strategy information
var table infoTable = table.new(position.top_right, 3, 6, border_width=1)
table.cell(infoTable, 0, 0, "Strategy Info", bgcolor=color.blue, text_color=color.white)
table.cell(infoTable, 0, 1, "RSI Length: " + str.tostring(rsiLength))
table.cell(infoTable, 0, 2, "RSI Oversold: " + str.tostring(rsiOversold))
table.cell(infoTable, 0, 3, "Profit Target: " + str.tostring(profitTarget) + "%")
table.cell(infoTable, 0, 4, "Order Size: 6.6% of total")
table.cell(infoTable, 0, 5, "Max Pyramiding: " + str.tostring(maxPyramiding) + " times")