Strategi Crossover Rata-rata Bergerak Sederhana

Penulis:ChaoZhang, Tanggal: 2023-09-21 10:47:24
Tag:

Gambaran umum

Strategi ini diperdagangkan berdasarkan golden cross dan dead cross dari 3 moving average sederhana. Ini akan panjang ketika SMA cepat melintasi di atas SMA tengah dan SMA tengah melintasi di atas SMA lambat; Ini akan pendek ketika reverse crossover terjadi.

Logika Strategi

  1. Atur 3 SMA dengan periode yang berbeda: cepat, menengah, lambat
  2. Pergi panjang ketika SMA cepat melintasi SMA menengah dan SMA menengah di atas SMA lambat
  3. Pergi pendek ketika SMA cepat melintasi di bawah SMA menengah dan SMA menengah di bawah SMA lambat
  4. Dapat mengatur penundaan masuk untuk menghindari kebocoran palsu
  5. Keluar saat sinyal reverse crossover memicu

Secara khusus, ini memanfaatkan persilangan antara 3 SMA dari periode yang berbeda untuk perdagangan. SMA cepat mewakili tren jangka pendek, SMA pertengahan mewakili tren jangka menengah, dan SMA lambat mewakili tren jangka panjang. Ketika tiga SMA bersilang ke atas secara berurutan, itu menandakan tren naik untuk pergi panjang. Ketika persilangan ke bawah terjadi, itu menandakan tren menurun untuk pergi pendek. Penundaan masuk juga dapat diatur untuk menghindari terobosan palsu jangka pendek.

Analisis Keuntungan

  1. Menggunakan 3 SMA meningkatkan akurasi arah
  2. Penundaan masuk menghindari pelarian palsu dan terjebak
  3. Logika sederhana dan intuitif, mudah dimengerti
  4. Pengaturan parameter SMA yang fleksibel untuk siklus yang berbeda
  5. Mengikuti tren menghindari risiko kontra-tren

Analisis Risiko

  1. Holding jangka panjang dalam risiko siklus panjang ekspansi kerugian
  2. SMA crossover memiliki beberapa lag, mungkin melewatkan titik masuk terbaik
  3. Memerlukan pengoptimalan parameter SMA, jika tidak sinyal mungkin tidak akurat
  4. Holding jangka panjang membawa risiko overnight

Risiko dapat dikelola melalui ukuran posisi, pengoptimalan SMA, strategi stop loss dll.

Arahan Optimasi

  1. Uji periode SMA yang berbeda untuk menemukan parameter optimal
  2. Evaluasi keterlambatan masuk untuk menyaring sinyal
  3. Memperkenalkan stop loss yang dapat disesuaikan dengan tindakan harga yang sebenarnya
  4. Preferensi parameter studi di berbagai produk
  5. Uji aturan penjumlahan masuk kembali dan piramida untuk mengoptimalkan penyimpanan

Ringkasan

Strategi ini memegang posisi berdasarkan 3 SMA crossover untuk menentukan arah tren. Pro adalah sinyal jelas sederhana dan konfigurasi; Kontra adalah sinyal tertinggal dan ketergantungan parameter. Kinerja dapat ditingkatkan dan risiko dikendalikan melalui optimasi parameter, stop loss dll. Ini membantu pedagang menguasai menggunakan SMA dan strategi crossover.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)

Lebih banyak