Strategi perdagangan batas harga dinamis kombinasi multi-indikator SMA-RSI-MACD

SMA RSI MACD EMA
Tanggal Pembuatan: 2024-12-11 15:15:49 Akhirnya memodifikasi: 2024-12-11 15:15:49
menyalin: 2 Jumlah klik: 435
1
fokus pada
1617
Pengikut

Strategi perdagangan batas harga dinamis kombinasi multi-indikator SMA-RSI-MACD

Ringkasan

Strategi ini adalah sistem perdagangan yang menggabungkan beberapa indikator teknis, terutama berdasarkan EMA linear crossover, RSI oversold dan MACD Gold Forks triple signal konfirmasi untuk membuka posisi, untuk mengelola risiko melalui harga batas dinamis single entry dan multi exit mekanisme. Strategi ini menggunakan 9 siklus dan 21 siklus indeks moving average (EMA) sebagai indikator tren utama, yang dikombinasikan dengan indeks yang relatif kuat (RSI) dan rata-rata bergerak tren di belakang indikator (MACD) untuk memfilter sinyal perdagangan, untuk mengendalikan risiko dengan menetapkan jarak batas harga tunggal dan nomor stop loss tetap.

Prinsip Strategi

Logika perdagangan inti dari strategi ini terdiri dari beberapa bagian penting:

  1. Sinyal masuk berdasarkan 9 siklus EMA yang dipicu saat melewati 21 siklus EMA
  2. Harga masuk yang ditetapkan pada 9 periode EMA di bawah daftar harga batas yang menentukan jumlah poin
  3. Konfirmasi transaksi harus memenuhi RSI di bawah set threshold dan MACD Gold Fork
  4. Sinyal keluar termasuk MACD dead fork, fixed stop loss point dan close out mandatory close out
  5. Waktu perdagangan dibatasi setelah jam 9:30 pagi sampai jam 3:10 sore.

Strategi ini mengadopsi cara masuk tunggal dengan harga terbatas, yang dapat menempatkan posisi di posisi harga yang lebih baik, dan meningkatkan akurasi perdagangan melalui kombinasi dari beberapa indikator teknis.

Keunggulan Strategis

  1. Sistem Konfirmasi Multi-Signal Meningkatkan Keandalan Transaksi
  2. Tiket masuk dengan harga terbatas bisa mendapatkan harga yang lebih baik
  3. Stop loss point yang tetap untuk pengendalian risiko
  4. Penutupan obligasi untuk menghindari risiko overnight
  5. Pembatasan waktu perdagangan menghindari lonjakan di bursa saham
  6. Indeks EMA lebih cepat bereaksi terhadap tren
  7. Kombinasi RSI dan MACD dapat memfilter sinyal palsu

Risiko Strategis

  1. Konfirmasi sinyal ganda dapat menyebabkan beberapa peluang perdagangan yang hilang
  2. Harga terbatas mungkin gagal karena kenaikan harga yang cepat.
  3. Stop loss pada titik tetap mungkin lebih besar pada periode fluktuasi tinggi
  4. Sinyal MACD mungkin terlambat
  5. Strategi tidak mempertimbangkan dampak dari perubahan volatilitas pasar
  6. Optimasi parameter mungkin memiliki risiko over-fitting

Arah optimasi strategi

  1. Memperkenalkan Stop Loss Stop Loss Adaptive, yang beradaptasi dengan dinamika volatilitas pasar
  2. Meningkatkan indikator volume transaksi sebagai sinyal konfirmasi tambahan
  3. Pertimbangkan untuk menambahkan filter intensitas tren
  4. Optimalkan metode perhitungan jarak tunggal harga terbatas, pertimbangkan untuk menggunakan penyesuaian dinamis ATR
  5. Menambahkan indikator sentimen pasar untuk menyaring kondisi pasar yang tidak menguntungkan
  6. Masukkan mekanisme manajemen posisi untuk menyesuaikan volume bukaan sesuai dengan intensitas sinyal

Meringkaskan

Ini adalah strategi perdagangan multi-indikator yang terstruktur, logis dan jelas, dengan identifikasi tren melalui sistem linier, sinyal filter RSI dan MACD, pesanan harga dan mekanisme pengendalian risiko multi-stop. Keuntungan dari strategi ini adalah keandalan sinyal yang tinggi, kontrol risiko yang sempurna, tetapi ada juga masalah seperti lag sinyal dan pengoptimalan parameter. Dengan memperkenalkan penyesuaian parameter dinamis dan menambahkan indikator tambahan, strategi ini memiliki ruang pengoptimalan yang lebih besar.

Kode Sumber Strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA 9 & 21 with RSI and MACD Buy Strategy", overlay=true)

// Inputs for Simple Moving Averages
sma_short = ta.ema(close, 9)
sma_long = ta.ema(close, 21)

// Plotting SMA
plot(sma_short, color=color.green, title="SMA 9")
plot(sma_long, color=color.red, title="SMA 21")

// RSI Calculation
rsi_length = input.int(14, title="RSI Length")
rsi_threshold = input.int(70, title="RSI Threshold")
rsi = ta.rsi(close, rsi_length)

// MACD Calculation
macd_fast = input.int(8, title="MACD Fast Length")
macd_slow = input.int(18, title="MACD Slow Length")
macd_signal = input.int(6, title="MACD Signal Length")
[macd_line, signal_line, _] = ta.macd(close, macd_fast, macd_slow, macd_signal)

// Inputs for Limit Order Offset
limit_offset = input.int(50, title="Limit Order Offset", minval=1)  // 50 points below 9 EMA

// User input for specific date
simulationStartDate = input(timestamp("2024-12-01 00:00"), title="Simulation Start Date", group = "Simulation Dates")
simulationEndDate = input(timestamp("2024-12-30 00:00"), title="Simulation End Date", group = "Simulation Dates")

// Declare limit_price as float
var float limit_price = na

// Calculate Limit Order Price
if (sma_short[1] < sma_long[1] and sma_short > sma_long)  // 9 EMA crosses above 21 EMA
    limit_price := sma_short - limit_offset

// Buy Signal Condition (only on the specified date)
buy_condition = not na(limit_price) and rsi < rsi_threshold and ta.crossover(macd_line, signal_line) 

// Sell Signal Condition (MACD crossover down)
sell_condition = ta.crossunder(macd_line, signal_line)

// Track Entry Price for Point-Based Exit
var float entry_price = na

if (buy_condition )
    strategy.order("Buy", strategy.long, comment="Limit Order at 9 EMA - Offset", limit=limit_price)
    label.new(bar_index, limit_price, "Limit Buy", style=label.style_label_up, color=color.green, textcolor=color.white)
    entry_price := limit_price  // Set entry price

// Exit Conditions
exit_by_macd = sell_condition
exit_by_points = not na(entry_price) and ((close >= entry_price + 12) or (close <= entry_price - 12))  // Adjust as per exit points

// Exit all positions at the end of the day
if hour == 15 and minute > 10 and strategy.position_size > 0
    strategy.close_all()  // Close all positions at the end of the day
    strategy.cancel_all()  

// Exit based on sell signal or point movement
if (exit_by_macd or exit_by_points  and strategy.position_size > 0 )
    strategy.close("Buy")
    label.new(bar_index, close, "Close", style=label.style_label_down, color=color.red, textcolor=color.white)