Strategi indikator rata-rata bergerak

Penulis:ChaoZhang, Tanggal: 2024-02-26 11:10:23
Tag:

img

Gambaran umum

Strategi indikator rata-rata bergerak adalah strategi perdagangan kuantitatif yang menilai tren pasar berdasarkan rata-rata bergerak dan melakukan operasi posisi panjang atau pendek. Dengan menghitung harga penutupan rata-rata selama periode waktu, strategi ini menentukan apakah pasar terlalu banyak dibeli atau terlalu banyak dijual untuk menangkap peluang pembalikan harga.

Prinsip Strategi

Indikator inti dari strategi ini adalah Stochastic Oscillator.

Low = the lowest low of the most recent N days  
High = the highest high of the most recent N days
K value = (Current close – Low)/(High – Low)*100

Di mana N adalah panjang Length. indikator ini kira-kira mencerminkan posisi harga penutupan saat ini relatif terhadap kisaran harga selama N hari terakhir.

Ketika nilai K lebih besar dari garis overbought (BuyBand), itu menunjukkan bahwa saham mungkin overbought dan callback akan terjadi. Ketika nilai K lebih kecil dari garis oversold (SellBand), itu menunjukkan bahwa saham mungkin oversold dan rebound akan terjadi.

Menurut aturan penilaian ini, strategi akan menjual untuk membuka posisi di zona overbought dan membeli untuk membuka posisi di zona oversold.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Menggunakan indikator rata-rata bergerak untuk menentukan tren pasar, hasil backtesting yang baik, mudah untuk membentuk sinyal perdagangan
  2. Fleksibel untuk beradaptasi dengan siklus dan varietas yang berbeda dengan menyesuaikan parameter
  3. Ide strategi sederhana dan jelas, mudah dipahami dan dioptimalkan

Analisis Risiko

Strategi ini juga menimbulkan beberapa risiko:

  1. Rata-rata bergerak rentan terhadap sentuhan palsu, mungkin "whipsawed
  2. Pengaturan parameter yang tidak benar dapat menyebabkan perdagangan yang sering atau sinyal yang tidak jelas
  3. Hanya satu indikator yang dipertimbangkan, ruang pengoptimalan terbatas

Risiko ini dapat dikurangi dengan mengoptimalkan parameter indikator dengan tepat atau menambahkan kondisi filter.

Arahan Optimasi

Aspek utama yang dapat dioptimalkan strategi ini meliputi:

  1. Tambahkan volume atau ATR dan indikator lainnya untuk memastikan sinyal perdagangan yang lebih dapat diandalkan
  2. Tambahkan indikator Stoch dari beberapa siklus, menghasilkan sinyal melalui operasi komposit
  3. Meningkatkan indikator penilaian tambahan seperti MACD dan KDJ untuk mencapai agregasi multi-indikator
  4. Melalui dan mengoptimalkan varietas perdagangan, siklus, parameter untuk menemukan konfigurasi yang optimal

Kesimpulan

Ide keseluruhan dari strategi indikator moving average sederhana dan banyak digunakan dengan hasil backtesting yang relatif stabil, membuatnya cocok sebagai strategi perdagangan kuantitatif pemula. Namun, strategi ini memiliki ruang optimasi terbatas karena mempertimbangkan faktor terbatas dan hanya cocok untuk operasi jangka pendek.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/09/2017
// Simple Overbought/Oversold indicator
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Overbought/Oversold", shorttitle="OB/OS")
Length = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xOBOS = stoch(close, high, low, Length)
nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
pos = iff(nRes < SellBand, -1,
	   iff(nRes > BuyBand, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="OB/OS")

Lebih banyak