Chiến lược này là một hệ thống giao dịch xu hướng động lực dựa trên nhiều chỉ số kỹ thuật, kết hợp Chỉ số Sức mạnh Tương đối (RSI), Sự khác biệt hội tụ trung bình chuyển động (MACD) và Trình dao động ngẫu nhiên để xác định tín hiệu mua và bán thị trường. Chiến lược sử dụng phương pháp ngưỡng xác suất sử dụng tiêu chuẩn hóa điểm số Z để lọc tín hiệu giao dịch và cải thiện độ tin cậy. Nó đặc biệt phù hợp với xu hướng khung thời gian hàng ngày sau giao dịch.
Chiến lược dựa trên ba chỉ số kỹ thuật cốt lõi:
Đây là một chiến lược sáng tạo kết hợp các chỉ số kỹ thuật cổ điển với các phương pháp thống kê hiện đại. Thông qua sự phối hợp nhiều chỉ số và lọc ngưỡng xác suất, nó cải thiện hiệu quả giao dịch trong khi duy trì tính mạnh mẽ của chiến lược. Chiến lược thể hiện khả năng thích nghi và mở rộng mạnh mẽ, phù hợp với giao dịch xu hướng trung hạn đến dài hạn. Mặc dù có một số rủi ro trễ hạn, hiệu suất giao dịch ổn định có thể đạt được thông qua tối ưu hóa tham số và quản lý rủi ro thích hợp.
/*backtest start: 2024-01-06 00:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI-MACD-Stochastic Strategy", shorttitle = "RMS_V1", overlay=true) // Inputs use_macd = input.bool(true, title="Use MACD") use_rsi = input.bool(true, title="Use RSI") use_stochastic = input.bool(true, title="Use Stochastic") threshold_buy = input.float(0.5, title="Buy Threshold (Probability)") threshold_sell = input.float(-0.5, title="Sell Threshold (Probability)") // Indicators // RSI rsi_period = input.int(14, title="RSI Period") rsi = ta.rsi(close, rsi_period) // Stochastic Oscillator stoch_k = ta.stoch(close, high, low, rsi_period) stoch_d = ta.sma(stoch_k, 3) // MACD [macd_line, signal_line, _] = ta.macd(close, 12, 26, 9) // Calculate Z-score lookback = input.int(20, title="Z-score Lookback Period") mean_close = ta.sma(close, lookback) stddev_close = ta.stdev(close, lookback) zscore = (close - mean_close) / stddev_close // Buy and Sell Conditions long_condition = (use_rsi and rsi < 30) or (use_stochastic and stoch_k < 20) or (use_macd and macd_line > signal_line) short_condition = (use_rsi and rsi > 70) or (use_stochastic and stoch_k > 80) or (use_macd and macd_line < signal_line) buy_signal = long_condition and zscore > threshold_buy sell_signal = short_condition and zscore < threshold_sell // Trading Actions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short)