Volatiliti Rendah Beli Strategi Beli Volati Tinggi


Tarikh penciptaan: 2024-01-08 11:33:58 Akhirnya diubah suai: 2024-01-08 11:33:58
Salin: 0 Bilangan klik: 607
1
fokus pada
1617
Pengikut

Volatiliti Rendah Beli Strategi Beli Volati Tinggi

Gambaran keseluruhan

Strategi ini bertujuan untuk mengkaji perbezaan antara membeli aset semasa turun naik rendah dan turun naik tinggi. Ia membolehkan pengguna memilih untuk membeli semasa turun naik rendah dan turun naik tinggi dengan mengubah mod input pembolehubah.

Prinsip Strategi

Strategi ini menentukan kadar turun naik dengan mengira ATR dan SMA-nya. Khususnya, ia mengira SMA ATR dan kemudian mengira nisbah ATR terhadap SMA-nya. Jika nisbah ini lebih tinggi daripada had volatilityTargetRatio yang ditentukan oleh pengguna, maka kadar turun naik dianggap tinggi; jika lebih rendah daripada had itu, maka kadar turun naik dianggap rendah.

Bergantung pada mod pilihan pengguna, strategi menghasilkan isyarat beli apabila turun naik tinggi atau turun naik rendah. Setelah membeli, strategi akan memegang beberapa bar (dikenali oleh sellAfterNBarsLength) dan kemudian menetap.

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Anda boleh secara intuitif membandingkan prestasi strategi pembelian semasa turun naik rendah dan turun naik tinggi.
  2. Dengan menggunakan SMA untuk meluruskan ATR, anda boleh menapis penembusan palsu.
  3. Anda boleh menguji tahap kadar turun naik yang berbeza dengan menyesuaikan parameter.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Jika anda hanya membeli pada kadar turun naik yang rendah, anda mungkin terlepas peluang untuk menaikkan harga.
  2. Jika anda hanya membeli kadar turun naik yang tinggi, anda mungkin akan meningkatkan risiko sistem.
  3. Tetapan parameter yang tidak betul boleh menyebabkan kehilangan peluang untuk membeli atau meletakkan terlalu awal.

Risiko di atas boleh dikurangkan dengan menyesuaikan parameter, menggabungkan pembelian dengan tahap kadar turun naik yang berbeza.

Arah pengoptimuman

Strategi ini boleh dioptimumkan lagi:

  1. Uji parameter panjang ATR yang berbeza.
  2. Tambah strategi penangguhan kerugian
  3. Penembusan palsu disaring dengan penunjuk lain.
  4. Optimumkan syarat untuk membeli dan meletakkan.

ringkaskan

Strategi ini dapat membandingkan dengan berkesan prestasi strategi membeli dengan turun naik rendah dan turun naik tinggi. Ia menggunakan SMA untuk meluruskan ATR dan menghasilkan isyarat perdagangan berdasarkan tahap turun naik. Strategi ini dapat diperbaiki dengan menyesuaikan parameter dan mengoptimumkan keadaan.

Kod sumber strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L

//@version=5
strategy("I11L - Better Buy Low Volatility or High Volatility?", overlay=false)

mode = input.string("Buy low Volatility",options = ["Buy low Volatility","Buy high Volatility"])
volatilityTargetRatio = input.float(1,minval = 0, maxval = 100,step=0.1, tooltip="1 equals the average atr for the security, a lower value means that the volatility is lower")
atrLength = input.int(14)

atr = ta.atr(atrLength) / close
avg_atr = ta.sma(atr,atrLength*5)
ratio = atr / avg_atr

sellAfterNBarsLength = input.int(5, step=5, minval=0)


var holdingBarsCounter = 0

if(strategy.opentrades > 0)
    holdingBarsCounter := holdingBarsCounter + 1


isBuy = false

if(mode == "Buy low Volatility")
    isBuy := ratio < volatilityTargetRatio
else
    isBuy := ratio > volatilityTargetRatio

isClose = holdingBarsCounter > sellAfterNBarsLength



if(isBuy)
    strategy.entry("Buy",strategy.long)

if(isClose)
    holdingBarsCounter := 0
    strategy.exit("Close",limit=close)

plot(ratio, color=isBuy[1] ? color.green : isClose[1] ? color.red : color.white)
plot(1, color=color.white)