Strategi Perdagangan Penembusan Kuasa Volatiliti

Penulis:ChaoZhang, Tarikh: 2023-10-26 16:17:17
Tag:

img

Ringkasan

Strategi ini menggunakan purata bergerak, ATR, Bollinger Bands untuk penilaian trend dan perdagangan pecah, digabungkan dengan indeks kekuatan untuk masa, tergolong dalam strategi perdagangan pecah.

Logika Strategi

  1. Mengira garis tengah, atas dan bawah Bollinger Bands. garis tengah adalah sma harga penutupan, atas dan bawah adalah garis tengah ± stdDev.

  2. Hitung ATR pantas dan perlahan. ATR pantas mempunyai tempoh 20, ATR perlahan mempunyai tempoh 50.

  3. Mengira indeks kekuatan XFORCE, yang adalah kumulatif jumlah * (tutup - penutupan sebelumnya). dan mengira EMA pantas dan perlahan XFORCE.

  4. Menghakimi isyarat panjang: XFORCE cepat melintasi di atas XFORCE perlahan, dan ATR cepat > ATR perlahan, dan dekat > terbuka.

  5. Menghakimi isyarat pendek: XFORCE cepat menyeberang di bawah XFORCE perlahan, dan ATR cepat > ATR perlahan, dan dekat < terbuka.

  6. Pergi panjang apabila isyarat panjang dipicu, pergi pendek apabila isyarat pendek dipicu.

Analisis Kelebihan

  1. Purata bergerak memberikan trend, Bollinger Bands memberikan titik pecah.

  2. ATR menilai turun naik, melaksanakan perdagangan turun naik.

  3. Indeks kekuatan menentukan arah kekuatan, melaksanakan kekuatan pecah.

  4. Gabungan beberapa penunjuk memberikan penilaian yang komprehensif.

  5. Peraturan yang jelas dan mudah difahami dan dilaksanakan.

  6. Hasil backtest yang baik, keuntungan yang stabil.

Analisis Risiko

  1. Bollinger Bands boleh menghasilkan isyarat yang salah jika lebarnya tidak sesuai.

  2. Parameter ATR yang salah tidak dapat menangkap turun naik pasaran.

  3. Indeks kekuatan mempunyai kesan terhad, tidak dapat menentukan pembalikan trend sebenar.

  4. Sukar untuk menyesuaikan parameter dan berat untuk beberapa penunjuk.

  5. Isyarat pecah mungkin tidak tepat, divergensi mungkin berlaku.

  6. Pengurangan mungkin besar, boleh menggunakan stop loss untuk mengawalnya.

Arahan pengoptimuman

  1. Mengoptimumkan parameter Bollinger Bands untuk tempoh dan instrumen yang berbeza.

  2. Mengoptimumkan parameter ATR untuk menangkap volatiliti dengan lebih baik.

  3. Tambah penunjuk trend seperti MACD untuk pengesahan trend.

  4. Tambah strategi stop loss seperti trailing stop untuk mengawal pengeluaran.

  5. Gunakan algoritma AI untuk menilai isyarat pembalikan.

  6. Gabungkan pelbagai jangka masa untuk penilaian komprehensif dan mengurangkan isyarat palsu.

Ringkasan

Strategi ini mengintegrasikan purata bergerak, ATR, Bollinger Bands dan Indeks Kuasa untuk membentuk sistem perdagangan pecah lengkap. Penambahbaikan lanjut pada pengoptimuman parameter, menambah penapis trend, strategi stop loss dan algoritma AI dapat meningkatkan kestabilan dan keuntungan. Tetapi tidak ada strategi yang sempurna, pengoptimuman berterusan terhadap hasil backtest diperlukan untuk menyesuaikan diri dengan perubahan keadaan pasaran.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


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

if (bearish)
    strategy.entry("Sell", strategy.short)

Lebih lanjut