Strategi perdagangan fractal chaos oscillator

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

Gambaran umum

Strategi ini menggunakan indikator Fractal Chaos Oscillator (FCO) untuk menentukan arah tren pasar untuk mengikuti tren. FCO membandingkan perubahan pada titik tertinggi dan terendah lokal untuk menilai pergerakan harga, dengan nilai antara -1 dan 1. Nilai yang lebih tinggi menunjukkan tren yang lebih kuat.

Logika Strategi

Mengidentifikasi titik tinggi dan rendah lokal dengan mencari pola candlestick tertentu. Bandingkan perubahan antara kelompok tinggi / rendah yang berdekatan untuk menghitung indikator FCO. Misalnya, jika kelompok tinggi / rendah terbaru berbeda dari kelompok sebelumnya, FCO adalah 1, yang menunjukkan kekuatan tren naik meningkat. Tentukan arah tren berdasarkan nilai FCO - pergi panjang pada nilai yang lebih tinggi dan pendek pada nilai yang lebih rendah.

Keuntungan

  • FCO secara efektif menilai arah tren hanya
  • Tidak diperlukan parameter yang rumit, mudah digunakan
  • Keuntungan untuk perdagangan intraday jangka pendek
  • Fleksibilitas untuk pergi panjang atau pendek sesuai kebutuhan

Risiko

  • Identifikasi pola tidak sepenuhnya akurat, mungkin melewatkan tikungan
  • Tidak dapat menentukan dengan akurat pembalikan tren, risiko kerugian
  • Perdagangan intraday yang sering meningkatkan biaya transaksi

Risiko dapat dikurangi melalui optimasi parameter dan penambahan indikator pembalikan.

Peluang Peningkatan

  • Uji periode yang berbeda untuk identifikasi pola
  • Mengoptimalkan ambang panjang/pendek FCO
  • Tambahkan moving average dll untuk menentukan pembalikan tren
  • Uji ketahanan pada produk yang berbeda

Kesimpulan

Strategi FCO menyederhanakan penilaian arah tren untuk perdagangan jangka pendek. Kinerja dapat ditingkatkan melalui penyesuaian parameter.


/*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 banyak