Bollinger Bands dan Indeks Kekuatan Intraday Mean Reversion Strategy


Tarikh penciptaan: 2024-02-20 15:07:59 Akhirnya diubah suai: 2024-02-20 15:07:59
Salin: 0 Bilangan klik: 825
1
fokus pada
1617
Pengikut

Bollinger Bands dan Indeks Kekuatan Intraday Mean Reversion Strategy

Gambaran keseluruhan

Strategi ini adalah strategi pulangan purata berdasarkan Bollinger Bands dan Indeks Kekuatan Dalam Hari. Ia menggunakan harga untuk menembusi Bollinger Bands ke bawah, digabungkan dengan Indeks Kekuatan Dalam Hari untuk menentukan masa masuk.

Prinsip Strategi

Strategi ini bermula dengan mengira lintasan tengah, lintasan atas, dan lintasan bawah. Lintasan tengah adalah purata bergerak sederhana atau purata bergerak indeks harga penutupan. Lintasan atas dan bawah dibina dengan mengira perbezaan piawai, menambah dua kali ganda perbezaan piawai pengurangan di lintasan tengah.

Sebagai penunjuk penilaian tambahan, strategi ini memperkenalkan indeks kekuatan harian. Ia menggabungkan maklumat harga dan maklumat jumlah transaksi. Apabila indeks adalah positif, ia menunjukkan peningkatan kekuatan membeli, sebagai isyarat lebih banyak kedudukan. Apabila indeks adalah negatif, ia menunjukkan peningkatan kekuatan jual, sebagai isyarat kosong.

Dalam pembukaan kedudukan, strategi ini memerlukan harga untuk menembusi Bollinger Bands ke bawah, dan indikator penilaian indeks kekuatan dalam sehari. Dalam halangan, strategi ini mengambil waktu berhenti, dan jika tidak mendapat keuntungan selepas lebih daripada satu kitaran tertentu, pilih berhenti untuk keluar.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah memanfaatkan ciri-ciri pulangan purata harga untuk mendapatkan keuntungan. Apabila harga mengalami penyimpangan yang besar, berdasarkan undang-undang statistik, terdapat kebarangkalian yang lebih besar bahawa harga akan kembali ke sumbu tengah nilai rata-rata, yang memberikan asas teori untuk operasi strategi.

Kelebihan lain ialah, strategi ini menambah indeks intensiti dalam masa satu hari untuk penapis isyarat harga. Jumlah transaksi dapat membuktikan keberkesanan isyarat harga. Ini mengelakkan isyarat yang salah dalam beberapa keadaan apabila jumlah transaksi tidak mencukupi akibat kejutan harga yang teruk.

Analisis risiko

Walaupun strategi ini bergantung pada kemungkinan harga kembali ke purata untuk mendapatkan keuntungan, pergerakan acak harga pasaran juga boleh menyebabkan stop loss tercetus, yang menyebabkan kerugian. Ini adalah risiko yang dihadapi oleh strategi pulangan rata-rata.

Risiko utama yang lain adalah bahawa harga kembali ke nilai purata adalah proses jangka masa yang panjang. Bagi pelabur, wang mungkin terkurung untuk sementara waktu. Risiko masa ini boleh menyebabkan pelabur kehilangan peluang pelaburan lain yang lebih baik.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter Brin, pusingan penyesuaian, indikator standard deviasi untuk menyesuaikan diri dengan keadaan pasaran yang berbeza

  2. Cuba jenis moving average lain, seperti linear weighted moving average untuk meningkatkan kehalusan

  3. Mencuba jenis lain daripada penunjuk kuantiti untuk mencari isyarat pengesahan yang lebih baik

  4. Menambah strategi Stop Loss Stop Loss untuk mengawal kerugian maksimum bagi setiap pesanan

ringkaskan

Strategi ini secara keseluruhannya adalah strategi pulangan nilai rata-rata yang tipikal. Keuntungan bergantung pada peristiwa kebarangkalian, tetapi risikonya juga jelas. Dengan penyesuaian parameter, pengoptimuman penunjuk mungkin mendapat hasil yang lebih baik.

Kod sumber strategi
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Bollinger Bands Strategy with Intraday Intensity Index
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Bollinger Bands Strategy with Intraday Intensity Index", shorttitle="Bollinger Bands Strategy", overlay=true)

BBlength = input(20, title="Bollinger Bands length")
BBmaType = input("SMA", title="Bollinger Bands MA type", type=input.string, options=["SMA", "EMA"])
BBprice = input(close, title="source")
timeStop = input(10, title="Time-based stop length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
withIII = input(true, title="with Intraday Intensity Index?")
IIIlength = input(21, title="Intraday Intensity Index length")

//function for choosing moving averages
f_ma(type, src, len) =>
    float result = 0
    if type == "SMA"
        result := sma(src, len)
    if type == "EMA"
        result := ema(src, len)
    result

//Intraday Intensity Index
k1 = (2 * close - high - low) * volume
k2 = high != low ? high - low : 1
i = k1 / k2
iSum = sum(i, IIIlength)

//Bollinger Bands
BBbasis = f_ma(BBmaType, BBprice, BBlength)
BBdev = BBmult * stdev(BBprice, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

plot(BBupper, title="Bollinger Bands Upper Line")
plot(BBlower, title="Bollinger Bands Lower Line")
plot(BBbasis, title="Bollinger Bands Mid line", color=color.maroon)

//Strategy
buy = close[1]<BBlower[1] and close>BBlower and (withIII ? iSum>0 : 1)
sell = close>BBbasis or buy[timeStop] or (strategy.openprofit>0 and buy==0 and buy[1]==0 and buy[2]==0 and buy[3]==0)
short = close[1]>BBupper[1] and close<BBupper and (withIII ? iSum<0 : 1)
cover = close<BBbasis or short[timeStop] or (strategy.openprofit>0 and short==0 and short[1]==0 and short[2]==0 and short[3]==0)

strategy.entry(id="enter long", long=true, when=buy)
strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
strategy.close(id="enter short", comment="exit short", when=cover)