
Chiến lược trích xuất xu hướng đợt thổi phồng là một chiến lược theo dõi xu hướng cổ phiếu dựa trên bộ lọc đợt thổi phồng. Chiến lược này sử dụng chỉ số trọng lượng trung bình di chuyển và đợt thổi phồng để xử lý chuỗi giá, trích xuất thành phần xu hướng trong giá và sử dụng một số tham số nhất định làm tín hiệu để tạo ra vị trí yên ổn.
Chiến lược này đầu tiên xây dựng một trung bình di chuyển có trọng lượng chỉ số đúp, điều chỉnh độ dài và độ trượt của trung bình di chuyển bằng cách điều chỉnh các tham số Length và Delta. Sau đó, sử dụng một bộ chuyển đổi toán học, trích xuất các thành phần xu hướng trong chuỗi giá, lưu trữ trong biến xBandpassFilter. Cuối cùng, tính toán trung bình di chuyển đơn giản xMean của xBandpassFilter làm chỉ số cho việc xây dựng và lưu trữ.
Khi xMean vượt qua các tham số Trigger đặt ở mức độ làm nhiều đầu, khi đi ngang làm đầu trống. Bạn có thể điều chỉnh mức độ Trigger để kiểm soát sự nhạy cảm của việc xây dựng kho và kho.
Có thể cải thiện sự trễ thời gian bằng cách rút ngắn các tham số Length một cách thích hợp, điều chỉnh độ nhạy của chiến lược kiểm soát mức độ kích hoạt.
Chiến lược này nói chung là ổn định hơn và hoạt động tốt hơn trong thị trường xu hướng mạnh. Nó có thể được tối ưu hóa thêm bằng nhiều cách để duy trì lợi nhuận ổn định trong nhiều môi trường thị trường hơn. Chiến lược này đáng để nghiên cứu và áp dụng thêm.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")