Elder Ray Bull Power Combo Strategi

Penulis:ChaoZhang, Tarikh: 2023-11-21 11:36:48
Tag:

img

Ringkasan

Strategi ini menggabungkan strategi pembalikan 123 dan strategi kuasa lembu Elder Ray untuk menjana isyarat perdagangan gabungan, mencapai kedua-dua trend berikut dan keupayaan menangkap pembalikan.

Logika Strategi

Bahagian pembalikan

Menurut logik strategi pembalikan pada halaman 183 buku Chen Qin How I Tripped My Money in The Futures Market: pergi panjang apabila harga penutupan lebih tinggi daripada penutupan sebelumnya selama 2 hari berturut-turut dan garis perlahan stokastik 9 hari di bawah 50; pergi pendek apabila harga penutupan lebih rendah daripada penutupan sebelumnya selama 2 hari berturut-turut dan garis cepat stokastik 9 hari di atas 50.

Bahagian Kuasa Bull

Menurut penunjuk Elder Ray Dr. Alexander Elder: Purata bergerak eksponensial 13 hari (EMA) mewakili konsensus pasaran nilai. Kuasa lembu mengukur keupayaan pembeli untuk mendorong harga di atas konsensus nilai. Kuasa lembu mencerminkan keupayaan penjual untuk mendorong harga di bawah konsensus purata nilai. Kuasa lembu dikira dengan mengurangkan EMA 13 hari dari tinggi hari. Kuasa lembu mengurangkan EMA 13 hari dari rendah hari.

Sempadan untuk penunjuk kuasa bull dalam strategi ini ditetapkan kepada 0, yang bermaksud bahawa mana-mana nilai yang lebih besar daripada 0 menghasilkan isyarat perdagangan.

Isyarat Gabungan

Isyarat perdagangan akhir dihasilkan apabila isyarat kuasa pembalikan dan bull sejajar ke arah yang sama. Isyarat panjang dicetuskan apabila kedua-dua isyarat kuasa pembalikan dan bull panjang. Isyarat pendek dicetuskan apabila kedua-dua isyarat kuasa pembalikan dan bull pendek.

Analisis Kelebihan

Ini adalah strategi gabungan yang membentuk isyarat perdagangan menggunakan kedua-dua strategi pembalikan dan trend-mengikuti, yang mempunyai kelebihan menangkap pembalikan dan mengikuti trend.

Bahagian pembalikan boleh mengunci peluang pembalikan selepas lompatan jurang. Bahagian kuasa lembu memastikan kedudukan hanya dibuka apabila trend wujud. Digabungkan mereka dengan berkesan menapis pecah palsu dan mengelakkan terperangkap.

Parameter sangat fleksibel untuk pengoptimuman di seluruh produk dan jangka masa yang berbeza untuk mencari kombinasi parameter yang terbaik.

Analisis Risiko

Kebarangkalian penyelarasan antara isyarat kuasa pembalikan dan bull adalah agak rendah, yang boleh membawa kepada isyarat yang jarang berlaku.

Bahagian pembalikan mungkin secara keliru mengenal pasti tindakan harga yang terikat julat ke sisi sebagai peluang pembalikan, menyebabkan kemasukan awal. Bahagian kuasa lembu boleh kehilangan beberapa peluang pembalikan. Menggunakan mereka bersama dapat mengurangkan risiko ini hingga tahap tertentu. Penapis trend ke hadapan boleh diperkenalkan untuk pengoptimuman lanjut.

Arahan pengoptimuman

  1. Cuba lebih banyak kombinasi parameter untuk mencari tetapan optimum;
  2. Tambah modul penapis trend untuk mengelakkan kedudukan yang berulang kali ditubuhkan tanpa trend yang jelas;
  3. Pertimbangkan untuk menambah strategi stop loss untuk mengawal kerugian setiap perdagangan.

Ringkasan

Strategi ini mempunyai kedua-dua trend berikut dan keupayaan perdagangan pembalikan, menjadikannya strategi combo par excellence. Dengan pengoptimuman parameter, keuntungan yang stabil boleh dijangkakan. Sementara itu, risiko seperti isyarat jarang dan salah menilai memerlukan perhatian. Ke hadapan, penapis trend, stop loss dan modul lain boleh diperkenalkan untuk meningkatkan lagi prestasi praktikal.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

BP(Trigger,Length) =>
    pos = 0
    DayHigh = 0.0
    xPrice = close
    xMA = ema(xPrice,Length)
    DayHigh := iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))
    nRes = DayHigh - xMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes < Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Elder Ray (Bull Power)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthBP = input(13, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBP = BP(Trigger,LengthBP)
pos = iff(posReversal123 == 1 and posBP == 1 , 1,
	   iff(posReversal123 == -1 and posBP == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
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