Strategi perdagangan harga had dinamik gabungan berbilang penunjuk SMA-RSI-MACD

SMA RSI MACD EMA
Tarikh penciptaan: 2024-12-11 15:15:49 Akhirnya diubah suai: 2024-12-11 15:15:49
Salin: 2 Bilangan klik: 435
1
fokus pada
1617
Pengikut

Strategi perdagangan harga had dinamik gabungan berbilang penunjuk SMA-RSI-MACD

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan yang menggabungkan beberapa petunjuk teknikal, terutamanya berdasarkan EMA persilangan rata-rata, RSI oversell dan MACD Gold Forks triple signal pengesahan untuk membuka kedudukan, untuk menguruskan risiko melalui satu masuk dan pelbagai keluar mekanisme harga had dinamik. Strategi ini menggunakan 9 kitaran dan 21 kitaran purata bergerak indeks ((EMA) sebagai petunjuk trend utama, digabungkan dengan indeks yang agak lemah ((RSI) dan trend purata bergerak di belakang indikator ((MACD) untuk menyaring isyarat perdagangan, untuk mengawal risiko dengan menetapkan jarak tunggal harga had dan nombor berhenti kehilangan tetap.

Prinsip Strategi

Logik perdagangan utama strategi ini merangkumi beberapa bahagian utama:

  1. Isyarat masuk berdasarkan 9 kitaran EMA yang dicetuskan apabila melewati 21 kitaran EMA
  2. Harga kemasukan set pada senarai harga had yang menentukan bilangan mata di bawah EMA 9 kitaran
  3. Pengesahan dagangan perlu memenuhi RSI yang lebih rendah daripada had yang ditetapkan dan garpu emas MACD
  4. Isyarat keluar termasuk MACD dead fork, pegangan pegangan pegangan pegangan pegangan dan penutupan mandat penutupan
  5. Waktu perdagangan terhad selepas 9:30 pagi dan sebelum 3:10 petang

Strategi ini menggunakan cara masuk tunggal dengan harga terhad, yang membolehkan penempatan di kedudukan harga yang lebih baik, untuk meningkatkan ketepatan perdagangan dengan menggabungkan pelbagai petunjuk teknikal.

Kelebihan Strategik

  1. Mekanisme pengesahan pelbagai isyarat meningkatkan kebolehpercayaan transaksi
  2. Pendaftaran dengan harga terhad boleh mendapatkan harga yang lebih baik
  3. Penangguhan pegangan yang tetap untuk mengawal risiko
  4. Penutupan obligasi untuk mengelakkan risiko semalam
  5. Tempoh perdagangan terhad untuk mengelakkan turun naik pada hari bukaan.
  6. Indeks EMA bertindak balas lebih cepat terhadap trend
  7. RSI dan MACD dapat menapis isyarat palsu

Risiko Strategik

  1. Pengesahan pelbagai isyarat mungkin menyebabkan kehilangan beberapa peluang perdagangan
  2. Harga terhad mungkin gagal kerana kenaikan harga yang cepat
  3. Hentian titik tetap boleh menyebabkan kerugian yang lebih besar semasa turun naik yang tinggi
  4. Isyarat MACD mungkin terlewat
  5. Strategi tidak mengambil kira kesan perubahan kadar turun naik pasaran
  6. Pengoptimuman parameter mungkin mempunyai risiko overfit

Arah pengoptimuman strategi

  1. Memperkenalkan titik-titik hentian kerugian yang disesuaikan, disesuaikan secara dinamik dengan turun naik pasaran
  2. Meningkatkan penunjuk jumlah transaksi sebagai isyarat pengesahan tambahan
  3. Pertimbangkan penapis intensiti trend
  4. Mengoptimumkan kaedah pengiraan jarak tunggal harga terhad, boleh mempertimbangkan penyesuaian dinamik menggunakan ATR
  5. Menambah penunjuk sentimen pasaran untuk menyaring keadaan pasaran yang tidak menguntungkan
  6. Menyertai mekanisme pengurusan kedudukan, menyesuaikan jumlah yang dibuka mengikut kekuatan isyarat

ringkaskan

Ini adalah strategi perdagangan multi-indikator yang tersusun dengan jelas dan logik, dengan mengenal pasti trend, RSI dan MACD penapisan isyarat, pesanan had dan pelbagai mekanisme kawalan risiko. Kelebihan strategi ini adalah kebolehpercayaan isyarat yang tinggi, kawalan risiko yang sempurna, tetapi terdapat juga masalah seperti isyarat lag dan pengoptimuman parameter. Dengan memperkenalkan penyesuaian parameter dinamik dan menambah indikator tambahan, strategi ini mempunyai ruang pengoptimuman yang besar.

Kod 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)