Chiến lược giao dịch định lượng đảo ngược theo dõi hai chiều


Ngày tạo: 2024-02-22 13:46:51 sửa đổi lần cuối: 2024-02-22 13:46:51
sao chép: 0 Số nhấp chuột: 615
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng đảo ngược theo dõi hai chiều

Chiến lược này sử dụng cơ chế theo dõi hai chiều, kết hợp với tín hiệu đảo ngược giá và chỉ số khối lượng giao dịch, để thực hiện giao dịch định lượng tự động. Ưu điểm lớn nhất của nó là kiểm soát rủi ro đáng tin cậy, khóa lợi nhuận bằng cách theo dõi dừng lỗ và tránh mở rộng tổn thất. Đồng thời, tín hiệu giao dịch đảo ngược tăng cường chiến thắng của chiến lược. Bài viết này sẽ phân tích chi tiết các nguyên tắc, lợi thế, rủi ro và hướng tối ưu hóa của chiến lược.

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

Chiến lược này bao gồm hai chiến lược con. Chiến lược con đầu tiên sử dụng các chỉ số ngẫu nhiên để xác định tín hiệu đảo ngược giá, logic cụ thể là:

Nếu giá đóng cửa tăng hai ngày liên tiếp và đường Slow K thấp hơn 50 vào ngày 9, hãy làm nhiều hơn; Nếu giá đóng cửa giảm hai ngày liên tiếp và đường Fast K cao hơn 50 vào ngày 9, hãy bỏ trống.

Chiến lược con thứ hai là kết hợp các chỉ số giao dịch, điểm yếu của khả năng phán đoán. Cụ thể, là so sánh lượng giao dịch hiện tại với giá trị trung bình của lượng giao dịch trong 40 ngày. Nếu lượng giao dịch hiện tại lớn hơn giá trị trung bình, coi đó là lượng có thể tấn công, thuộc tín hiệu đảo ngược, làm trống; Nếu lượng giao dịch hiện tại nhỏ hơn giá trị trung bình, coi đó là lượng có thể giảm, thuộc tín hiệu đảo ngược, làm nhiều hơn.

Tín hiệu giao dịch cuối cùng, là sự giao thoa của hai tín hiệu chiến lược con trên. Đó là khi hai chiến lược con phát tín hiệu cùng một lúc, thì sẽ mở vị trí. Bằng cách lọc Intersection Targets, bạn có thể lọc một số giao dịch tiếng ồn, cải thiện chất lượng tín hiệu.

Lợi thế chiến lược

  1. Sử dụng xác nhận hai chỉ số để cải thiện chất lượng tín hiệu
  2. Mô hình giao dịch ngược, có lợi thế về thời gian
  3. Kết hợp phân tích khối lượng giao dịch để xác định xu hướng giá trong tương lai
  4. Cơ chế dừng lỗ đáng tin cậy, kiểm soát hiệu quả lỗ đơn

Rủi ro chiến lược

  1. Các tín hiệu đảo ngược có thể bị hỏng và không thể lọc hoàn toàn tiếng ồn thị trường
  2. Khi số lượng giao dịch bất thường, định lượng sẽ không hiệu quả.
  3. Cài đặt dừng lỗ không đúng, có thể gây ra dừng lỗ sớm hoặc dừng lỗ quá lớn
  4. Cơ chế kiểm soát rút lui không hoàn hảo có thể làm giảm tuổi thọ chiến lược

Có thể tối ưu hóa hơn nữa bằng cách:

  1. Tăng quy tắc đánh giá xu hướng, tránh giao dịch ngược
  2. Tối ưu hóa logic dừng lỗ, thực hiện theo dõi dừng lỗ và dừng lỗ theo giai đoạn
  3. Tăng giới hạn rút tiền tối đa, đóng cửa chiến lược tránh thiệt hại lớn
  4. Kết hợp các thuật toán học máy để xây dựng mô hình dừng động và kiểm soát vị trí

Nhìn chung, chiến lược này sử dụng theo dõi hai chiều và đảo ngược giá thành logic giao dịch chính, và được hỗ trợ bởi phán đoán định lượng, để cải thiện chất lượng tín hiệu bằng cách xác nhận kép. Trong ứng dụng thực tế, vẫn cần thử nghiệm và tối ưu hóa thêm, đặc biệt là để bảo vệ rủi ro về dừng lỗ và quản lý tài chính, để ngăn chặn phá sản gây ra quá nhiều.

Mã nguồn chiến lược
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/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
// Volume and SMA
//
// 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

    
VSAVol(Length) =>
    pos = 0.0
    xSMA_vol = sma(volume, Length)
    pos := iff(volume > xSMA_vol, -1,
    	     iff(volume < xSMA_vol, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Volume SMA", 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_MAVol = input(40, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posVSAVol = VSAVol(Length_MAVol)
pos = iff(posReversal123 == 1 and posVSAVol == 1 , 1,
	   iff(posReversal123 == -1 and posVSAVol == -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 )