Chiến lược giao dịch theo xu hướng dựa trên nhiều chỉ số là một chiến lược giao dịch định lượng kết hợp trung bình động MACD, Stochastic và SMA. Chiến lược này nhằm mục đích xác định hướng xu hướng trên thị trường và đi vào thị trường kịp thời khi xu hướng mới bắt đầu. Sau đó nó sử dụng sự kết hợp của các tín hiệu từ nhiều chỉ số để xác định thời điểm thoát khỏi thị trường.
Chiến lược này sử dụng ba chỉ số kỹ thuật, MACD, Stochastic và SMA, để đánh giá sức mạnh và hướng của xu hướng thị trường. Khi đường MACD vượt qua trên đường tín hiệu, đường %K của Stochastic vượt qua trên %D và trên mức mua quá mức, và đường SMA nhanh vượt qua trên đường SMA chậm, tín hiệu mua được kích hoạt. Khi các tình huống ngược lại xảy ra, tín hiệu bán được xác định.
Bằng cách kết hợp nhiều chỉ số, các tín hiệu giả có thể được lọc ra và sự khởi đầu và kết thúc thực sự của một xu hướng có thể được nhận ra.
Lợi thế lớn nhất của chiến lược này là sự kết hợp của nhiều chỉ số, có thể lọc hiệu quả tiếng ồn thị trường và khóa trong sự khởi đầu và kết thúc thực sự của xu hướng.
Ngoài ra, chiến lược này linh hoạt trong điều chỉnh tham số và có thể được điều chỉnh cho các sản phẩm và chu kỳ khác nhau, làm cho nó rất thích nghi.
Rủi ro chính của chiến lược này là sự kết hợp của nhiều chỉ số làm tăng tần suất giao dịch và mang lại rủi ro giao dịch quá mức.
Để giảm rủi ro, tần suất giao dịch nên được kiểm soát thích hợp, lựa chọn chu kỳ dài hơn và tối ưu hóa các tham số.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược giao dịch theo xu hướng dựa trên nhiều chỉ số cải thiện độ chính xác tín hiệu thông qua xác nhận tổng hợp các chỉ số và có thể xác định hiệu quả sự bắt đầu và kết thúc của xu hướng.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Rule Number 1 Signals", overlay=true) //Calculate MACD crossing or not fastLength = input(8) slowlength = input(17) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) macdDelta = MACD - aMACD //Calculate Stochastic Crossing stochasticLength = input(14, minval=1) stochasticOverBought = input(80) stochasticOverSold = input(20) emaSignal = input(10) smoothK = 5 smoothD = 5 k = sma(stoch(close, high, low, stochasticLength), smoothK) d = sma(k, smoothD) //Crossovers and Over /Under macdCrossOver = crossover(macdDelta, 0) macdCrossUnder = crossunder(macdDelta, 0) macdOver = macdDelta > 0 macdUnder = macdDelta < 0 stochasticCrossOver = crossover(k, d) stochasticCrossUnder = crossunder(k, d) stochasticOver = k > d stochasticUnder = k < d ema = ema(close, emaSignal) smaCrossOver = crossover(close, ema) smaCrossUnder = crossunder(close, ema) smaOver = close > ema smaUnder = close < ema if ((macdCrossOver and stochasticOver and smaOver) or (macdOver and stochasticCrossOver and smaOver) or (macdOver and stochasticOver and smaCrossOver)) strategy.entry("Rule 1 Buy", strategy.long, comment="Rule 1 Buy") if ((macdCrossUnder and stochasticUnder and smaUnder) or (macdUnder and stochasticCrossUnder and smaUnder) or (macdUnder and stochasticUnder and smaCrossUnder)) strategy.entry("Rule 1 Sell", strategy.short, comment="Rule 1 Sell") //Plot the Oversold Study bgcol = k < stochasticOverSold ? green : k > stochasticOverBought ? red : na bgcolor(bgcol)