Strategi perdagangan berdasarkan breakout pullback


Tanggal Pembuatan: 2024-02-28 18:01:56 Akhirnya memodifikasi: 2024-02-28 18:01:56
menyalin: 0 Jumlah klik: 585
1
fokus pada
1617
Pengikut

Strategi perdagangan berdasarkan breakout pullback

Ringkasan

Breakout retracement trading strategy adalah strategi trading short line yang terdiri dari beberapa indikator untuk menilai tren besar, tren menengah, dan tren jangka pendek, dan untuk melakukan perdagangan dengan sinyal konfirmasi yang disesuaikan dan saling melengkapi indikator.

Prinsip Strategi

Strategi ini terutama didasarkan pada indikator kekuatan mutlak harga dan indikator MACD untuk mencapai perdagangan penyesuaian yang mendobrak. Pertama, menghitung harga 9 siklus, 21 siklus dan 50 siklus EMA, untuk menentukan arah tren besar; kemudian menghitung indikator kekuatan mutlak harga, yang mencerminkan kekuatan penyesuaian jangka pendek; akhirnya menghitung indikator MACD untuk menentukan arah tren jangka pendek.

Secara khusus, tren besar varietas untuk naik harus memenuhi 9 hari EMA lebih tinggi dari 21 hari EMA, 21 hari EMA lebih tinggi dari 50 hari EMA. Kriteria penilaian penyesuaian jangka pendek adalah defisit indikator kekuatan mutlak kurang dari 0, MACDDIFF kurang dari 0. Tren besar varietas untuk turun harus memenuhi 9 hari EMA kurang dari 21 hari EMA, 21 hari EMA kurang dari 50 hari EMA. Kriteria penilaian bouncing jangka pendek adalah defisit indikator kekuatan mutlak lebih tinggi dari 0, MACDDIFF lebih tinggi dari 0.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Kombinasi tren besar dan penyesuaian jangka pendek untuk menghindari terobosan palsu
  2. Kombinasi indikator yang digunakan, reliabilitas yang tinggi
  3. Indikator intensitas mutlak mencerminkan intensitas penyesuaian untuk menilai kualitas penyesuaian
  4. MACD dapat menilai tren jangka pendek dan zona overbought dan oversold

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Kesalahan penilaian tren besar dapat menyebabkan kegagalan perdagangan
  2. Waktu dan intensitas penarikan balik yang salah, mungkin tidak efektif
  3. Indikator beredar di bawah kondisi ekstrem, menghasilkan sinyal yang salah

Untuk menghadapi risiko di atas, dapat dilakukan perbaikan dengan mengoptimalkan parameter, menilai indikator siklus yang berbeda; menyesuaikan aturan memegang posisi, mengendalikan kerugian tunggal; menggabungkan sinyal penyaringan indikator lebih banyak, meningkatkan akurasi dan lain-lain.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Tes kombinasi indikator yang lebih banyak untuk menemukan strategi perdagangan yang lebih cocok
  2. Optimalkan parameter indikator, meningkatkan sensitivitas indikator
  3. Adaptasi metode stop loss untuk mengurangi kerugian tunggal
  4. Meningkatkan kondisi filtrasi, sinyal di daerah yang lebih efektif
  5. Pengukuran yang lebih akurat, dikombinasikan dengan lebih banyak indikator siklus waktu

Meringkaskan

Secara keseluruhan, breakout retracement trading strategy adalah strategi trading short line yang lebih stabil. Strategi ini menggabungkan penilaian tren besar, menengah, dan pendek untuk menghindari kesalahan perdagangan dalam situasi yang bergolak. Penggunaan kombinasi indikator juga meningkatkan akurasi penilaian.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5 
strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 ) 
message_long_entry = input("long entry message") 
message_long_exit = input("long exit message") 
message_short_entry = input("short entry message") 
message_short_exit = input("short exit message") 
//3x ema 
out9 = ta.ema(close,9) 
out21 = ta.ema(close,21) 
out50 = ta.ema(close,50) 
//abs 
absolute_str_formula( ) => 
    top=0.0 
    bottom=0.0 
    if(close>close[1]) 
        top:= nz(top[1])+(close/close[1]) 
    else 
        top:=nz(top[1]) 
    if(close<=close[1]) 
        bottom:= nz(bottom[1])+(close[1]/close) 
    else 
        bottom:=nz(bottom[1]) 
    if (top+bottom/2>=0) 
        1-1/(1+(top/2)/(bottom/2)) 
abs_partial=absolute_str_formula() 
abs_final = abs_partial - ta.sma(abs_partial,50) 
//macd 
fast_length = input(title="Fast Length", defval=23) 
slow_length = input(title="Slow Length", defval=11) 
src = input(title="Source", defval=open) 
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6) 
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) 
sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"]) 
// Calculating 
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) 
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) 
macd = fast_ma - slow_ma 
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) 
hist = macd - signal 
long= abs_final > 0 and hist <0 and out9<out21 and out21<out50 
short = abs_final <0 and hist >0 and out9>out21 and out21>out50 
long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50 
short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50 
strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry) 
strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry) 
strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit) 
strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit)