
Chiến lược tăng giá-giảm hai lần, là một chiến lược định lượng kết hợp các tín hiệu kép. Nó kết hợp một chiến lược trong ngày dựa trên sự đảo ngược và một chiến lược đánh giá xu hướng sử dụng giá cao nhất ngày hôm qua với giá chênh lệch của đường trung bình di chuyển. Chiến lược này nhằm mục đích đạt được tín hiệu mua bán ổn định hơn và tránh phát ra tín hiệu sai.
Đầu tiên, phần chiến lược đảo ngược. Chiến lược này tạo ra tín hiệu phán đoán khi giá đóng cửa bị đảo ngược hai ngày liên tiếp, đồng thời kết hợp với các chỉ số ngẫu nhiên để đánh giá tình trạng mua quá mức. Cụ thể, giá đóng cửa hai ngày liên tiếp chuyển từ tăng lên xuống, và chỉ số ngẫu nhiên nhanh cao hơn chỉ số ngẫu nhiên chậm là tín hiệu bán; giá đóng cửa hai ngày liên tiếp chuyển từ giảm lên tăng, và chỉ số ngẫu nhiên nhanh thấp hơn chỉ số ngẫu nhiên chậm là tín hiệu mua.
Sau đó, phần chiến lược cao-thấp. Chiến lược này sử dụng xu hướng đánh giá chênh lệch giữa giá cao nhất ngày hôm qua và giá trị của một đường trung bình di chuyển chỉ số dài 13. Tạo ra tín hiệu mua khi giá cao nhất cao hơn đường trung bình di chuyển; Tạo ra tín hiệu bán khi giá cao nhất thấp hơn đường trung bình di chuyển.
Cuối cùng, chiến lược này kết hợp hai tín hiệu. Hoạt động mua khi hai tín hiệu xuất hiện cùng một lúc với tín hiệu mua; Hoạt động bán khi hai tín hiệu xuất hiện cùng một lúc với tín hiệu bán.
Chiến lược này kết hợp với chỉ số tín hiệu kép, có thể giảm hiệu quả tín hiệu sai và số lần giao dịch không cần thiết. Phần đảo ngược có thể xác định hiện tượng quá mua quá bán, tránh theo đuổi đà giảm. Phần cao - thấp có thể xác định xu hướng giá lệch khỏi hiện tượng, tránh phá vỡ giả. Khi kết hợp, chỉ khi hai tín hiệu đồng bộ tạo ra tín hiệu giao dịch thực tế, có thể làm tăng đáng kể độ tin cậy của tín hiệu và giảm số lần giao dịch không hiệu quả.
Ngoài ra, phần đảo ngược và phần cao thấp sử dụng các loại chỉ số và tiêu chuẩn phán đoán khác nhau, cả hai đều có thể có hiệu quả xác minh lẫn nhau, làm giảm thêm các tín hiệu sai. Khi thị trường xảy ra tình huống đặc biệt, chỉ số đơn lẻ dễ phát ra tín hiệu sai, trong khi kết hợp phán đoán có thể bù đắp một số lỗi. Chiến lược phán đoán tổng hợp đa chỉ số này có thể tạo ra tín hiệu giao dịch đáng tin cậy và ổn định hơn.
Rủi ro lớn nhất của chiến lược này là trong thị trường xu hướng mạnh, tín hiệu đơn phương hợp lý có thể bị bỏ qua. Khi xu hướng rất rõ ràng, việc đánh giá tín hiệu của phần đảo ngược có thể bị sai, dẫn đến việc tín hiệu đơn phương cao - thấp không thể được thực hiện. Điều này đặc biệt rõ ràng trong thị trường bò và thị trường gấu xu hướng.
Ngoài ra, thiết lập tham số không đúng cũng có thể ảnh hưởng đến chiến lược. Việc thiết lập tham số trong phần đảo ngược cần xem xét hệ thống trung bình chu kỳ, và cần thiết lập phối hợp với chu kỳ trung bình di chuyển của phần cao và thấp. Nếu cả hai chu kỳ không đúng, sẽ có tín hiệu giả hoặc không có tín hiệu trực tiếp.
Thứ nhất, có thể thử nghiệm sửa đổi các tham số chiều dài của trung bình di chuyển phần cao-thấp để làm cho nó phù hợp hơn với chỉ số chu kỳ phần đảo ngược. Việc sử dụng chỉ số 13 chu kỳ cho phần cao-thấp hiện nay có thể quá nhạy cảm, bạn có thể thử kéo dài chu kỳ để có được phán đoán ổn định hơn.
Thứ hai, phần đảo ngược cũng có thể được thử nghiệm thay vì sử dụng các thực thể K-line, hiện chỉ có thể bị ảnh hưởng bởi giá đóng cửa. Việc đảo ngược của K-line lớn hơn có thể có tác dụng tín hiệu mạnh hơn khi xem xét các thực thể.
Cuối cùng, bạn cũng có thể cố gắng chỉ xem xét giao dịch khi có tín hiệu đảo ngược trong đĩa, cách giữ vị trí trong ngày hiện nay có rủi ro hơn. Thay vì thực hiện giao dịch đảo ngược tạm thời, bạn có thể tránh một phần rủi ro giữ vị trí.
Chiến lược Double Reverse High-Low kết hợp nhiều tín hiệu chỉ số, được kiểm tra lại hai lần trước khi phát đi tín hiệu mua và bán. Cơ chế lọc tín hiệu nghiêm ngặt này có thể làm giảm hiệu quả các tín hiệu vô hiệu và tín hiệu sai đối với giao dịch thực tế. Chiến lược này đã kiểm soát thành công tần suất giao dịch vô hiệu, làm cho mỗi giao dịch trở nên đáng tin cậy hơn, tránh giao dịch mù quáng theo dòng sóng.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/11/2020
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator plots the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if below.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
HEMA(Length) =>
pos = 0.0
xPrice = close // You can use any series
xEMA = ema(xPrice, Length)
nRes = high[1] - nz(xEMA[1])
pos:= iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
iff(posReversal123 == -1 and posHEMA == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )