Pelacakan tren momentum multi-skala waktu dan strategi perdagangan kuantitatif manajemen risiko

SMA MA SRI TP SL BE
Tanggal Pembuatan: 2025-04-17 14:01:16 Akhirnya memodifikasi: 2025-04-17 14:01:16
menyalin: 1 Jumlah klik: 350
2
fokus pada
319
Pengikut

Pelacakan tren momentum multi-skala waktu dan strategi perdagangan kuantitatif manajemen risiko Pelacakan tren momentum multi-skala waktu dan strategi perdagangan kuantitatif manajemen risiko

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang didasarkan pada kombinasi indikator teknis dalam skala waktu yang beragam, yang memungkinkan masuk ke pasar yang akurat dan kontrol risiko dengan analisis komprehensif dari moving averages, indikator relatif kuat acak (SRI) dan pergerakan harga. Strategi ini dirancang untuk menangkap tren pasar sambil mengelola risiko perdagangan secara efektif.

Prinsip Strategi

Inti dari strategi ini terdiri dari lima indikator teknis utama:

  1. Indikator rata-rata bergerak:
  • Rata-rata bergerak sederhana (SMA) 5, 10, 50 dan 100 hari
  • Menentukan arah tren pasar melalui posisi relatif dari moving average pada skala waktu yang berbeda
  • Hubungan relatif antara harga dan moving average menentukan sinyal masuk
  1. Indeks Relatif Lemah Random (SRI):
  • Hitung SRI dengan skala waktu 1 menit
  • SRI di bawah 70 sebagai sinyal multiplikasi
  • SRI lebih tinggi dari 30 sebagai sinyal shorting
  1. Bentuk baris:
  • Analisis hubungan antara harga pembukaan dan harga penutupan K-line sebelumnya
  • Untuk menilai pergerakan harga saat ini dan sentimen pasar
  1. Mekanisme manajemen risiko:
  • Setting Stop Stop TP dan Stop Loss SL
  • Strategi untuk mencapai Break-Even (BE)
  • Dinamiskan posisi stop loss

Keunggulan Strategis

  1. Verifikasi sinyal multi-dimensi
  • Menggunakan Moving Average, SRI, dan Price Momentum secara Komprehensif
  • Menurunkan probabilitas sinyal yang salah secara signifikan
  • Meningkatkan keandalan sinyal perdagangan
  1. Kontrol risiko yang fleksibel
  • Preset Stop dan Stop loss
  • Mekanisme Keuntungan dan Kerugian Modal Dinamis
  • Efektif mengendalikan kerugian maksimum dalam satu transaksi
  1. Analisis skala waktu
  • Kombinasi rata-rata bergerak periode yang berbeda
  • Menerima tren pasar secara keseluruhan
  • Meningkatkan Adaptabilitas Strategi
  1. Parameter yang dapat disesuaikan
  • Stop loss yang dapat disesuaikan
  • Adaptasi terhadap lingkungan pasar dan varietas perdagangan yang berbeda

Risiko Strategis

  1. Risiko sensitivitas parameter
  • Rata-rata bergerak dan parameter SRI berpengaruh signifikan terhadap kinerja strategi
  • Perlu dilakukan pengukuran dan optimasi parameter yang memadai
  1. Risiko pasar yang bergejolak
  • Strategi yang mungkin gagal dalam kondisi pasar ekstrem
  • Disarankan untuk menetapkan batas maksimum untuk penarikan
  1. Risiko Terlalu Banyak Berdagang
  • Transaksi yang sering dapat meningkatkan biaya transaksi
  • Perlu disesuaikan dengan biaya transaksi yang sebenarnya
  1. Risiko keterlambatan indikator
  • Ada keterlambatan dalam moving average.
  • Mungkin melewatkan sinyal tahap awal tren

