Strategi crossover supertrend dan purata bergerak

Penulis:ChaoZhang, Tarikh: 2024-02-19 11:56:52
Tag:

img

Ringkasan

Strategi ini dinamakan Supertrend dan Moving Average Crossover Strategy. Ia menggabungkan penunjuk Supertrend dan purata bergerak, pergi lama apabila supertrend menunjukkan trend menaik dan EMA 10 hari berada di atas SMA 20 hari, dan pergi pendek apabila supertrend menunjukkan trend menurun dan EMA 10 hari berada di bawah SMA 20 hari.

Logika Strategi

Strategi ini menggunakan penunjuk Supertrend untuk menentukan arah trend pasaran. Supertrend dikira berdasarkan Julat Benar Purata dan Faktor. Apabila harga berada di atas garis Supertrend, ia adalah trend menaik; apabila harga berada di bawah garis Supertrend, ia adalah trend menurun. Dalam strategi ini, Faktor ditetapkan menjadi 3.0 dan panjang ATR adalah 10.

Di samping itu, strategi ini menggunakan EMA 10 hari dan SMA 20 hari untuk membina purata bergerak. EMA (Peratus Bergerak Eksponensial) memberikan berat yang lebih tinggi kepada harga baru-baru ini, sementara SMA (Peratus Bergerak Sederhana) menganggap semua data dengan berat yang sama. Apabila EMA jangka pendek di atas SMA jangka panjang, ia dianggap sebagai isyarat beli.

Ringkasnya, logik penjanaan isyarat perdagangan adalah:

Masuk panjang: Supertrend > 0 (uptrend) DAN EMA 10 hari > SMA 20 hari Entry pendek: Supertrend < 0 (downtrend) DAN EMA 10 hari < SMA 20 hari

Oleh itu, ia menentukan arah trend dengan Supertrend dan menggunakan crossover purata bergerak untuk pengesahan tambahan, untuk membina strategi trend berikut ini.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah menggabungkan Supertrend dan purata bergerak, yang meningkatkan kedua-dua kebolehpercayaan dan kepekaan.

  1. Supertrend dengan jelas mengenal pasti trend utama, mengurangkan isyarat palsu
  2. Perpindahan EMA+SMA meningkatkan kepekaan terhadap perubahan trend
  3. Menghakimi pelbagai faktor meningkatkan kebolehpercayaan
  4. Petunjuk mudah dan jelas, mudah difahami dan dioptimumkan
  5. Kemudahan yang tinggi untuk menyesuaikan parameter Supertrend dan MAs

Analisis Risiko

Terdapat beberapa risiko dalam strategi ini:

  1. Parameter Supertrend yang tidak betul mungkin terlepas titik giliran
  2. Parameter MA yang tidak betul boleh menghasilkan isyarat palsu
  3. Pemilihan tempoh backtest yang tidak betul boleh terlalu menilai prestasi
  4. Tiada pertimbangan kos dagangan

Kami boleh menguji nilai ATR dan Faktor yang berbeza untuk Supertrend, dan nilai panjang yang berbeza untuk MAs. Juga tempoh backtest harus merangkumi persekitaran pasaran yang berbeza. Kos perdagangan harus ditambahkan dalam perdagangan langsung.

Arahan pengoptimuman

Terdapat ruang yang besar untuk pengoptimuman:

  1. Sesuaikan panjang ATR dan Faktor dalam Supertrend
  2. Sesuaikan panjang EMA dan SMA
  3. Tambah penunjuk lain seperti RSI, MACD untuk penapisan isyarat
  4. Beli apabila Supertrend muncul dan EMA melintasi SMA selepas beberapa tempoh
  5. Tambah strategi stop loss

Ini dapat meningkatkan prestasi dan kestabilan. Juga konfigurasi stop loss penting untuk kawalan risiko.

Kesimpulan

Strategi ini menggabungkan Supertrend untuk arah trend dan persilangan EMA + SMA untuk menghasilkan isyarat, sistem trend berikut yang khas. Ia mempunyai kebolehpercayaan yang tinggi dan banyak fleksibiliti untuk pengoptimuman, yang patut diperiksa dalam perdagangan langsung. Tetapi kita juga harus mengawal risiko dan mencegah pengoptimuman berlebihan.


/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and Moving Averages Strategy", overlay=true)

// Supertrend parameters
atrLength = input.int(10, title="ATR Length", minval=1)
factor = input.float(3.0, title="Factor", minval=0.01, step=0.01)
[supertrend, direction] = ta.supertrend(factor, atrLength)

// Moving Averages parameters
length_ema = input(10, title="Length of EMA")
length_sma = input(20, title="Length of SMA")

// Calculate EMAs and SMAs
ema_10 = ta.ema(close, length_ema)
sma_20 = ta.sma(close, length_sma)

// Strategy logic
longCondition = ema_10 > sma_20 and direction > 0
shortCondition = ema_10 < sma_20 and direction < 0

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot Supertrend
plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend")
plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend")

// Plot Moving Averages
plot(ema_10, color=color.blue, title="10 EMA")
plot(sma_20, color=color.red, title="20 SMA")

// Alerts for Supertrend
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')
alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')


Lebih lanjut