Strategi Mengikuti Trend Indeks Momentum


Tarikh penciptaan: 2023-12-05 15:13:25 Akhirnya diubah suai: 2023-12-05 15:13:25
Salin: 0 Bilangan klik: 681
1
fokus pada
1619
Pengikut

Strategi Mengikuti Trend Indeks Momentum

Gambaran keseluruhan

Ini adalah strategi trend mengikut kuantiti bergerak ETF indeks berdasarkan purata bergerak. Ia menggunakan arah dan salinitas persilangan purata bergerak cepat dan purata bergerak perlahan untuk menentukan arah trend dan mencapai trend mengikut kuantiti bergerak aset ETF indeks risiko rendah.

Prinsip Strategi

Strategi ini menggunakan purata bergerak 50 kitaran dan 150 kitaran. Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dan rata-rata bergerak cepat lebih besar daripada paras paras paras paras, maka ia dianggap sebagai perubahan trend, lebih banyak; apabila rata-rata bergerak perlahan melintasi rata-rata bergerak cepat di bawah rata-rata bergerak cepat, atau rata-rata bergerak cepat lebih kecil daripada paras paras paras, maka ia dianggap sebagai pembalikan trend, kedudukan rata.

Strategi ini mudah dan langsung menggunakan arah dan kecenderungan purata bergerak untuk menentukan trend pasaran, mengelakkan penyusunan kurva, dan mengawal risiko dengan berkesan. Pada masa yang sama, purata bergerak secara semula jadi mempunyai ciri-ciri yang tidak bising, yang dapat menyaring bunyi pasaran dengan berkesan.

Analisis kelebihan

Ini adalah ETF indeks berisiko rendah yang mempunyai strategi trend trend yang dinamik dan mempunyai kelebihan seperti berikut:

  1. Pengendalian risiko yang kuat. Pengendalian risiko yang berkesan dengan penapisan bunyi pasaran dengan purata bergerak.
  2. Kos yang rendah. Hanya menggunakan purata bergerak sederhana, kos yang rendah dan mudah dilaksanakan.
  3. Pendapatan stabil. Indeks ETF sendiri tidak banyak berubah-ubah, dan mengikut trend, anda boleh memperoleh keuntungan tambahan yang stabil.
  4. Adaptif. Terdapat banyak parameter yang boleh disesuaikan dan dapat dioptimumkan untuk ETF indeks yang berbeza.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Mungkin terlepas fast reversal. Menggunakan purata bergerak untuk menilai trend, mungkin terlepas fast reversal.
  2. Parameter sensitif. Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak transaksi atau kehilangan peluang.
  3. Kesan mengikut perubahan keadaan pasaran. Ia mungkin tidak berfungsi dengan baik dalam keadaan goyah.

Penyelesaian:

  1. Kaedah ini juga boleh digunakan untuk menilai kadar kemerosotan.
  2. Optimasi ujian parameter.
  3. Parameter penyesuaian mengikut keadaan pasaran yang dinamik.

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Menggunakan MACD, KD, dan lain-lain untuk membantu penilaian dan meningkatkan kesan strategi.
  2. Menambah logik stop-loss untuk mengawal risiko lebih jauh.
  3. Optimumkan parameter kitaran purata bergerak untuk lebih banyak indeks ETF.
  4. Parameter penyesuaian dinamik untuk menyesuaikan diri dengan perubahan persekitaran pasaran.

ringkaskan

Strategi ini adalah strategi trend mengikut kuantiti indeks ETF yang rendah risiko, mudah dilaksanakan. Ia menggunakan arah trend penentuan silang rata-rata bergerak, dengan kelebihan seperti keupayaan kawalan risiko yang kuat, untuk mencapai kos yang rendah, kestabilan pendapatan.

Kod sumber strategi
/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)

//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)

//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)

//calculate ma slope
angle(_source) =>
    rad2degree=180/3.14159265359
    ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue)) 

shortSlope=angle(shortSMA)
longSlope=angle(longSMA)

//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

//long trade
if (longCondition and strategy.position_size == 0)
    strategy.order("Long", strategy.long, units)

//close long trade
if (exitCondition and strategy.position_size > 0)
    strategy.order("Exit", strategy.short, strategy.position_size)

// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)