Bài viết này giới thiệu một chiến lược giao dịch định lượng kết hợp chiến lược trung bình động kép và chỉ số stochastic. Chiến lược sử dụng khả năng theo xu hướng của các đường trung bình động và đặc điểm mua quá mức của stochastic để tạo ra các tín hiệu giao dịch.
Chiến lược bao gồm hai phần:
Chiến lược trung bình di chuyển kép
Sử dụng trung bình di chuyển nhanh và chậm để tạo ra tín hiệu mua chéo vàng và tín hiệu bán chéo chết.
Chỉ số Stochastic
Sử dụng tính năng dao động của stochastic để xác định tình huống mua quá mức và bán quá mức.
Các tín hiệu từ cả hai phần được kết hợp để tạo thành các tín hiệu giao dịch cuối cùng.
Rủi ro có thể được giảm bằng cách tối ưu hóa các kết hợp tham số và thêm stop loss vào các lỗ kiểm soát.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược này kết hợp các lợi thế của đường trung bình động kép và stochastic. Trong khi theo dõi xu hướng thị trường chính, nó tránh sự đảo ngược không thuận lợi. Kết quả chiến lược tốt hơn có thể đạt được thông qua tối ưu hóa tham số. Thêm các điểm dừng và bộ lọc xu hướng có thể làm cho chiến lược mạnh mẽ hơn.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 24/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 // As the name suggests, High low bands are two bands surrounding the underlying’s // price. These bands are generated from the triangular moving averages calculated // from the underlying’s price. The triangular moving average is, in turn, shifted // up and down by a fixed percentage. The bands, thus formed, are termed as High // low bands. The main theme and concept of High low bands is based upon the triangular // moving average. // // 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 HLB(Length, PercentShift) => pos = 0.0 xTMA = sma(sma(close, Length), Length) xHighBand = xTMA + (xTMA * PercentShift / 100) xLowBand = xTMA - (xTMA * PercentShift / 100) pos :=iff(close > xHighBand, 1, iff(close <xLowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & High Low Bands", 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_HLB = input(14, minval=1) PercentShift = input(1, minval = 0.01, step = 0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posHLB = HLB(Length_HLB, PercentShift) pos = iff(posReversal123 == 1 and posHLB == 1 , 1, iff(posReversal123 == -1 and posHLB == -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 )