
Chiến lược đảo ngược chéo hai dòng là một chiến lược theo dõi xu hướng, nó kết hợp chiến lược đảo ngược 123 và chiến lược dao động xu hướng DiNapoli để tạo ra tín hiệu giao dịch thông qua chéo hai dòng để thực hiện chức năng theo dõi xu hướng thị trường.
Chiến lược này bao gồm hai phần:
Chiến lược đảo ngược 123: Chiến lược này sử dụng chỉ số stochastic để tạo tín hiệu. Khi giá đóng cửa tăng lên sau hai ngày liên tiếp giảm và đường nhanh stochastic thấp hơn đường dài và đường nhanh thấp hơn 50, tạo ra tín hiệu mua; Khi giá đóng cửa tăng sau hai ngày liên tiếp giảm và đường nhanh stochastic cao hơn đường dài và đường nhanh cao hơn 50, tạo ra tín hiệu bán.
DiNapoli theo xu hướng chiến lược dao động: Chiến lược này sử dụng giá động trung bình của giá, khi giá cao hơn hoặc thấp hơn một mức độ nhất định của trung bình di chuyển, tạo ra tín hiệu giao dịch. Cụ thể, khi giá vượt quá trung bình di chuyển Trigger giá trị tích cực tạo ra tín hiệu mua, khi giá thấp hơn trung bình di chuyển Trigger giá trị âm tạo ra sell.
Sau khi hai chiến lược trên tạo ra tín hiệu giao dịch riêng biệt, chiến lược này tích hợp chúng. Chiến lược này sẽ tạo ra chỉ thị giao dịch thực tế khi tín hiệu giao dịch của cả hai là đồng nhất, tức là khi hai đường chéo tạo thành tín hiệu đồng hướng, nếu không thì không thực hiện bất kỳ hoạt động nào.
Chiến lược này kết hợp với tín hiệu giao dịch song song, có thể theo dõi xu hướng thị trường một cách hiệu quả và có những ưu điểm sau:
Tận dụng tối đa các lợi thế của tính quyết định và xu hướng của chỉ số stochastic để tránh thiệt hại do tín hiệu chỉ số bị sai lệch.
Chỉ số DiNapoli có thể xác định được xu hướng một cách hiệu quả, tránh việc mở các vị trí không cần thiết do biến động ngẫu nhiên.
Giao tiếp hai dây có thể giảm hiệu quả tín hiệu giả, cải thiện chất lượng tín hiệu và cung cấp cơ sở mạnh mẽ để đánh giá xu hướng.
Các tham số chiến lược có thể được điều chỉnh, người dùng có thể chọn các tham số tùy theo sở thích cá nhân, linh hoạt thích ứng với các môi trường thị trường khác nhau.
Chiến lược này cũng có những rủi ro sau:
Trong thị trường bò, chiến lược có thể được thiết lập quá thận trọng bởi các tham số chỉ số, dẫn đến việc bỏ lỡ cơ hội mua tốt. Các tham số có thể được điều chỉnh thích hợp để chiến lược trở nên tích cực hơn.
Trong thị trường gấu, tín hiệu giao chéo hai đường có thể bị trì hoãn, dẫn đến quá mua quá bán, nên rút ngắn chu kỳ trung bình một cách thích hợp, làm cho chiến lược nhạy cảm hơn.
Trong trường hợp giao dịch đơn phương lớn, tín hiệu giao chéo hai đường có thể bị chậm, nên đặt dừng lỗ để kiểm soát tổn thất.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Kiểm tra và tối ưu hóa các tham số của chỉ số Stochastic và DiNapoli để tìm ra sự kết hợp tham số tốt nhất.
Thêm các chỉ số phán đoán phụ trợ khác như chỉ số âm lượng, làm phong phú logic nội tại của chiến lược, nâng cao độ chính xác của tín hiệu.
Sử dụng phương pháp học máy để đào tạo và tối ưu hóa các tham số chiến lược và các quy tắc tạo tín hiệu để thích ứng toàn diện hơn với sự thay đổi của thị trường.
Kết hợp các chỉ số kỹ thuật cao để đánh giá cấu trúc địa phương, phân biệt tín hiệu đường ngắn và đường dài, để chiến lược hoạt động trong nhiều khung thời gian.
Chiến lược đảo ngược chéo hai dòng sử dụng tổng hợp hai chỉ số để tạo ra tín hiệu giao dịch chéo hai dòng, có thể theo dõi xu hướng thị trường một cách hiệu quả, thu được lợi nhuận tốt hơn với điều kiện kiểm soát rủi ro, là một chiến lược theo dõi xu hướng đáng tin cậy. Chiến lược này có thể được cải tiến và nâng cấp liên tục bằng cách tối ưu hóa tham số và thêm các chỉ số phụ trợ, có triển vọng ứng dụng rộng rãi.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/02/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
// DiNapoli Detrended Oscillator Strategy
//
// 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
DiNapoli(Length, Trigger) =>
pos = 0.0
xSMA = sma(close, Length)
nRes = close - xSMA
pos := iff(nRes > Trigger, 1,
iff(nRes <= Trigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & DiNapoli Detrended Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDiN = input(14, minval=1)
TriggerDiN = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDiN = DiNapoli(LengthDiN, TriggerDiN)
pos = iff(posReversal123 == 1 and posDiN == 1 , 1,
iff(posReversal123 == -1 and posDiN == -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 )