Strategi mengejar salib emas purata bergerak lima hari


Tarikh penciptaan: 2023-09-21 12:16:22 Akhirnya diubah suai: 2023-09-21 12:16:22
Salin: 0 Bilangan klik: 694
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah berdasarkan pada 5th dan 78th Moving Average Gold Forks yang membentuk isyarat kejar-kejaran, yang bertujuan untuk menangkap peluang yang dibawa oleh terobosan Momentum harga garis pendek.

Prinsip Strategi

  1. Hitung purata bergerak bertimbangan 3 hari, 78 hari dan 195 hari.

  2. Apabila 3 hari melalui 195 hari, isyarat beli dikeluarkan.

  3. Apabila garis 3 berada di atas garis 78, dan garis 78 berada di atas garis 195, dianggap berada di saluran trend naik, juga menghantar isyarat beli.

  4. Tetapkan 6 ATR dinamik stop line, mengeluarkan isyarat berhenti di bawah stop line.

  5. Isyarat berhenti dikeluarkan apabila 3 hari lagi turun melalui 195 hari.

Analisis kelebihan

  1. Kombinasi salib garis rata ganda, penyaringan yang berkesan untuk penembusan palsu.

  2. Penangguhan dinamik ditetapkan untuk mengelakkan kemusnahan balik.

  3. Pengesanan kembali setiap urus niaga mempunyai kitaran pemegangan purata hanya 2 jam, sesuai untuk urus niaga Momentum yang pendek.

  4. Pengeluaran maksimum boleh dikawal kira-kira 20%.

Analisis risiko

  1. Parameter garis purata tetap tidak dapat disesuaikan dengan perubahan pasaran.

  2. Tempoh sampel adalah 1 tahun, perlu mengembangkan strategi pengesahan sampel.

  3. Parameter Stop Loss perlu dioptimumkan untuk mengawal risiko.

  4. Tidak boleh menanggung kenaikan harga.

  5. Bayaran dan kos mungkin lebih tinggi.

Arah pengoptimuman

  1. Uji parameter garis rata yang berbeza, kombinasi optimum.

  2. Mengoptimumkan parameter Stop Loss dan mengimbangi risiko keuntungan.

  3. Menetapkan syarat penyaringan kemasukan untuk mengurangkan kemungkinan dipenjarakan.

  4. Mengoptimumkan pengurusan kedudukan dan meningkatkan kedudukan mengikut trend.

  5. Uji varieti yang berbeza dan jangka masa yang lebih lama.

  6. Penilaian simulasi Monte Carlo untuk pengunduran maksimum.

ringkaskan

Strategi ini menggunakan garpu emas berganda rata-rata untuk menentukan trend kenaikan harga saham, menetapkan peraturan hentian hentian hentian dinamik, dan melakukan pengukuran dengan baik. Tetapi, strategi ini mempunyai jangka masa sampel yang pendek, parameter yang stabil perlu disahkan, dan tidak dapat menangani keadaan melompat.

Kod 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")