
Chiến lược này kết hợp chiến lược 123 reversal và chiến lược forward moving average line, để thực hiện chiến lược giao dịch định lượng entrada hoặc salida khi cả hai chiến lược phát tín hiệu cùng một lúc. Chiến lược này được áp dụng chủ yếu cho thị trường chứng khoán tương lai, bằng cách nắm bắt sự kết hợp của tín hiệu reversal ngắn hạn và tín hiệu xu hướng trung hạn, để thực hiện giao dịch giữ vị thế trung hạn.
123 chiến lược đảo ngược bắt nguồn từ cuốn sách “Làm thế nào để tăng gấp ba lần số tiền của tôi trên thị trường tương lai”. Chiến lược này được thực hiện khi giá đóng cửa đảo ngược hai ngày liên tiếp và đường K chậm dưới 50 ngày liên tiếp; và làm trống khi giá đóng cửa đảo ngược hai ngày liên tiếp và đường K nhanh hơn 50 ngày liên tiếp.
Phương pháp phân định đường trung bình tương lai (Future Lines of Demarcation, FLD) là một chiến lược theo dõi xu hướng dựa trên định luật chu kỳ của biến động giá. Các đường FLD được vẽ dựa trên giá trung bình, giá cao hoặc giá thấp di chuyển thẳng về tương lai khoảng một nửa chu kỳ, tạo ra tín hiệu giao dịch khi đường giá đi qua đường FLD.
Chiến lược này kết hợp chiến lược đảo ngược và chiến lược theo dõi xu hướng, đồng thời nắm bắt cơ hội đảo ngược thị trường ngắn hạn và hướng xu hướng trung hạn, thực hiện giao dịch định lượng theo nhiều quy mô thời gian. Chiến lược đảo ngược cung cấp cơ hội kiếm lợi nhuận ngắn hạn, phần theo dõi xu hướng có thể đảm bảo hướng giao dịch tổng thể phù hợp với xu hướng và kiểm soát rủi ro giao dịch hiệu quả. Ngoài ra, tính năng tự điều chỉnh của đường trung bình di chuyển trong tương lai cũng tăng cường sự ổn định của chiến lược.
Chiến lược này chủ yếu đối mặt với nguy cơ phá vỡ giả của tín hiệu đảo ngược và nguy cơ phán đoán đường FLD sai. Đối với những người trước đây, có thể xác nhận tín hiệu đảo ngược bằng cách điều chỉnh tham số hoặc thêm các chỉ số phán đoán hỗ trợ khác để tăng độ chính xác. Đối với những người sau, cần tối ưu hóa tham số để đảm bảo nó mô tả chính xác hơn quy luật băng tần của thị trường. Ngoài ra, cũng cần cảnh giác về khả năng đường FLD sai khi xu hướng chu kỳ lớn đảo ngược.
Chiến lược này kết hợp lý thuyết giao dịch của sự đảo ngược và xu hướng, để đạt được lợi nhuận ổn định trong khung thời gian ngắn và trung hạn. Trong tương lai, có thể được tối ưu hóa từ các khía cạnh như xác nhận độ chính xác của tín hiệu, mô tả độ chính xác của xu hướng và kiểm soát rủi ro, làm cho các tham số chiến lược rộng hơn và ổn định hơn.
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/08/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
// An FLD is a line that is plotted on the same scale as the price and is in fact the
// price itself displaced to the right (into the future) by (approximately) half the
// wavelength of the cycle for which the FLD is plotted. There are three FLD's that can be
// plotted for each cycle:
// An FLD based on the median price.
// An FLD based on the high price.
// An FLD based on the low price.
//
// 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
FLD(Period,src) =>
pos = 0
pos := iff(src[Period] < close , 1,
iff(src[Period] > close, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & FLD's - Future Lines of Demarcation", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(title="Period", defval=40)
src = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFLD = FLD(Period,src)
pos = iff(posReversal123 == 1 and posFLD == 1 , 1,
iff(posReversal123 == -1 and posFLD == -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 )