Penembusan harga purata bergerak berganda dan strategi gabungan keseimbangan kuasa jangka pendek


Tarikh penciptaan: 2024-01-08 17:09:48 Akhirnya diubah suai: 2024-01-08 17:09:48
Salin: 3 Bilangan klik: 635
1
fokus pada
1617
Pengikut

Penembusan harga purata bergerak berganda dan strategi gabungan keseimbangan kuasa jangka pendek

Gambaran keseluruhan

Strategi ini mula-mula menggunakan purata bergerak indeks tempoh 2 dan 20 untuk membina penunjuk garis keseimbangan ganda, untuk menilai sama ada harga menembusi garis keseimbangan, sebagai penghakiman asas di dalam arena masuk. Pada masa yang sama, penunjuk penilaian tambahan untuk mengesan lebih lanjut kekuatan relatif multihead dan kosong, penapis kesalahan pengendalian.

Prinsip Strategi

  1. 220 rata-rata

    • Hitung purata bergerak indeks tempoh 2 dan 20 ((EMA)
    • Sinyal perdagangan dikeluarkan apabila harga penutupan melepasi dari satu sisi garis purata ke sisi lain
    • Penembusan 20 adalah isyarat untuk menentukan trend
    • Penembusan 2 adalah isyarat untuk menentukan tempat masuk
  2. Indikator keseimbangan kuasa udara

    • Mengira nilai kekuatan multihead dan nilai kekuatan kosong
    • Perbandingan saiz kedua-dua pesawat menunjukkan kekuatan udara yang lebih kuat.
    • Arah kekuatan sebagai penilaian tambahan untuk masuk
  3. Penghakiman gabungan kedua-dua indikator

    • Indeks Dua Garis Persamaan Untuk Menentukan Arah Trend Besar
    • Indeks keseimbangan kekuatan udara untuk penilaian serantau tempatan
    • Apabila kedua-dua pihak bersetuju, mereka akan menghantar isyarat perdagangan.

Analisis kelebihan

Kelebihan utama strategi gabungan ini adalah menggabungkan pelbagai jenis penunjuk untuk membuat keputusan perdagangan yang lebih dipercayai. Secara khusus, terdapat beberapa kelebihan berikut:

  1. Menggunakan garis keseimbangan ganda untuk menilai arah yang lebih besar dan mengelakkan penipuan yang tidak menentu
  2. Menggunakan Indeks Keseimbangan Kekuatan Air untuk membuat penilaian serantau tempatan, dengan tepat menguasai tempat masuk tertentu
  3. Kedua-dua penunjuk saling mengesahkan, menapis kesalahan tertentu dan mengurangkan risiko perdagangan
  4. Tetapan parameter yang fleksibel, boleh dioptimumkan untuk varieti pasaran yang berbeza
  5. Idea strategi mudah difahami dan mudah dioptimumkan

Analisis risiko

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Penurunan isyarat penunjuk boleh menyebabkan titik henti terlalu dalam
  2. Penunjuk dua garis rata lebih sensitif kepada tetapan parameter
  3. Indeks keseimbangan multi-udara agak kurang tepat untuk menilai keadaan jangka pendek
  4. Dalam keadaan khas (selalunya terdapat isyarat palsu penembusan), kedua-dua indikator mungkin mengalami bias penilaian

Kaedah pencegahan:

  1. Memendekkan tempoh pegangan dengan betul, atau menetapkan hentian bergerak yang sesuai
  2. Uji kombinasi parameter yang berbeza untuk mencari parameter yang optimum
  3. Rujukan lain untuk pengesahan
  4. Parameter pengoptimuman mengikut ciri-ciri varieti

Arah pengoptimuman

Strategi ini boleh dioptimumkan dari segi berikut:

  1. Uji lebih banyak kombinasi parameter penunjuk rata-rata
  2. Meningkatkan strategi penutupan kerugian dan mengawal penutupan kerugian tunggal
  3. Gabungan dengan indikator kadar turun naik, meningkatkan kemampuan penyesuaian parameter
  4. Menambah model pembelajaran mesin untuk optimasi parameter dinamik
  5. Mencuba penunjuk pergerakan yang berbeza untuk menggantikan penunjuk keseimbangan multifungsi
  6. Membangunkan antara muka visual untuk memudahkan pengguna menguji parameter yang berbeza

ringkaskan

Strategi ini menilai trend besar dengan menggunakan indikator dua hala yang sama, dan membantu menentukan masa masuk dengan indikator keseimbangan kekuatan pelbagai ruang. Kedua-dua indikator saling disahkan, yang dapat mengurangkan kemungkinan kesalahan. Pilihan parameter strategi fleksibel, dapat disesuaikan secara optimum untuk pelbagai jenis. Secara keseluruhannya, strategi ini lebih mudah digunakan, bernilai belajar dan digunakan oleh pelabur yang luas.

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"}]
*/

//@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)