Strategi Dagangan Fractal Chaos Oscillator

Penulis:ChaoZhang, Tarikh: 2023-09-18 15:10:09
Tag:

Ringkasan

Strategi ini menggunakan penunjuk Fractal Chaos Oscillator (FCO) untuk menentukan arah trend pasaran untuk mengikuti trend. FCO membandingkan perubahan pada paras tertinggi dan terendah tempatan untuk menilai pergerakan harga, dengan nilai antara -1 dan 1. Nilai yang lebih tinggi menunjukkan trend yang lebih kuat. Pergi panjang apabila FCO mencapai nilai tinggi, dan pendek apabila mencapai nilai rendah.

Logika Strategi

Mengenali paras tertinggi dan terendah tempatan dengan mencari corak candlestick tertentu. Bandingkan perubahan antara kumpulan tinggi/rendah bersebelahan untuk mengira penunjuk FCO. Sebagai contoh, jika kumpulan tinggi/rendah terkini berbeza dari kumpulan sebelumnya, FCO adalah 1, menunjukkan kekuatan trend menaik meningkat. Menentukan arah trend berdasarkan nilai FCO - pergi panjang pada nilai yang lebih tinggi dan pendek pada nilai yang lebih rendah.

Kelebihan

  • FCO menilai arah trend secara berkesan dengan mudah
  • Tidak memerlukan parameter yang rumit, mudah digunakan
  • Menarik untuk perdagangan intraday jangka pendek
  • Fleksibiliti untuk pergi panjang atau pendek jika perlu

Risiko

  • Pengesanan corak tidak sepenuhnya tepat, mungkin terlepas belokan
  • Tidak dapat menentukan pembalikan trend dengan tepat, risiko kerugian
  • Perdagangan intraday yang kerap meningkatkan kos transaksi

Risiko boleh dikurangkan melalui pengoptimuman parameter dan penambahan penunjuk pembalikan.

Peluang Peningkatan

  • Uji tempoh yang berbeza untuk pengenalan corak
  • Mengoptimumkan ambang panjang/pendek FCO
  • Tambah purata bergerak dan sebagainya untuk menentukan pembalikan trend
  • Uji ketahanan di seluruh produk yang berbeza

Kesimpulan

Strategi FCO memudahkan penilaian arah trend untuk perdagangan jangka pendek. Prestasi boleh ditingkatkan melalui penyesuaian parameter. Konsep trend berikut yang mudah dilaksanakan.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/02/2018
//   The value of Fractal Chaos Oscillator is calculated as the difference between 
// the most subtle movements of the market. In general, its value moves between 
// -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the 
// more one can say that it follows a certain trend – an increase in prices trend, 
// or a decrease in prices trend.
//
//   Being an indicator expressed in a numeric value, traders say that this is an 
// indicator that puts a value on the trendiness of the markets. When the FCO reaches 
// a high value, they initiate the “buy” operation, contrarily when the FCO reaches a 
// low value, they signal the “sell” action. This is an excellent indicator to use in 
// intra-day trading.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
	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
	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

strategy(title="Fractal Chaos Oscillator", overlay = false)
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
xUpper = fractalUp(Pattern)
xLower = fractalDn(Pattern)
xRes = iff(xUpper != xUpper[1], 1, 
         iff(xLower != xLower[1], -1, 0))
pos = iff(xRes == 1, 1,
       iff(xRes == -1, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )           
plot(xRes, color=blue, title="FCO")

Lebih lanjut