Strategi terobosan ATR penguatan nisbah emas purata bergerak


Tarikh penciptaan: 2024-02-26 15:02:26 Akhirnya diubah suai: 2024-02-26 15:02:26
Salin: 0 Bilangan klik: 684
1
fokus pada
1617
Pengikut

Strategi terobosan ATR penguatan nisbah emas purata bergerak

Gambaran keseluruhan

Strategi ini adalah strategi terobosan yang menggunakan indikator ATR untuk membina isyarat perdagangan. Strategi ini menggunakan sistem garis rata untuk menghasilkan isyarat perdagangan, membina kedudukan kosong yang lebih tinggi di atas dan di bawah indikator ATR yang diperbesar dengan pembahagian emas. Ia dapat memperoleh keuntungan besar dalam trend dan memperoleh keuntungan kecil yang stabil dalam keadaan goyah.

Prinsip Strategi

Kod ini membina sistem perdagangan penembusan laluan Brin dengan mengambil indikator kitaran ATR harga penutupan, dan membesarkan 1.618 kali ganda sebagai tren atas, membesarkan 2.618 kali ganda sebagai tren bawah, digabungkan dengan eema garis rata. Apabila harga menembus ke atas dari tren bawah, buat lebih banyak, dan buka dari tren atas ke bawah, dan dapatkan keuntungan dari trend.

Kelebihan Strategik

  1. Indeks ATR dapat menangkap turun naik pasaran dengan berkesan, menggunakan turun naik untuk membina saluran perdagangan yang menyesuaikan diri, dan mengelakkan overfit yang disebabkan oleh penggunaan parameter tetap.
  2. Pembahagian emas yang diperbesar oleh ATR dapat meningkatkan ruang keuntungan tanpa meningkatkan frekuensi perdagangan.
  3. Sistem garis rata menyaring kebisingan jangka pendek dan berfungsi dengan saluran ATR untuk mengunci trend garis panjang dan tengah.

Risiko Strategik

  1. Indeks ATR terlewat dalam menangani keadaan yang melampau.
  2. Pembahagian emas yang tidak tepat boleh menyebabkan frekuensi dagangan yang terlalu tinggi.
  3. Isyarat suis linear purata kitaran panjang terlewat.

Pengoptimuman Strategi

  1. Indeks ATR boleh dipertimbangkan untuk digunakan atau disesuaikan dengan indeks turun naik pasaran VIX.
  2. Sistem garis rata boleh memperkenalkan EMA pelbagai kitaran masa, membina sistem perdagangan yang beradaptasi.
  3. Anda boleh menetapkan mekanisme hentikan kerugian untuk mengurangkan kerugian maksimum dalam satu transaksi.

ringkaskan

Strategi ini menggunakan penapisan linear seragam, pengesanan saluran ATR dan prinsip pemisahan emas. Ia dapat mengesan trend garis panjang dengan berkesan, dan mempunyai kestabilan yang baik. Ia boleh disesuaikan dengan aplikasi yang berbeza untuk pelbagai jenis dengan perubahan parameter.

Kod sumber strategi
/*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=4
strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(52, type=input.integer, minval=1, title="Length")
mul = input(1.618, type=input.float, minval=0, title="Length")
mullow = input(2.618, 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())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_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)