Penulis:ChaoZhang
Tag:

img

Gambaran umum

Prinsip Strategi

123 Sistem pembalikan

Sistem pembalikan 123 berasal dari halaman 183 buku How I Tripped My Money in The Futures Market oleh Ulf Jensen.

Indikator Fraktal Chaos Bands

Indikator Fractal Chaos Bands menentukan tren pasar dengan memetakan harga tertinggi dan terendah untuk membentuk rel atas dan bawah.

Bagian ini terutama berfungsi sebagai filter tren, dikombinasikan dengan sinyal pembalikan 123.

Keuntungan dari Strategi

  1. Menggabungkan pembalikan dan tren untuk menangkap peluang secara komprehensif

  1. Mengurangi sinyal palsu dan meningkatkan tingkat kemenangan

  1. Pengaturan parameter yang fleksibel dan kemampuan beradaptasi yang kuat

Risiko dan Optimalisasi

  1. Tidak mampu beradaptasi dengan tren utama

Strategi itu sendiri lebih bergantung pada peluang perdagangan jangka menengah. Di bawah tren pasar utama, strategi dapat menghasilkan terlalu banyak sinyal terbalik dan berhenti dengan kerugian. Ini dapat dioptimalkan melalui penyesuaian parameter.

  1. Membutuhkan dukungan modal margin

  1. Dapat menggabungkan lebih banyak indikator untuk penyaringan

Strategi dapat memperkenalkan lebih banyak jenis indikator yang berbeda pada dasar yang ada untuk memperkaya sumber sinyal dan meningkatkan ketahanan strategi.

Kesimpulan

Strategi Mengikuti Tren Band Osilasi Reversal Ganda berhasil menggabungkan keuntungan dari perdagangan reversal dan mengikuti tren. Ini dapat menangkap reversal dan mengikuti tren, membuatnya sangat komprehensif dan efisien. Dibandingkan dengan satu indikator, ini dapat sangat mengurangi sinyal palsu dan meningkatkan tingkat kemenangan perdagangan dan tingkat keuntungan yang sebenarnya. Selain itu, strategi ini memiliki penyesuaian parameter yang fleksibel bagi pengguna untuk mengoptimalkan sesuai dengan gaya dan lingkungan pasar mereka sendiri. Secara umum, ini adalah strategi kuantitatif yang sangat baik yang layak untuk verifikasi perdagangan langsung.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/09/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
//  Stock market moves in a highly chaotic way, but at a larger scale, the movements 
// follow a certain pattern that can be applied to shorter or longer periods of time 
// and we can use Fractal Chaos Bands Indicator to identify those patterns. Basically, 
// the Fractal Chaos Bands Indicator helps us to identify whether the stock market is 
// trending or not. When a market is trending, the bands will have a slope and if market 
// is not trending the bands will flatten out. As the slope of the bands decreases, it 
// signifies that the market is choppy, insecure and variable. As the graph becomes more 
// and more abrupt, be it going up or down, the significance is that the market becomes 
// trendy, or stable. Fractal Chaos Bands Indicator is used similarly to other bands-indicator 
// (Bollinger bands for instance), offering trading opportunities when price moves above or 
// under the fractal lines.
//
// The FCB indicator looks back in time depending on the number of time periods trader selected 
// to plot the indicator. The upper fractal line is made by plotting stock price highs and the 
// lower fractal line is made by plotting stock price lows. Essentially, the Fractal Chaos Bands 
// show an overall panorama of the price movement, as they filter out the insignificant fluctuations 
// of the stock price.
//
// 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

fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
    res = 0.0
	for i = pattern to 1
		okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

fractalDn(pattern) =>
    p = low[pattern+1]
    okl = 1
    okr = 1
    res =0.0
	for i = pattern to 1
		okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

FCB(Pattern) =>
    pos = 0.0
    xUpper = fractalUp(Pattern)
    xLower = fractalDn(Pattern)    
    pos := iff(close > xUpper, 1,
             iff(close < xLower, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Bands", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFCB = FCB(Pattern)
pos = iff(posReversal123 == 1 and posFCB == 1 , 1,
	   iff(posReversal123 == -1 and posFCB == -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