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

Tác giả:ChaoZhang, Ngày: 2024-02-22 13:46:51
Tags:

img

Chiến lược này sử dụng một 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, để thực hiện giao dịch định lượng tự động. Ưu điểm lớn nhất của nó nằm trong kiểm soát rủi ro đáng tin cậy bằng cách theo dõi dừng lỗ để khóa lợi nhuận và tránh mở rộng lỗ. Trong khi đó, các tín hiệu giao dịch đảo ngược tăng tỷ lệ 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, điểm mạnh, rủi ro và hướng tối ưu hóa của chiến lược này.

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ố chứng khoán để xác định các tín hiệu đảo ngược giá.

Nếu giá đóng tăng trong hai ngày liên tiếp, và đường Slow K 9 ngày thấp hơn 50, đi dài; Nếu giá đóng giảm trong hai ngày liên tiếp, và đường Fast K 9 ngày cao hơn 50, đi ngắn.

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

Các tín hiệu giao dịch cuối cùng là sự giao thoa của các tín hiệu từ hai chiến lược con. nghĩa là, một vị trí sẽ được mở chỉ khi cả hai chiến lược con phát ra tín hiệu đồng thời. Bằng cách sử dụng phương pháp Intersection Targets này, một số giao dịch ồn ào có thể được lọc ra và chất lượng tín hiệu có thể được cải thiện.

Ưu điểm của Chiến lược

  1. Tăng chất lượng tín hiệu bằng cách xác nhận hai lần bằng cách sử dụng hai chỉ số
  2. Ưu điểm thời gian nhất định với mô hình giao dịch đảo ngược
  3. Phân tích chuyển động giá trong tương lai kết hợp với phân tích khối lượng
  4. Cơ chế dừng lỗ đáng tin cậy để kiểm soát hiệu quả lỗ đơn

Rủi ro của chiến lược

  1. Các tín hiệu đảo ngược không lọc hoàn toàn tiếng ồn thị trường
  2. Khối lượng giao dịch bất thường dẫn đến đánh giá động lượng khối lượng không hợp lệ
  3. Cài đặt stop loss không chính xác, gây ra stop loss sớm hoặc stop loss quá lớn
  4. Thiếu cơ chế kiểm soát sử dụng, có khả năng rút ngắn tuổi thọ chiến lược

Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:

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

Tóm lại, chiến lược này chủ yếu dựa trên theo dõi hai chiều và đảo ngược giá, cộng với phân tích động lượng khối lượng để cải thiện chất lượng tín hiệu bằng 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à để phòng ngừa rủi ro dừng lỗ và quản lý vốn, để ngăn chặn việc rút tiền quá mức dẫn đến xóa sổ. Nhưng nói chung, chiến lược này sử dụng nhiều kỹ thuật giao dịch định lượng với logic rõ ràng và đáng nghiên cứu sâu sắ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 )

Thêm nữa