Chiến lược đảo ngược đường trung bình động kép


Ngày tạo: 2023-09-26 15:27:58 sửa đổi lần cuối: 2023-09-26 15:27:58
sao chép: 0 Số nhấp chuột: 623
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược đảo ngược đường trung bình kép là một chiến lược giao dịch chứng khoán kết hợp sử dụng đường trung bình và nguyên tắc đảo ngược. Chiến lược này đầu tiên sử dụng nguyên tắc 123 đảo ngược để xây dựng tín hiệu giao dịch đảo ngược, sau đó lọc kết hợp với chỉ số di chuyển trung bình 2 / 20 và chỉ tạo ra chỉ thị giao dịch khi hai tín hiệu phù hợp để tăng sự ổn định của chiến lược. Chiến lược này được thiết kế để nắm bắt cơ hội đảo ngược ngắn hạn và sử dụng bộ lọc xu hướng dài hạn để khóa cơ hội giao dịch có khả năng cao.

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

Chiến lược này bao gồm hai phần:

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

123 chiến lược đảo ngược bắt nguồn từ một hệ thống chiến lược đảo ngược trong cuốn sách How to get three times the return in the futures market. Chiến lược này dựa trên nguyên tắc sau: Nếu trong hai ngày giá tròn từ cao xuống thấp, và ngày 9 đường K chậm thấp hơn 50, thì bạn có thể coi hiện tại là ở điểm đảo ngược và nên mua. Nếu trong hai ngày giá tròn từ thấp lên cao, và ngày 9 đường K nhanh hơn 50, thì bạn có thể coi hiện tại là ở điểm đảo ngược và nên bán.

  1. Chiến lược trung bình di chuyển chỉ số 220

Chiến lược này sử dụng chỉ số di chuyển trung bình 220 để đánh giá xu hướng dài hạn. Khi giá cao hơn đường trung bình 220 thì nó là đà, và khi giá thấp hơn đường trung bình 220 thì nó là đà. Chiến lược này có thể được sử dụng để lọc các đột phá giả.

Kết hợp cả hai chiến lược này, một tín hiệu giao dịch thực sự sẽ được tạo ra khi tín hiệu 123 reverse và tín hiệu 2 / 20 even line phù hợp.

Phân tích lợi thế chiến lược

Chiến lược này kết hợp các biến động ngắn hạn và xu hướng dài hạn, có những lợi thế sau:

  1. Ghi chú: Ghi chú: Ghi chú: Ghi chú: Ghi chú:

Chiến lược đảo ngược 123 có thể nắm bắt các hiện tượng mua quá mức trong thời gian ngắn, những điểm biến đổi này thường dẫn đến điều chỉnh giá lớn hơn, do đó có thể có được không gian lợi nhuận cao hơn.

  1. Bộ lọc 220 có thể tránh nguy cơ đột phá giả

Chiến lược đảo ngược đơn giản dễ bị ảnh hưởng bởi thị trường xu hướng, tạo ra nhiều tín hiệu giả. Thêm đường trung bình 2 / 20 có thể lọc các tín hiệu không phù hợp với xu hướng, tránh rủi ro lên đỉnh và xuống đáy, cải thiện chất lượng tín hiệu.

  1. Kết hợp hai điều kiện làm giảm nguy cơ thua lỗ

Chỉ dựa vào chỉ số đơn lẻ dễ tạo ra nhiều tín hiệu sai, trong khi kết hợp hai chỉ số bổ sung có thể làm tăng đáng kể độ tin cậy của tín hiệu và giảm tổn thất tỷ lệ lỏng lẻo.

  1. Chiến lược rõ ràng, dễ hiểu và tối ưu hóa

Các bộ phận của chiến lược này có chức năng rõ ràng, ý tưởng rõ ràng, dễ hiểu lý do tạo ra chúng, cũng dễ điều chỉnh và tối ưu hóa theo tình hình thực tế để thích ứng với môi trường thị trường rộng lớn hơn.

Phân tích rủi ro chiến lược

Mặc dù chiến lược này có những lợi thế rõ ràng, nhưng cũng có một số rủi ro cần lưu ý:

  1. Không nhất thiết phải có sự thay đổi.

