Strategi Bearish Jangka Pendek Berdasarkan Penunjuk Crossover EMA dan Bear Power

Penulis:ChaoZhang, Tarikh: 2023-10-17 14:00:41
Tag:

img

Ringkasan

Strategi ini menggabungkan penunjuk crossover EMA dan penunjuk kekuatan beruang untuk menjana isyarat penurunan jangka pendek. EMA crossover menilai trend manakala kekuatan beruang menentukan masa penjualan pendek. Strategi ini sesuai untuk perdagangan jangka pendek untuk menangkap pembetulan pasaran.

Logika Strategi

  1. EMA Crossover: Mengira purata bergerak eksponensial tempoh 2/20 (EMA) dan menghasilkan isyarat jual apabila harga di bawah EMA.

  2. Kuasa Bear: Mengira perbezaan antara harga penutupan dan harga pembukaan hari sebagai nilai kuasa. Nilai kuasa yang lebih besar daripada ambang jual memberi isyarat penurunan (-1 untuk pendek); nilai kuasa yang lebih rendah daripada ambang beli memberi isyarat kenaikan (1 untuk panjang); sebaliknya 0 untuk neutral.

  3. Menggabungkan kedua-dua penunjuk, isyarat pendek dihasilkan apabila persimpangan EMA <0 dan kuasa pembawa <-1.

  4. Strategi ini membuka pendek berdasarkan isyarat jual dan menutup kedudukan berdasarkan isyarat keluar. Parameter terbalik boleh menukar arah panjang / pendek.

Kelebihan

  1. EMA crossover boleh meramalkan titik pembalikan trend terlebih dahulu.

  2. Kuasa beruang menangkap peluang jual pendek semasa penurunan intraday yang kuat.

  3. Menggabungkan dua penunjuk membantu menapis pecah palsu dan mengenal pasti momentum penurunan yang lebih kuat.

  4. Parameter fleksibel sesuai dengan produk dan persekitaran pasaran yang berbeza.

  5. Fungsi pembalikan menyesuaikan diri dengan pasaran dua hala.

Risiko

  1. Perpindahan EMA mungkin tertinggal dari titik perubahan yang optimum.

  2. Kuasa beruang boleh menghasilkan isyarat palsu semasa pengukuhan yang terhad.

  3. Ia gagal menentukan trend jangka sederhana dan panjang, dengan risiko terperangkap.

  4. Penyesuaian parameter yang diperlukan sebagai tetapan yang tidak sesuai seperti tempoh EMA yang terlalu pendek atau ambang jualan yang terlalu tinggi boleh meningkatkan isyarat palsu.

  5. Perhatikan peristiwa ekonomi utama untuk mengelakkan sesi dagangan yang dirancang.

Peningkatan

  1. Pertimbangkan untuk menambah stop loss kepada had kerugian setiap perdagangan.

  2. Tambah penapis seperti penunjuk momentum untuk mengelakkan isyarat penurunan yang lemah.

  3. Tambah EMA tempoh yang lebih lama untuk menentukan arah trend utama dan mengelakkan perdagangan yang bertentangan dengan trend.

  4. Mengoptimumkan parameter seperti tempoh EMA adaptif dan ambang jualan dinamik.

  5. Pertimbangkan untuk menggabungkan beberapa jangka masa untuk menggabungkan penunjuk jangka pendek, sederhana dan panjang.

Kesimpulan

Strategi ini mula-mula menggunakan persilangan EMA untuk menentukan trend utama dan titik pembalikan, kemudian menangkap peluang penjualan intraday yang kuat menggunakan penunjuk kekuatan beruang, membentuk strategi bearish jangka pendek yang kukuh. Kelebihannya terletak pada kesederhanaannya, fleksibiliti untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza, dan keupayaan untuk membalikkan arah panjang / pendek. Walau bagaimanapun, risiko seperti kehilangan titik optimum dan menghasilkan isyarat palsu tetap ada. Penambahbaikan lanjut pada pengoptimuman parameter, menambah penapis dan stop loss dapat membantu meningkatkan kestabilan strategi.


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

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/04/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
//  Bear Power 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


BP(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
    pos := value > SellLevel ? -1 :
    	     value <= BuyLevel ? 1 :nz(pos[1], 0) 

    pos

strategy(title='Combo 2/20 EMA & Bear Power', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bear Power ═════●'
SellLevel = input.float(10, step=0.01, group=I2)
BuyLevel = input.float(1, 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)
prePosBP = BP(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBP == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBP == 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