
Chiến lược phản hồi chỉ số Qstick hai chiều là một chiến lược theo dõi xu hướng và tạo tín hiệu giao dịch dựa trên chỉ số kỹ thuật Qstick do Tushar Chande phát triển. Chiến lược này đánh giá áp lực mua và áp lực bán của thị trường bằng cách tính toán chênh lệch trung bình di chuyển giữa giá mở và giá đóng của cổ phiếu và tạo tín hiệu giao dịch khi chênh lệch này đi qua trục 0 của chỉ số.
Chỉ số Qstick được lấy bằng cách tính toán trung bình di chuyển của giá đóng cửa và giá mở trong một chu kỳ nhất định. Khi Qstick lớn hơn 0, giá đóng cửa trong chu kỳ nói chung cao hơn giá mở, lực đa đầu chiếm ưu thế; Khi Qstick nhỏ hơn 0, giá mở cửa trong chu kỳ nói chung cao hơn giá đóng cửa, lực trống chiếm ưu thế.
Các tín hiệu giao dịch của chiến lược này đến từ khi chỉ số Qstick đi qua trục 0: Khi Qstick đi qua trục 0 từ phía dưới tạo ra tín hiệu mua, điều này cho thấy áp lực mua bắt đầu cao hơn áp lực bán, có thể thiết lập một vị trí đa đầu; Ngược lại, khi Qstick đi qua trục 0 từ phía trên tạo ra tín hiệu bán, điều này cho thấy áp lực bán bắt đầu tăng lên, cần bán vị trí. Ngoài ra, chiến lược này cũng có thể vẽ đường trung bình di chuyển của giá trị Qstick làm đường tín hiệu, và khi chỉ số Qstick đi qua đường tín hiệu cũng sẽ tạo ra tín hiệu giao dịch.
Chiến lược này cho phép lựa chọn các giao dịch đảo ngược. Đó là, thực sự thực hiện các giao dịch bán khi nó nên tạo ra một tín hiệu mua; thực sự thực hiện các giao dịch mua khi nó nên tạo ra một tín hiệu bán. Điều này có thể được sử dụng để đảo ngược theo ý thức hệ thị trường của các nhà đầu tư chính thống.
Chiến lược Qstick 0-axis chéo hai chiều có những ưu điểm sau:
Chiến lược Qstick hai chiều qua 0 cũng có một số rủi ro:
Bạn có thể làm giảm nguy cơ bằng cách:
Chiến lược Qstick 0-axis chéo hai chiều có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược Qstick sử dụng các chỉ số đơn giản để đánh giá sự thay đổi áp lực mua bán, tạo ra tín hiệu giao dịch khi các chỉ số Qstick giao nhau, có thể nắm bắt được xu hướng giá hiệu quả. Chiến lược này dễ hiểu trực quan, phù hợp cho người mới bắt đầu sử dụng, cũng có thể được tối ưu hóa bằng nhiều phương tiện để phù hợp với nhu cầu của các nhà giao dịch cao cấp.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 16/04/2018
// A technical indicator developed by Tushar Chande to numerically identify
// trends in candlestick charting. It is calculated by taking an 'n' period
// moving average of the difference between the open and closing prices. A
// Qstick value greater than zero means that the majority of the last 'n' days
// have been up, indicating that buying pressure has been increasing.
//
// Transaction signals come from when the Qstick indicator crosses through the
// zero line. Crossing above zero is used as the entry signal because it is indicating
// that buying pressure is increasing, while sell signals come from the indicator
// crossing down through zero. In addition, an 'n' period moving average of the Qstick
// values can be drawn to act as a signal line. Transaction signals are then generated
// when the Qstick value crosses through the trigger line.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Qstick Indicator Backtest")
Length = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xR = close - open
xQstick = sma(xR, Length)
clr = iff(xQstick >= 0, green, red)
pos = iff(xQstick > 0, 1,
iff(xQstick < 0, -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 )
p1 = plot(0, color=black, title="0")
p2 = plot(xQstick, color=blue, title="Qstick")
fill(p1, p2, color=clr)