Arah optimasi strategi

  1. Memperkenalkan algoritma pembelajaran mesin
  • Parameter pengoptimalan menggunakan algoritma pembelajaran yang diawasi
  • Dinamika penyesuaian stop loss
  • Meningkatkan kemampuan beradaptasi strategi
  1. Menambahkan kondisi penyaringan tambahan
  • Memperkenalkan indikator volume transaksi
  • Menambahkan indikator intensitas tren
  • Meningkatkan akurasi sinyal
  1. Optimasi adaptasi multi-varietas
  • Mengembangkan mekanisme adaptasi parameter umum
  • Mengurangi intervensi manusia
  • Peningkatan Keseragaman Strategi

Meringkaskan

Ini adalah strategi perdagangan kuantitatif yang didasarkan pada analisis multi-skala waktu, yang bertujuan untuk menangkap tren pasar dan mengendalikan risiko perdagangan melalui indikator teknis yang komprehensif dan mekanisme manajemen risiko yang canggih. Keunggulan inti dari strategi ini adalah validasi multi-dimensi sinyal dan kontrol risiko yang fleksibel.

Kode Sumber Strategi
/*backtest
start: 2024-04-17 00:00:00
end: 2025-04-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/

//@version=6
strategy("Strategia LONG & SHORT con TP, SL e BE", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// === INPUT === //
tp_points = input.int(60000, "Take Profit (punti)")
sl_points = input.int(25000, "Stop Loss (punti)")
breakeven_trigger = tp_points * 0.5

// === MEDIE MOBILI === //
ma5  = ta.sma(close, 5)
ma10 = ta.sma(close, 10)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)

// === SRI da timeframe 1 minuto === //
sri_tf = "1"
sri_length = 10
sri_src = close
sri = request.security(syminfo.tickerid, sri_tf, ta.stoch(sri_src, sri_src, sri_src, sri_length))

// === CONDIZIONI LONG === //
long_candle        = open > close[1]
price_above_ma100  = close > ma100
ma50_above_ma100   = ma50 > ma100
ma5_above_ma10     = ma5 > ma10
sri_below_75       = sri < 70

long_condition = long_candle and price_above_ma100 and ma50_above_ma100 and ma5_above_ma10 and sri_below_75

// === CONDIZIONI SHORT === //
short_candle       = open < close[1]
price_below_ma100  = close < ma100
ma50_below_ma100   = ma50 < ma100
ma5_below_ma10     = ma5 < ma10
sri_above_25       = sri > 30

short_condition = short_candle and price_below_ma100 and ma50_below_ma100 and ma5_below_ma10 and sri_above_25

// === ENTRY LONG === //
if (long_condition)
    strategy.entry("Long", strategy.long)

// === ENTRY SHORT === //
if (short_condition)
    strategy.entry("Short", strategy.short)

// === GESTIONE USCITE === //
var float long_entry_price  = na
var float short_entry_price = na

// LONG: TP/SL + break-even
if (strategy.position_size > 0)
    if (na(long_entry_price))
        long_entry_price := strategy.position_avg_price

    tp_price_long = long_entry_price + tp_points * syminfo.mintick
    sl_price_long = long_entry_price - sl_points * syminfo.mintick
    be_trigger_long = long_entry_price + breakeven_trigger * syminfo.mintick
    sl_be = close >= be_trigger_long ? long_entry_price : sl_price_long

    strategy.exit("Exit Long", from_entry="Long", limit=tp_price_long, stop=sl_be)

// SHORT: TP/SL + break-even
if (strategy.position_size < 0)
    if (na(short_entry_price))
        short_entry_price := strategy.position_avg_price

    tp_price_short = short_entry_price - tp_points * syminfo.mintick
    sl_price_short = short_entry_price + sl_points * syminfo.mintick
    be_trigger_short = short_entry_price - breakeven_trigger * syminfo.mintick
    sl_be_short = close <= be_trigger_short ? short_entry_price : sl_price_short

    strategy.exit("Exit Short", from_entry="Short", limit=tp_price_short, stop=sl_be_short)

// Reset quando flat
if (strategy.position_size == 0)
    long_entry_price := na
    short_entry_price := na