Dual Balanced Bulls dan Bear Strategy

Penulis:ChaoZhang, Tanggal: 2023-10-30 10:31:17
Tag:

img

Gambaran umum

Strategi Bulls and Bears Dual Balanced adalah strategi kombinasi yang menggabungkan strategi 123 Reversal dan indikator Bulls and Bears Balance.

Prinsip-prinsip

Strategi ini terdiri dari dua sub-strategi:

  1. 123 Strategi pembalikan. Ini menghasilkan sinyal ketika dua harga penutupan terakhir menunjukkan pembalikan, yaitu pergi panjang ketika dua harga penutupan sebelumnya menurun sementara harga penutupan ketiga naik, dan pergi pendek ketika dua harga penutupan sebelumnya naik sementara harga penutupan ketiga turun.

  2. Bulls and Bears Strategi indikator saldo. Ini menilai tren pasar dengan menghitung keseimbangan antara kekuatan bullish dan bearish. Secara khusus, ini menggunakan perbedaan antara harga penutupan saat ini dan harga pembukaan, serta perbedaan antara hari saat ini dan hari sebelumnya untuk menentukan kekuatan bullish dan bearish. Semakin besar perbedaan antara kekuatan bullish dan bearish, semakin jelas tren.

Strategi gabungan mengambil sinyal perdagangan dari sinyal yang dihasilkan oleh dua sub-strategi. Ini hanya akan mengambil sinyal, misalnya pergi panjang, ketika kedua sub-strategi memberikan sinyal yang konsisten, yaitu kedua sinyal untuk pergi panjang. Jika sinyal dari dua sub-strategi berbeda, strategi gabungan akan melewatkan sinyal itu dan tetap di samping.

Keuntungan

Keuntungan terbesar dari strategi Bulls dan Bears Dual Balanced adalah keandalan yang tinggi. Dengan membutuhkan sinyal yang konsisten dari kedua sub-strategi sebelum memasuki perdagangan, ini berfungsi sebagai mekanisme verifikasi untuk menghindari sinyal palsu. Selain itu, dengan dua sub-strategi memanfaatkan peluang dari sisi pembalikan dan tren masing-masing, strategi ini menawarkan diversifikasi untuk mengurangi risiko dari satu strategi.

Strategi 123 Reversal dapat menangkap peluang pembalikan jangka pendek di pasar. Strategi Bulls and Bears Balance dapat menentukan arah tren jangka panjang. Menggunakan keduanya memungkinkan menangkap pembalikan sambil berpegang pada tren utama, menyaring sinyal pembalikan yang lebih lemah dan meningkatkan tingkat kemenangan.

Risiko

Risiko terbesar adalah bahwa kemungkinan sinyal yang salah dari sub-strategi berlipat ganda. Meskipun strategi gabungan membutuhkan sinyal yang konsisten, jika kedua sub-strategi memberikan sinyal yang salah pada saat yang sama, strategi gabungan masih akan masuk ke perdagangan, menimbulkan kerugian dua kali lipat.

Selain itu, konflik dapat muncul antara sub-strategi, dengan satu sinyal untuk pergi panjang sementara yang lain pendek. Strategi gabungan kemudian akan kehilangan peluang. Konflik berkepanjangan dapat mencegah strategi gabungan untuk masuk untuk waktu yang lama, mengurangi efisiensi modal.

Optimalisasi

Pertimbangkan untuk memasukkan strategi pembalikan tren sebagai sub-strategi ketiga. Ini dapat membantu menentukan tren jangka panjang dan memberikan sinyal ketika tren berbalik. Menambahkan strategi untuk menilai tren pasar dapat lebih lanjut menyaring sinyal palsu dan meningkatkan stabilitas.

Arah lain adalah penyesuaian parameter sub-strategi untuk sinyal yang lebih selaras. misalnya, penyesuaian parameter ambang batas strategi Bulls and Bears Balance untuk menangkap tren yang lebih lemah dan melengkapi strategi pembalikan.

Penanganan konflik berkepanjangan antara sub-strategi juga dapat diteliti. Misalnya, menetapkan tingkat toleransi maksimum untuk konflik, setelah itu sinyal dari sub-strategi individu akan diambil. Ini dapat mengurangi kehilangan peluang sampai batas tertentu.

Kesimpulan

Strategi Bulls and Bears Dual Balanced menggabungkan strategi 123 Reversal dan strategi Bulls and Bears Balance untuk mencapai verifikasi ganda sinyal perdagangan dan secara efektif menyaring sinyal palsu dan meningkatkan stabilitas. Sementara itu, menggabungkan strategi reversal dan tren memberikan diversifikasi untuk mengurangi risiko. Strategi dapat lebih dioptimalkan dengan menyesuaikan parameter, menambahkan strategi ketiga dll untuk meningkatkan keselarasan dan efisiensi modal. Secara keseluruhan, strategi ini memiliki ide-ide baru dan nilai praktis yang substansial.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2019
// 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
//    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.
////////////////////////////////////////////////////////////
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

BullAndBearBalance(SellLevel, BuyLevel) =>
    pos = 0
    value =  iff (close < open , 
              iff (close[1] > open ,  max(close - open, high - low), high - low), 
               iff (close > open, 
                 iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
                  iff(high - close > close - low, 
                   iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                     iff (high - close < close - low, 
                      iff(close > open, max(close - low, high - close),open - low), 
                       iff (close > open, max(close[1] - open, high - close),
                         iff(close[1] < open, max(open - low, high - close), high - low))))))

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

strategy(title="Combo Backtest 123 Reversal & Bull And Bear Balance", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(-15, step=0.01)
BuyLevel = input(15, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullAndBearBalance = BullAndBearBalance(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullAndBearBalance == 1 , 1,
	   iff(posReversal123 == -1 and posBullAndBearBalance == -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 banyak