Sumber dimuat naik... memuat...

Strategi Gabungan Keseimbangan Kuasa Rata-rata Bergerak Berganda dan Bull Bear

Penulis:ChaoZhang, Tarikh: 2024-01-08 17:09:48
Tag:

img

Ringkasan

Strategi ini mula-mula menggunakan garis purata bergerak berganda EMA 2 tempoh dan 20 tempoh untuk menentukan sama ada harga memecahkan purata bergerak, sebagai kriteria asas untuk memasuki pasaran. Pada masa yang sama, penunjuk tambahan Bull Bear Power Balance Indicator lebih lanjut mengenal pasti kuasa relatif antara lembu dan beruang untuk mengelakkan operasi yang salah. Kedua-dua jenis penunjuk bersama-sama menghasilkan isyarat perdagangan akhir.

Prinsip Strategi

  1. Penunjuk purata bergerak berganda

    • Mengira purata bergerak eksponen 2 tempoh dan 20 tempoh (EMA)
    • Menghasilkan isyarat perdagangan apabila harga penutupan menembusi dari satu sisi purata bergerak ke yang lain
    • Menembusi 20-EMA menentukan arah trend
    • Menembusi 2-EMA menentukan titik masuk tertentu
  2. Indikator Keseimbangan Kuasa Bull Bear

    • Mengira secara berasingan nilai kuasa lembu dan nilai kuasa beruang
    • Bandingkan kedua-dua nilai untuk menentukan kekuatan relatif antara lembu dan lembu
    • Arahan yang lebih kuat berfungsi sebagai keputusan tambahan untuk masuk
  3. Penilaian gabungan kedua-dua penunjuk

    • Indikator purata bergerak berganda menilai arah trend utama
    • Bull bear power balance indicator membuat penilaian tempatan serantau
    • Mengeluarkan isyarat dagangan apabila kedua-dua penunjuk memberikan penilaian yang konsisten

Analisis Kelebihan

Kelebihan terbesar strategi gabungan ini adalah untuk mengintegrasikan penunjuk pelbagai jenis untuk mencapai penilaian perdagangan yang lebih boleh dipercayai.

  1. Menggunakan purata bergerak berganda untuk menentukan arah utama, elakkan ditipu oleh turun naik tempatan
  2. Gunakan indikator keseimbangan kuasa bull bear untuk penilaian serantau tempatan untuk memahami dengan tepat titik masuk tertentu
  3. Dua jenis penunjuk mengesahkan antara satu sama lain dan boleh menapis beberapa operasi yang salah untuk mengurangkan risiko perdagangan
  4. Tetapan parameter yang fleksibel yang boleh dioptimumkan untuk pelbagai jenis pasaran
  5. Idea strategi adalah mudah dan jelas, mudah difahami, dan mudah untuk mengoptimumkan kemudian

Analisis Risiko

Beberapa risiko strategi ini perlu diperhatikan:

  1. Kelewatan isyarat penunjuk boleh membawa kepada titik stop loss yang lebih dalam
  2. Indikator purata bergerak berganda sensitif kepada tetapan parameter
  3. Indikator baki bull bear mempunyai ketepatan yang sedikit lebih rendah dalam menilai trend jangka pendek
  4. Pengecualian penilaian mungkin berlaku untuk kedua-dua penunjuk di bawah keadaan pasaran khas (isyarat pecah palsu biasa)

Tindakan balas:

  1. Memendekkan tempoh penahan atau menetapkan stop loss bergerak yang sesuai
  2. Uji kombinasi parameter yang berbeza untuk mencari parameter optimum
  3. Rujuk kepada penunjuk lain untuk pengesahan
  4. Mengoptimumkan parameter berdasarkan ciri-ciri pelbagai jenis

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Uji lebih banyak gabungan parameter indikator purata bergerak
  2. Meningkatkan strategi stop loss untuk mengawal satu stop loss
  3. Memasukkan penunjuk turun naik untuk meningkatkan penyesuaian parameter sendiri
  4. Tambah model pembelajaran mesin untuk mencapai pengoptimuman parameter dinamik
  5. Cuba indikator trend yang berbeza untuk menggantikan keseimbangan kuasa bull bear
  6. Membangunkan antara muka visual untuk ujian pengguna yang mudah dari parameter yang berbeza

Kesimpulan

Strategi ini menilai trend utama melalui penunjuk purata bergerak berganda dan menggunakan penunjuk imbangan kuasa bull bear untuk membantu menentukan masa kemasukan. Kedua-dua penunjuk saling mengesahkan dan dapat mengurangkan kebarangkalian kesalahan operasi dengan berkesan. Parameter strategi fleksibel dan boleh dioptimumkan untuk pelbagai jenis. Secara keseluruhan, strategi ini mudah dan praktikal, bernilai dipelajari dan digunakan oleh kebanyakan pelabur. Pengoptimuman berikutnya dapat meningkatkan prestasi 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"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


BBB(SellLevel,BuyLevel) =>
    pos = 0.0
    value = close < open ? 
              close[1] > open ?  math.max(close - open, high - low) : high - low : 
                 close > open ? 
                  close[1] > open ? math.max(close[1] - low, high - close) : math.max(open - low, high - close) :
                   high - close > close - low ? 
                     close[1] > open ? math.max(close[1] - open, high - low) :high - low : 
                      high - close < close - low ? 
                         close > open ? math.max(close - low, high - close) : open - low : 
                           close > open ? math.max(close[1] - open , high - close) :
                             close[1] < open ? math.max(open - low, high - close) : high - low
    
    value2 =close < open ? 
              close[1] < open ?  math.max(high - close[1], close - low) : math.max(high - open, close - low) : 
               close > open ? 
                 close[1] > open ?  high - low : math.max(open - close[1], high - low) : 
                  high - close > close - low ? 
                   close[1] < open ? math.max(high - close[1], close - low) : high - open : 
                     high - close < close - low ? 
                      close[1] > open ?  high - low : math.max(open - close, high - low) : 
                       close[1] > open ? math.max(high - open, close - low) :
                         close[1] < open? math.max(open - close, high - low): high - low
    nBBB = value2 - value
    pos :=  nBBB < SellLevel ? -1 :
    	     nBBB >= BuyLevel ? 1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & Bull And Bear Balance', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════  Bull And Bear Balance ═════●'
SellLevel = input.float(-15, step=0.01, group=I2)
BuyLevel = input.float(15, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBBB = BBB(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBBB == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBBB == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)

Lebih lanjut