Chiến lược giao dịch chênh lệch biến động hai khung thời gian đánh giá tình trạng mua quá mức / bán quá mức của thị trường bằng cách tính chênh lệch giữa các chỉ số RSI của hai chu kỳ thời gian khác nhau để thực hiện giao dịch xu hướng rủi ro thấp.
Các chỉ số cốt lõi của chiến lược này là shortTermXtrender và longTermXtrender. shortTermXtrender tính chênh lệch RSI trên khung thời gian ngắn và longTermXtrender tính chênh lệch RSI trên khung thời gian dài.
Khung thời gian ngắn sử dụng chênh lệch giá giữa EMA 7 ngày và LMA 4 ngày để tính RSI, và sau đó chênh lệch giá với 50 tạo thành shortTermXtrender. Khung thời gian dài sử dụng chênh lệch giá giữa RSI của EMA 4 ngày và 50 để tạo thành longTermXtrender.
Khi shortTermXtrender vượt trên 0, đi dài; khi longTermXtrender vượt trên 0, cũng đi dài. Nguyên tắc dừng lỗ sau khi đi dài là dừng lỗ khi shortTermXtrender vượt dưới 0, khi longTermXtrender vượt dưới 0, dừng lỗ.
Bằng cách này, bằng cách đánh giá trên hai khung thời gian, nhiều sự đột phá giả có thể được lọc ra.
Lợi thế lớn nhất của chiến lược này là sự đánh giá xu hướng chính xác. Sự kết hợp của hai khung thời gian có thể lọc hiệu quả tiếng ồn và khóa theo hướng xu hướng mục tiêu. Điều này cung cấp một sự đảm bảo cho giao dịch theo dõi xu hướng có rủi ro thấp.
Ngoài ra, chiến lược cung cấp không gian tối ưu hóa tham số. Người dùng có thể điều chỉnh các tham số như chu kỳ SMA và tham số RSI theo các loại khác nhau và chu kỳ thời gian để tối ưu hóa kết quả chiến lược.
Rủi ro chính của chiến lược này là đánh giá sai về dài và ngắn. Trong thị trường dao động, rất dễ tạo ra tín hiệu sai. Nếu vị trí vẫn mở vào thời điểm này, sẽ có nguy cơ mất mát.
Ngoài ra, cài đặt tham số không đúng cũng có thể dẫn đến kết quả kém. Nếu tham số chu kỳ thời gian được đặt quá ngắn, xác suất đánh giá sai sẽ tăng lên; nếu tham số chu kỳ thời gian được đặt quá dài, cơ hội cho xu hướng sẽ bị bỏ lỡ. Điều này đòi hỏi người dùng phải kiểm tra và tối ưu hóa các tham số cho các thị trường khác nhau.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Tăng cơ chế lấy lợi nhuận. Hiện tại không có thiết lập lấy lợi nhuận trong chiến lược. Lợi nhuận có thể được lấy trong thời gian sau khi đạt được lợi nhuận mục tiêu.
Tăng quản lý vị trí. Các vị trí có thể được điều chỉnh năng động dựa trên quy mô vốn, biến động và các chỉ số khác.
Các thiết lập tham số thử nghiệm cho các loại khác nhau. Người dùng có thể kiểm tra sự kết hợp tham số tối ưu bằng cách kiểm tra lại các khung thời gian khác nhau như hàng ngày và 60 phút.
Tăng khả năng phán đoán được hỗ trợ bởi máy học. Các mô hình có thể được đào tạo để xác định điều kiện thị trường và điều chỉnh các tham số chiến lược một cách năng động để cải thiện tỷ lệ thắng.
Chiến lược giao dịch biến động chênh lệch thời gian kép đạt được việc nắm bắt xu hướng hiệu quả bằng cách xây dựng các chỉ số khung thời gian kép. Chiến lược có không gian tối ưu hóa lớn. Người dùng có thể tối ưu hóa thông qua điều chỉnh tham số, quản lý lợi nhuận, quản lý vị trí, v.v. để có được kết quả chiến lược tốt hơn. Chiến lược này phù hợp với người dùng có một số kinh nghiệm giao dịch.
/*backtest start: 2024-01-18 00:00:00 end: 2024-02-17 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //study("MavXtrender") strategy("MavXtrender") ShortTermSMA = input(7) ShortTermLMA = input(4) ShortTermRSI = input(2) LongTermMA = input(4) LongTermRSI = input(2) UseFactors = input(true) TradeShortTerm = input(true) TradeLongTerm = input(true) count = TradeShortTerm == true ? 1 : 0 count := TradeLongTerm == true ? count + 1 : count // set position size Amount = strategy.equity / (close * count) ShortTermLMA := UseFactors == true ? round(ShortTermSMA * ShortTermLMA) : ShortTermLMA ShortTermRSI := UseFactors == true ? round(ShortTermSMA * ShortTermRSI) : ShortTermRSI LongTermMA := UseFactors == true ? round(ShortTermSMA * LongTermMA) : LongTermMA LongTermRSI := UseFactors == true ? round(ShortTermSMA * LongTermRSI) : LongTermRSI shortTermXtrender = rsi(ema(close, ShortTermSMA) - ema(close, ShortTermLMA), ShortTermRSI ) - 50 longTermXtrender = rsi( ema(close, LongTermMA), LongTermRSI ) - 50 // === INPUT BACKTEST RANGE === FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromYear = input(defval = 2018, title = "From Year", minval = 2012) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToYear = input(defval = 2020, title = "To Year", minval = 2012) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true strategy.entry("ShortTerm", strategy.long, qty = Amount, when = window() and crossover(shortTermXtrender,0) and TradeShortTerm) strategy.entry("LongTerm", strategy.long, qty = Amount, when = window() and crossover(longTermXtrender,0) and TradeLongTerm) strategy.close("ShortTerm", when = crossunder(shortTermXtrender,0) or time > finish) strategy.close("LongTerm", when = crossunder(longTermXtrender,0) or time > finish) shortXtrenderCol = shortTermXtrender > 0 ? shortTermXtrender > shortTermXtrender[1] ? color.lime : #228B22 : shortTermXtrender > shortTermXtrender[1] ? color.red : #8B0000 plot(shortTermXtrender, color=shortXtrenderCol, style=plot.style_columns, linewidth=1, title="B-Xtrender Osc. - Histogram", transp = 50) longXtrenderCol = longTermXtrender> 0 ? longTermXtrender > longTermXtrender[1] ? color.lime : #228B22 : longTermXtrender > longTermXtrender[1] ? color.red : #8B0000 plot(longTermXtrender , color=longXtrenderCol, style=plot.style_histogram, linewidth=2, title="B-Xtrender Trend - Histogram", transp = 80) plot(longTermXtrender , color=color.white, style=plot.style_line, linewidth=1, title="B-Xtrender Trend - Line", transp = 80)