Strategi perdagangan kuantitatif FNGU berdasarkan Bollinger Bands dan RSI


Tarikh penciptaan: 2024-01-29 14:53:47 Akhirnya diubah suai: 2024-01-29 14:53:47
Salin: 0 Bilangan klik: 671
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif FNGU berdasarkan Bollinger Bands dan RSI

Gambaran keseluruhan

Strategi ini dinamakan “FNGU Quantitative Trading Strategy” yang menggunakan garis Brin dan RSI. Strategi ini adalah strategi untuk mengambil posisi panjang khusus untuk saham FNGU. Strategi ini menggunakan garis Brin dan RSI untuk mengenal pasti saham yang terlalu banyak dibeli dan dijual, yang menghasilkan isyarat beli dan jual.

Prinsip Strategi

Logik teras strategi ini adalah berdasarkan kepada penggunaan gabungan indikator Brinline dan RSI.

Pertama, garis Brin terdiri daripada tiga garis: garis tengah, garis atas, dan garis bawah. Di antaranya, garis tengah adalah purata bergerak sederhana n hari, dan garis atas dan bawah adalah perbezaan piawai k kali positif negatif dari garis tengah.

Dalam strategi ini, jangka masa Bollinger Bands adalah 235 hari dan parameter k adalah 2. Ia menghasilkan isyarat beli apabila harga berada di bawah Bollinger Bands atau apabila harga melangkaui Bollinger Bands dari bawah ke atas; ia menghasilkan isyarat jual apabila harga berada di atas Bollinger Bands.

Kedua, RSI mencerminkan tahap pembelian dan penjualan saham. RSI lebih tinggi daripada 70 menandakan pembelian dan penjualan yang berlebihan. Dalam strategi ini, parameter RSI mempunyai tempoh panjang 2.

Dalam strategi ini, gabungan menggunakan indikator Bollinger Bands dan RSI: menghasilkan isyarat beli apabila indikator RSI menembusi kawasan oversold dan pada masa yang sama harga di bawah atau menyentuh garis bawah Bollinger Bands; menghasilkan isyarat jual apabila indikator RSI menembusi kawasan oversold dan harga di atas Bollinger Bands.

Kelebihan Strategik

Strategi ini mempunyai beberapa kelebihan:

  1. Gabungan Bollinger Bands dan RSI menjadikan isyarat jual beli lebih tepat dan lebih dipercayai.

  2. Dengan menggunakan garis Brin untuk mengenal pasti kawasan jual beli saham, RSI menyaring isyarat palsu, dan kedua-duanya saling melengkapi.

  3. Hanya berdagang dalam kedudukan panjang, tanpa mengambil kira risiko perdagangan kosong.

  4. Parameter strategi telah dioptimumkan untuk saham FNGU yang bergelombang tinggi.

  5. Penangguhan automatik untuk mengurangkan risiko kerugian.

  6. Pemrograman mudah, jelas, mudah difahami dan diubah suai.

Risiko dan Penyelesaian

Strategi ini juga mempunyai beberapa risiko, terutamanya:

  1. Kedua-dua garis Brin dan RSI boleh menghasilkan isyarat palsu, mudah untuk diperdagangkan, perlu berhati-hati. Parameter boleh disesuaikan dengan sewajarnya, atau penapis tambahan untuk penunjuk lain.

  2. Saham FNGU sendiri berfluktuasi tinggi, penyetempatan kerugian yang tidak tepat boleh meningkatkan kerugian. Perlu meluaskan markah kerugian yang sesuai.

  3. Strategi ini hanya sesuai untuk saham yang bergelombang tinggi seperti FNGU, tidak sesuai untuk saham lain, perlu menyesuaikan parameter mengikut saham yang berbeza.

  4. Parameter strategi telah dioptimumkan, tetapi perubahan pasaran mungkin menyebabkan parameter tidak lagi berlaku dan perlu terus memberi perhatian kepada pengoptimuman.

Arah pengoptimuman strategi

Strategi ini juga boleh dioptimumkan dengan cara berikut:

  1. Tambahan kombinasi penunjuk lain, seperti KDJ, MACD dan sebagainya, menjadikan isyarat lebih tepat.

  2. Optimumkan parameter Brinline dan RSI untuk lebih banyak jenis saham.

  3. Menambah model pembelajaran mesin untuk membantu membuat keputusan, menggunakan lebih banyak data untuk menghasilkan isyarat perdagangan.

  4. Mencapai transaksi lintas kitaran, menggunakan data dimensi masa yang lebih tinggi untuk menghasilkan isyarat.

  5. Ia juga boleh digabungkan dengan analisis emosi dan data sosial untuk menghasilkan isyarat dagangan.

  6. Membangunkan sistem tindak balas kuantitatif untuk menguji dengan cepat parameter yang berbeza.

ringkaskan

Strategi ini adalah strategi jangka panjang, terutama untuk saham yang bergelombang seperti FNGU. Ia digabungkan dengan penggunaan indikator Brinline dan RSI untuk menghasilkan isyarat perdagangan ketika berlaku keadaan overbought dan oversold, yang bertujuan untuk menangkap peluang untuk membalikkan harga saham.

Kod sumber strategi
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)

///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
BBtarget38 = BBbasis + 0.38 * BBdev  // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev  // Line at 50% of Bollinger Band width

///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)

source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)

///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width")  // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width")  // Line at 50%
plot(ema, color=color.orange, title="EMA")  // Plot EMA

///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper

close_long = close > BBbasis
close_short = close < BBbasis

if (not na(vrsi))
    if longCondition
        strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
    else
        strategy.cancel(id="Buy")
        
    if close_long
        strategy.close("Buy")

if (sellCondition)
    strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
    strategy.cancel(id="Sell")

if close_short
    strategy.close("Sell")