Strategi Mengikuti Tren ATR


Tanggal Pembuatan: 2023-09-28 11:32:09 Akhirnya memodifikasi: 2023-09-28 11:32:09
menyalin: 0 Jumlah klik: 798
1
fokus pada
1621
Pengikut

Ringkasan

Strategi ini didasarkan pada rata-rata real amplitude indikator ATR untuk menilai arah tren, melakukan lebih banyak ketika tren naik, melakukan shorting ketika tren turun, dan merupakan jenis strategi yang mengikuti tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung harga SMA dan EMA. Kemudian menghitung indikator ATR, yaitu rentang rata-rata pergerakan selama N hari terakhir.

Strategi untuk menilai arah tren melalui rata-rata ema, uptrend ((ema + ATR * faktor) dan downtrend ((ema - ATR * faktor)). Ketika harga naik naik, lakukan lebih banyak; Ketika harga turun turun, lakukan lebih sedikit.

Logika utama kode:

  1. Perhitungan rata-rata harga sma dan ema
  2. Perhitungan rentang fluktuasi rata-rata ATR
  3. Perhitungan jalur atas dan bawah
  4. Pertimbangan untuk Melakukan Multi-Signal: Harga Naik di Jalur
  5. Pengadilan memutuskan sinyal kebocoran: Harga turun di bawah garis bawah
  6. Tetapkan stop loss pada posisi kosong: harga di bawah garis lurus di atas garis lurus di bawah garis lurus kosong

Menggunakan ATR untuk mengadaptasi posisi secara dinamis, Directions dapat secara efektif melacak tren.

Keunggulan Strategis

  1. Menggunakan indikator ATR untuk menentukan arah tren, dapat secara efektif menangkap tren harga
  2. Stop loss berbasis rata-rata yang memungkinkan pengendalian risiko yang masuk akal
  3. Strategi logis sederhana dan jelas, mudah dipahami dan diterapkan
  4. Fleksibilitas parameter yang dapat dikonfigurasi untuk lingkungan pasar yang berbeda

Risiko Strategis

  1. Indikator ATR tidak akan berlaku di pasar yang bergejolak
  2. Setelan parameter yang tidak tepat dapat menyebabkan terlalu sering membuka posisi
  3. Stop loss mungkin tidak berlaku jika terjadi insiden yang menyebabkan terjadinya pembalikan tergesa-gesa
  4. Pasar dengan biaya transaksi yang tinggi, pelacakan Setting perlu disesuaikan

Solusi:

  1. Jika ada pasar yang sangat bergoyang, sebaiknya Anda menunda strategi Anda atau menggunakan indikator lain.
  2. Optimalisasi parameter, mengurangi frekuensi pembukaan posisi
  3. Tingkatkan Stop Loss Ratio untuk Peristiwa Data Penting
  4. Adaptasi rentang nilai ATR berdasarkan varietas

Arah optimasi strategi

  1. Kombinasi parameter optimasi indikator tren, seperti penambahan MACD untuk menentukan tren
  2. Menambahkan filter, seperti Brin, yang menentukan masuk
  3. Metode pengoptimalan stop loss, seperti pergerakan stop loss atau indikator out of bounds
  4. Rentang nilai ATR yang dioptimalkan untuk varietas tertentu
  5. Meningkatkan strategi pengelolaan dana, seperti saham tetap
  6. Parameter optimasi dinamis dengan metode pembelajaran mesin

Meringkaskan

Strategi pelacakan tren ATR ini memiliki ide yang jelas, menentukan arah tren melalui indikator ATR, dan merupakan strategi pelacakan tren yang khas. Keuntungan dari strategi ini adalah sederhana dan mudah dioperasikan, dan dapat secara efektif melacak tren; tetapi ada juga risiko tertentu, yang perlu disesuaikan secara optimal untuk berbagai lingkungan pasar, agar strategi dapat memberikan manfaat maksimal. Secara keseluruhan, strategi ini memiliki ruang pengembangan dan nilai penggunaan yang besar sebagai alat perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
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/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(2.618, type=input.float, minval=0, title="Length")
mullow = input(2.386, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk()) and ema(close,1) > ema(close,528)
    strategy.entry("KOP", strategy.long, when=bull_cross) 
    strategy.close("KOP", when=bear_cross)  
if (startTimeOk()) and ema(close,1) < ema(close,528)
   strategy.entry("SALJ", strategy.short, when=bear_cross) 
   strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)