Chiến lược giao dịch đảo ngược trung bình di chuyển kép

Tác giả:ChaoZhang, Ngày: 2024-01-15 12:35:29
Tags:

img

Tổng quan

Chiến lược giao dịch đảo ngược trung bình di chuyển kép kết hợp chiến lược giao dịch đảo ngược Bollinger Bands và chiến lược giao dịch trung bình di chuyển theo hàm số kép để thiết kế một chiến lược giao dịch đánh giá tín hiệu toàn diện. Nó có thể được sử dụng trong các thị trường như cổ phiếu, ngoại hối và tiền điện tử.

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

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

  1. Chiến lược giao dịch đảo ngược Bollinger Bands

    Sử dụng hai đường từ chỉ số Bollinger Bands - đường %K và đường %D. Đi dài khi giá đóng thấp hơn giá đóng ngày trước trong hai ngày liên tiếp và đường %K nằm trên đường %D; đi ngắn khi giá đóng cao hơn giá đóng ngày trước trong hai ngày liên tiếp và đường %K nằm dưới đường %D.

  2. Chiến lược trung bình di chuyển hàm số hai

    Tính toán các đường trung bình di chuyển nhân tố kép 20 ngày và 20 ngày * 2. Một tín hiệu giao dịch được tạo ra khi giá vượt qua hoặc dưới đường trung bình di chuyển kép.

Quy tắc đánh giá tín hiệu kết hợp: Một tín hiệu giao dịch thực tế chỉ được tạo ra khi các tín hiệu giao dịch từ cả hai chiến lược đồng ý.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược kết hợp này là độ tin cậy cao và ít tín hiệu sai. Bởi vì nó yêu cầu các tín hiệu từ hai loại chiến lược khác nhau được kích hoạt cùng một lúc, điều này lọc ra một số tín hiệu sai có thể xuất hiện trong một chiến lược duy nhất.

Ngoài ra, bằng cách kết hợp các chiến lược đảo ngược và xu hướng, nó có thể nắm bắt cả sự đảo ngược ngắn hạn và xu hướng trung hạn của các chứng khoán cơ bản.

Phân tích rủi ro

Rủi ro chính của chiến lược này là khi thị trường dao động lâu dài, hai chiến lược có thể không tạo ra tín hiệu nhất quán, dẫn đến điều kiện thị trường không hợp lệ.

Ngoài ra, với tư cách là một chỉ số trung bình và dài hạn, đường trung bình động kép có thể thất bại khi sự đảo ngược ngắn hạn xảy ra nhanh chóng.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa theo những cách sau:

  1. Thêm nhiều thông số như giá dừng lỗ, phạm vi giá dừng lỗ sau v.v. để làm cho chiến lược dễ kiểm soát hơn.

  2. Thêm nhiều chỉ số để tạo ra nhiều tiêu chí lọc và loại bỏ các giao dịch ồn ào hơn. Ví dụ, kết hợp với MACD, KD và các chỉ số khác.

  3. Tối ưu hóa các thông số chỉ số như thời gian Bollinger, thời gian trung bình di chuyển vv, để tìm sự kết hợp thông số tốt nhất.

  4. Kiểm tra hiệu quả của chiến lược này tương ứng trong các sản phẩm khác nhau (cổ phiếu, ngoại hối, tiền điện tử vv) và chọn những sản phẩm phù hợp nhất.

Kết luận

Chiến lược đảo ngược trung bình động kép tạo ra các tín hiệu giao dịch kết hợp tương đối đáng tin cậy bằng cách kết hợp các chiến lược đảo ngược và xu hướng. Nó phù hợp với các nhà giao dịch quan tâm đến cả sự đảo ngược ngắn hạn và xu hướng trung hạn của giá chứng khoán. Nhưng lưu ý rằng chiến lược có thể thất bại trong các thị trường dài hạn. Bằng cách tối ưu hóa các tham số và thêm nhiều chỉ số, tính thực tế của chiến lược này có thể được tăng cường hơn nữa.


/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon 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.
// Please, use it only for learning or paper trading. Do not for real trading.
//
// 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

EMA2_20(MA_Length, MA_xPrice) =>
    xXA = ema(MA_xPrice, MA_Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos = 0.0
    pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal and 2/20 EMA", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
MA_Length = input(20, minval=1)
reverse = input(false, title="Trade reverse")
MA_xPrice = close
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA2_20 = EMA2_20(MA_Length, MA_xPrice)
pos = iff(posReversal123 == 1 and posEMA2_20 == 1 , 1,
	   iff(posReversal123 == -1 and posEMA2_20 == -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 ? red: possig == 1 ? green : blue ) 

Thêm nữa