Hành động lịch sử không thể hiện được hành động trong tương lai, và không chắc chắn về mức độ và cường độ của sự phục hồi giá sau khi có tín hiệu đảo ngược, có thể dẫn đến tổn thất.

  1. Xu hướng có thể tiếp tục

Đường trung bình 220 không hoàn toàn lọc được xu hướng, và khi xu hướng rất mạnh, điều chỉnh ngắn hạn vẫn có thể bị nuốt bởi xu hướng chính, gây ra tổn thất.

  1. Cài đặt tham số cần được tối ưu hóa

Các thiết lập tham số khác nhau có thể có ảnh hưởng lớn đến hiệu suất chiến lược, cần phải tìm ra tham số tối ưu thông qua nhiều phản hồi và mô phỏng, và phạm vi tối ưu của tham số cũng có thể thay đổi tùy theo môi trường thị trường.

  1. Không chắc chắn về hiệu quả lâu dài

Hành động lịch sử ngắn hạn tốt cũng không có nghĩa là có thể ổn định lợi nhuận trong thời gian dài, thị trường có tính ngẫu nhiên mạnh mẽ, hiệu quả lâu dài của chiến lược cần được xác minh trong các môi trường thị trường khác nhau.

Những rủi ro này có thể được kiểm soát bằng cách điều chỉnh các tham số hợp lý, thiết lập lỗ hổng và quản lý rủi ro. Ngoài ra, bạn có thể xem xét thêm các điều kiện để cải thiện sự ổn định của chiến lược, chẳng hạn như các chỉ số như khối lượng giao dịch, tỷ lệ biến động, hoặc có thể giới thiệu các phương pháp học máy để tối ưu hóa động lực.

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa hơn nữa ở những khía cạnh sau:

  1. Tối ưu hóa tham số đảo ngược

Có thể thử nghiệm các tổ hợp tham số khác nhau để tìm các hiện tượng đảo ngược ổn định hơn và rõ ràng hơn để cải thiện chất lượng của tín hiệu đảo ngược.

  1. Tối ưu hóa hệ thống đồng tuyến

Bạn có thể thử nghiệm các kết hợp đường trung bình của các tham số khác nhau, hoặc thêm nhiều phán đoán đường trung bình để phán đoán xu hướng chính xác và toàn diện hơn.

  1. Thêm điều kiện lọc

Có thể thiết lập nhiều điều kiện lọc hơn dựa trên các chỉ số như khối lượng giao dịch, tỷ lệ biến động, giảm tỷ lệ phán đoán sai và tăng sự ổn định.

  1. Hoạt động tối ưu hóa tham số

Có thể thu thập một lượng lớn dữ liệu lịch sử, tối ưu hóa động tham số dựa trên phương pháp học máy, làm cho chiến lược trở nên mạnh mẽ hơn.

  1. Kết hợp với chiến lược dừng lỗ

Việc dừng lỗ một cách thích hợp có thể kiểm soát hiệu quả chiến lược rút tối đa và lỗ hổng rủi ro.

  1. Tối ưu hóa quản lý tài chính

Tối ưu hóa quản lý vị trí và phân bổ vốn có thể cải thiện hiệu suất toàn thời gian của chiến lược.

Tóm tắt

Chiến lược đảo ngược đường trung bình kép là một chiến lược giao dịch ngắn hạn đơn giản và thực tế. Nó kết hợp hai tư tưởng lớn về giao dịch đảo ngược và định hướng, vừa có thể nắm bắt cơ hội đảo ngược giá trong ngắn hạn, vừa có thể tránh bị lừa dối bởi tín hiệu giả mạo.

Mã nguồn chiến lược
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/08/2021
// 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
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// 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


EMA220(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ema(xPrice, Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos :=  iff(close > xXA and close > nXS , 1,
    	     iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & 2/20 Exponential MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- 2/20 Exponential MA ----")
LengthMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA220 = EMA220(LengthMA)
pos = iff(posReversal123 == 1 and posEMA220 == 1 , 1,
	   iff(posReversal123 == -1 and posEMA220 == -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 )