Strategi mengejar golden cross dengan rata-rata pergerakan lima hari


Tanggal Pembuatan: 2023-09-21 12:16:22 Akhirnya memodifikasi: 2023-09-21 12:16:22
menyalin: 0 Jumlah klik: 694
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini didasarkan pada forks bergerak pada 5 dan 78 yang membentuk sinyal retracement, dengan tujuan untuk menangkap peluang yang dibawa oleh breakout Momentum harga garis pendek.

Prinsip Strategi

  1. 3 hari, 78 hari, dan 195 hari rata-rata bergerak berbobot.

  2. Ketika Anda melewati garis 3 di garis 195, sinyal beli akan dikirim.

  3. Ketika garis 3 berada di atas garis 78, dan garis 78 berada di atas garis 195, dianggap berada di saluran tren naik, juga mengirimkan sinyal beli.

  4. Siapkan 6 ATR untuk stop line dinamis, dan beri sinyal stop di bawah stop line.

  5. Sinyal berhenti saat garis 3 turun kembali melewati garis 195.

Analisis Keunggulan

  1. Kombinasi silang multi rata-rata, efektif memfilter penembusan palsu.

  2. Dinamika Stop diatur untuk menghindari Reverse Stop.

  3. Retrospektif, rata-rata per transaksi hanya memiliki siklus kepemilikan 2 jam, cocok untuk perdagangan Momentum pendek.

  4. Pengunduran diri maksimum yang dapat dikendalikan adalah sekitar 20%.

Analisis risiko

  1. Parameter rata-rata tetap tidak dapat beradaptasi dengan perubahan pasar.

  2. Waktu sampel hanya 1 tahun, perlu memperluas strategi verifikasi sampel.

  3. Stop loss parameter perlu dioptimalkan untuk mengendalikan risiko.

  4. Tidak bisa menanggung kenaikan harga.

  5. Biaya penanganan dan biaya slip mungkin lebih tinggi.

Arah optimasi

  1. Uji parameter rata-rata yang berbeda, optimalkan kombinasi.

  2. Mengoptimalkan parameter stop loss, menyeimbangkan risiko keuntungan.

  3. Pengaturan syarat penyaringan masuk untuk mengurangi kemungkinan masuk penjara.

  4. Mengoptimalkan manajemen posisi, dan menaikkan posisi secara bertahap sesuai tren.

  5. Uji coba varietas yang berbeda dan jangka waktu yang lebih lama.

  6. Evaluasi simulasi Monte Carlo untuk pengunduran diri maksimum.

Meringkaskan

Strategi ini menggunakan rata-rata multi-forks untuk menentukan tren kenaikan harga saham, mengatur aturan stop loss yang dinamis, dan melakukan pengukuran dengan baik. Namun, strategi ini memiliki waktu sampel yang singkat, parameter yang harus diverifikasi untuk stabilitas, dan tidak dapat menangani situasi melompat. Perlu memperluas lagi pengukuran interval sampel, memperkenalkan lebih banyak kondisi penyaringan untuk mengurangi tingkat sinyal yang salah, sambil mengoptimalkan parameter stop loss, dan mengevaluasi dampak biaya transaksi seperti biaya pendahuluan.

Kode Sumber Strategi
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// © FinTasticTrading 2021/2/14
// This is a 5 day moving average crossing long strategy, used in short term momentum trading strategy.
// Momentum trading Strategy: When S&P 500 index is at up trend (or above 60 sma), buy 10+ stocks in top 20% stock RS ranking at equal weight using this MA5X_L strategy. Change stocks when any stock exited by algorithm.  
// Back test start since 2020/7/1, each long entry for condition 1 is $30000, condition 2 is $20000, with max of 2 long positions.
// Setup: 10 minutes chart
// Buy condition 1) 3 wma cross up 180 wma (5day) 2) 3wma > 60wma > 180wma UP Trend Arrangement (UTA)
// Exit condition 1) 3 wma cross under 180 wma 2) position profit > 20% and 3 wma cross under 6 ATRs line (green)
//@version=4

strategy("MA5X_L", overlay=true, pyramiding=2,default_qty_type=strategy.cash, default_qty_value=100000)
s_len = input( 3 )
m_len = input( 78 )  // 2 day moving average
l_len = input( 195)  // equal to 5 Day moving average
xl_len = input(390)  // 10 day moving average
//Draw WMAs
s_ma = wma(close,s_len)
m_ma = wma(close,m_len)
l_ma = wma(close,l_len)
xl_ma = sma(close,xl_len)
plot(s_ma, color=color.yellow, linewidth=2)
plot(m_ma, color=color.fuchsia, linewidth=2)
plot(l_ma, color=color.blue, linewidth=2)
plot(xl_ma, color = color.gray, linewidth=2)

//ATR Stop Profit , length = 40 or 1 day
Periods = input(title="ATR Period", type=input.integer, defval=40)
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=6.0)
sl=hl2-(Multiplier*atr(Periods))
sl1 = nz(sl[1], sl)
sl := s_ma[1] > sl1 ? max(sl, sl1) : sl
plot(strategy.position_size > 0 ? sl:na, title="Stop Loss", style=plot.style_linebr, linewidth=2, color=color.green)

//Backtest since
condition100 = time>=timestamp(2020, 07, 01, 00, 00) 

//Long Entry Condition 1 : s_ma Cross UP l_ma
if crossover(s_ma, l_ma) and condition100
    strategy.entry("X Up", strategy.long, qty = 30000/close, comment="X Up")

//Long Entry Condition 2 : s_ma > m_ma > l_ma
condition31 = s_ma>m_ma and m_ma>l_ma
condition32 = condition31[1]==false and condition31 == true and condition100
strategy.entry("UTA", strategy.long, qty = 20000/close, when = condition32, comment="UTA")

//Long Exit Condition 1 :  3 wma cross under 180 wma
condition50 = crossunder(s_ma, l_ma)
strategy.close_all(when = condition50, comment="X Dn")

//Long Exit Condition 2 : position profit > 20% and 3 wma cross under 6 ATRs line (green)
strategy.close_all(when = crossunder(close,sl) and strategy.openprofit>30000*0.2, comment="Stop")