Strategi Pelacakan Tren Rata-rata Bergerak

Penulis:ChaoZhang, Tanggal: 2024-01-29 11:46:15
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan kuantitatif berbasis tren. Ini terutama menggunakan tiga garis rata-rata bergerak dengan periode yang berbeda, dikombinasikan dengan indikator ATR, untuk melacak tren pasar dan membantu menentukan waktu masuk dan keluar.

Prinsip

Strategi ini menggunakan tiga garis rata-rata bergerak 9 hari (pendek jangka), 15 hari (menengah jangka), dan 24 hari (panjang jangka). Di antara mereka, garis 9 hari dan 15 hari digunakan untuk menentukan arah tren dan waktu masuk, sementara garis 24 hari digunakan untuk menentukan profit-taking dan stop-loss. Pada saat yang sama, strategi ini juga menggabungkan indikator ATR untuk menyesuaikan secara dinamis garis rata-rata bergerak untuk lebih beradaptasi dengan fluktuasi pasar.

Secara khusus, ketika garis rata-rata bergerak jangka pendek melintasi di atas garis rata-rata bergerak jangka menengah, dan harga penutupan lebih besar dari garis rata-rata bergerak jangka pendek, itu menunjukkan bahwa tren mulai muncul, dan posisi panjang dapat ditetapkan pada titik ini.

Selain itu, strategi ini juga menggunakan warna bar untuk secara intuitif menampilkan arah tren. Bar berwarna hijau ketika garis jangka pendek berada di atas garis jangka menengah, dan merah ketika di bawah garis jangka panjang.

Keuntungan

  1. Menggunakan kombinasi tiga garis rata-rata bergerak dengan periode yang berbeda dapat menilai arah tren lebih akurat
  2. Menerapkan penyesuaian dinamis garis rata-rata bergerak berbasis ATR lebih baik beradaptasi dengan pasar yang tidak stabil
  3. Menetapkan mekanisme stop-loss / profit taking panjang dan pendek secara efektif mengelola risiko
  4. Efek visual dari warna bar membentuk sinyal pola yang efektif, membuat tindakan perdagangan lebih jelas

Risiko dan Optimalisasi

  1. Cenderung menghasilkan sinyal palsu di pasar yang terikat rentang
  2. Pengaturan parameter yang tidak benar (misalnya parameter periode) dapat menyebabkan perdagangan berlebihan atau kehilangan peluang masuk yang baik
  3. Pertimbangkan untuk memasukkan filter lain untuk sinyal masuk, seperti volume, MACD dll.
  4. Kombinasi parameter yang berbeda dapat diuji untuk menemukan parameter yang optimal

Kesimpulan

Secara keseluruhan ini adalah strategi trend-mengikuti yang relatif kuat. Ini dapat secara efektif menangkap tren jangka menengah hingga panjang, sambil menetapkan mekanisme stop loss / profit taking untuk mengendalikan risiko. Tetapi strategi ini sensitif terhadap parameter dan kondisi pasar, yang membutuhkan optimasi lebih lanjut untuk beradaptasi dengan lebih banyak lingkungan pasar.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

Lebih banyak