Chiến lược giao dịch định lượng tích hợp đảo ngược và đường trung bình động tương lai


Ngày tạo: 2023-12-08 12:00:35 sửa đổi lần cuối: 2023-12-08 12:00:35
sao chép: 0 Số nhấp chuột: 624
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch định lượng tích hợp đảo ngược và đường trung bình động tương lai

Tổng quan

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.

Nguyên tắc chiến lược

123 Chiến lược đảo ngược

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.

Chiến lược trung bình trong tương lai

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.

Phân tích lợi thế

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.

Phân tích rủi ro

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.

Hướng tối ưu hóa

  1. Cải thiện chiến lược đảo ngược, thêm các chỉ số khác để lọc tín hiệu xác nhận, giảm khả năng phá vỡ giả
  2. So sánh các tham số dòng FLD khác nhau để xem liệu có thể mô tả chính xác hơn quy luật chu kỳ hay không
  3. Thêm logic dừng lỗ để kiểm soát rủi ro mất mát đơn lẻ
  4. Kiểm tra hiệu quả của các tham số khác nhau

Tóm tắt

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.

Mã nguồn chiến lược
/*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 )