Tren Mengikuti Strategi Hanya Lama

Penulis:ChaoZhang, Tanggal: 2023-10-17 15:55:41
Tag:

img

Gambaran umum

Trend Following Long Only Strategy adalah strategi yang melacak tren harga menggunakan rata-rata bergerak dinamis. Strategi ini menentukan tren saat ini dengan menghitung rata-rata bergerak harga tertinggi dan terendah selama periode dan menggabungkannya dengan ATR untuk stop loss dan take profit dinamis.

Logika Strategi

Strategi ini pertama-tama menghitung rata-rata bergerak harga tertinggi dan terendah selama periode (default 200 hari) dan mengambil titik tengahnya sebagai garis dasar. Kemudian mengukur penyimpangan harga dari garis dasar. Jika harga di atas garis dasar sebesar 1 ATR (0,5 kali 10 hari ATR secara default), itu dianggap sebagai tren naik. Jika harga di bawah garis dasar sebesar 1 ATR, itu dianggap sebagai tren menurun. Posisi panjang atau pendek dimasukkan berdasarkan keadaan tren.

Ketika harga kembali ke garis dasar, sinyal keluar dipicu. Juga, ATR dinamis memungkinkan stop loss dan take profit untuk mengikuti tren utama, menghindari over-trading pada fluktuasi kecil.

Keuntungan

  1. Rata-rata dinamis lancar tindakan harga secara efektif untuk mengidentifikasi arah tren jangka panjang
  2. Stop berbasis ATR mengikuti tren utama secara dinamis menghindari sensitivitas yang berlebihan
  3. Penangkapan pada saat yang tepat dari perubahan tren mengurangi pemborosan modal yang tidak tepat waktu
  4. Logika sederhana mudah diterapkan

Risiko dan Pengurangan

  1. Dapat menghasilkan sinyal palsu di pasar yang berbeda
  2. Pengaturan parameter yang tidak benar dapat melewatkan pembalikan tren
  3. Perbedaan antara pasar dan persediaan individu harus dipertimbangkan

Risiko dapat dikurangi dengan mengubah parameter ATR, menambahkan filter untuk pengaturan probabilitas tinggi, dan mengevaluasi kondisi pasar dan nafsu risiko.

Ide-ide Peningkatan

  1. Tambahkan konfirmasi sekunder setelah sinyal masuk awal menggunakan indikator seperti KDJ
  2. Mengoptimalkan parameter berdasarkan volatilitas, dasar-dasar saham individu
  3. Pengganda ATR fine tune berdasarkan backtest untuk menyeimbangkan faktor keuntungan dan tingkat omset
  4. Memperkenalkan penyesuaian volatilitas dinamis dalam stop loss dan take profit
  5. Menggunakan teknik pembelajaran mesin untuk optimasi parameter otomatis

Ringkasan

Trend Following Long Only Strategy adalah sistem perdagangan tren yang mudah digunakan secara keseluruhan. Ini mengidentifikasi arah tren menggunakan rata-rata dinamis dan mengatur kontrol risiko dengan stop berbasis ATR. Ini dapat secara efektif menangkap perubahan menguntungkan di pasar tren. Pasar yang bervariasi harus dihindari untuk mencegah whipsaws. Peningkatan lebih lanjut dapat dilakukan melalui penyesuaian parameter, menambahkan filter dan mengintegrasikan teknik pembelajaran mesin.


/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Trend Following Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(0.5, type=input.float, minval=0.5, title="ATR Multiplier")

vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)

l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = ema(price > upper ? 1 : (price < lower ? -1 : 0), 3)
c = trend < 0 ? upper : lower

pcenter = plot(center, transp=100)
pclose = plot(close, transp=100)
pc = plot(c, transp=100)

buy_signal = crossover(trend, 0.0) 
sell_signal = crossunder(trend, 0.0)

strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.close("Buy", when=sell_signal)

bgcolor(trend >= 0 ? color.green : color.red, transp=95)
fill(pc, pclose, color=trend >= 0 ? color.green : color.red)

Lebih banyak