Phương pháp này dùng Fractal Chaos Oscillator (FCO) để đánh giá xu hướng thị trường và theo dõi xu hướng. FCO đánh giá xu hướng giá bằng cách so sánh sự thay đổi của các giá trị cực lớn và cực nhỏ tại địa phương, trong phạm vi từ -1 đến 1, số lượng cao hơn cho thấy xu hướng rõ ràng hơn.
Tính FCO được tính bằng cách tìm kiếm các giá trị cực lớn và cực nhỏ của một hình dạng K cụ thể. So sánh sự thay đổi của hai nhóm cực lớn cạnh nhau và tính toán chỉ số FCO. Ví dụ, khi một nhóm cực nhỏ tối đa mới nhất không đồng thời với nhóm trước đó, FCO là 1, cho thấy xu hướng tăng giá trở nên mạnh mẽ.
Các tham số có thể được tối ưu hóa thích hợp, hoặc kết hợp với các chỉ số khác để đánh giá xu hướng đảo ngược.
Chiến lược FCO sử dụng các chỉ số đơn giản để xác định hướng xu hướng, phù hợp với giao dịch đường ngắn. Có thể nâng cao hiệu quả bằng các phương pháp như tối ưu hóa tham số. Đây là một chiến lược theo dõi xu hướng dễ thực hiện.
/*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")