Sistem pengambilan untung purata pergerakan indeks berganda dagangan automatik

EMA MA
Tarikh penciptaan: 2024-12-04 15:35:32 Akhirnya diubah suai: 2024-12-04 15:35:32
Salin: 0 Bilangan klik: 547
1
fokus pada
1617
Pengikut

Sistem pengambilan untung purata pergerakan indeks berganda dagangan automatik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan automatik berdasarkan purata bergerak pelbagai indeks ((EMA) yang membina isyarat perdagangan melalui penilaian berlapis pada EMA 5 kitaran, 20 kitaran dan 50 kitaran. Reka bentuk sistem ini unik kerana menggunakan penilaian EMA berganda berdasarkan harga tinggi, rendah dan ditutup, dan menggabungkan mekanisme berhenti kehilangan dan berhenti yang dinamik untuk mengawal risiko dengan berkesan sambil mengunci keuntungan.

Prinsip Strategi

Strategi membuat keputusan dagangan berdasarkan hubungan EMA silang dan kedudukan dalam pelbagai tempoh masa. Secara khusus:

  1. Menggunakan EMA 5 kitaran, 20 kitaran (berdasarkan harga tertinggi, terendah dan harga penutupan) dan 50 kitaran
  2. Syarat pembinaan gudang memerlukan semua petunjuk untuk menunjukkan susunan berbilang kepala yang jelas: 50EMA < 20EMA(titik rendah) < 20EMA(tutup) < 20EMA(titik tinggi) < 5EMA
  3. Pada masa yang sama, ia memerlukan harga semasa berada di atas semua garis rata-rata untuk memastikan trend yang kuat.
  4. Keluar menggunakan mekanisme ganda: menang apabila harga jatuh di bawah 5 kitaran EMA, atau berhenti apabila harga menyentuh 20 kitaran EMA

Kelebihan Strategik

  1. Mekanisme penapisan berlapis mengurangkan isyarat palsu
  2. Menggunakan EMA berbilang untuk meningkatkan ketepatan transaksi
  3. Kedudukan Hentian Bergerak Sesuai dengan Ketegangan Pasaran
  4. Sistem ini sepenuhnya automatik dan mengelakkan gangguan emosi manusia.
  5. Menggunakan mekanisme tracking stop-loss untuk mengunci keuntungan yang telah diperolehi

Risiko Strategik

  1. Pasaran yang bergolak mungkin sering masuk dan keluar
  2. EMA pada dasarnya merupakan penunjuk yang ketinggalan zaman dan mungkin terlepas titik permulaan
  3. Keadaan yang berlainan boleh menyebabkan kehilangan sebahagian peluang perdagangan
  4. Tetapan stop loss mungkin agak longgar pada 20 EMA rendah

Arah pengoptimuman strategi

  1. Menambah mekanisme pengesahan jumlah pesanan untuk meningkatkan kebolehpercayaan isyarat
  2. Pertimbangkan untuk memasukkan indikator turun naik, saiz kedudukan yang disesuaikan secara dinamik
  3. Memperkenalkan penyelesaian yang lebih fleksibel, seperti pengurangan stok secara berperingkat.
  4. Penanda pergerakan seperti RSI boleh digabungkan untuk mengoptimumkan masa masuk
  5. Pertimbangan untuk memasukkan penilaian kekuatan trend, penapisan pasaran lemah

ringkaskan

Ini adalah sistem perdagangan linear ganda yang dirancang dengan teliti, mengawal risiko dengan berkesan melalui penapisan bertingkat dan hentian rugi dinamik. Walaupun mungkin terlepas beberapa pergerakan cepat, ia stabil dalam pasaran yang sedang tren. Ia disyorkan untuk menyesuaikan parameter dengan sewajarnya mengikut ciri-ciri pasaran yang berbeza, dan mempertimbangkan untuk menambah petunjuk tambahan seperti jumlah transaksi untuk meningkatkan kebolehpercayaan.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true)

// Inputs for EMA lengths
length_5 = 5
length_20 = 20
length_50 = 50

// Calculating EMAs
ema_5 = ta.ema(close, length_5)
ema_20_high = ta.ema(high, length_20)
ema_20_low = ta.ema(low, length_20)
ema_20_close = ta.ema(close, length_20)
ema_50 = ta.ema(close, length_50)

// Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA
// and LTP above all EMAs
buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50

// Stop-loss and target levels
stop_loss = ema_20_low

// Target condition: Close below 5 EMA
target_condition = close < ema_5

// Check if there's an open position
is_in_position = strategy.position_size > 0

// Execute Buy Signal only if no position is open
if (buy_condition and not is_in_position)
    strategy.entry("Buy", strategy.long)

// Exit conditions: Stop-loss or target (close below 5 EMA)
if (is_in_position and (target_condition or close < stop_loss))
    strategy.close("Buy")

// Plotting the EMAs
plot(ema_5, color=color.blue, title="5 EMA")
plot(ema_20_high, color=color.green, title="20 EMA (High)")
plot(ema_20_low, color=color.red, title="20 EMA (Low)")
plot(ema_20_close, color=color.purple, title="20 EMA (Close)")
plot(ema_50, color=color.orange, title="50 EMA")