Đây là một chiến lược chỉ theo xu hướng dài. Nó sử dụng kênh Donchian và chỉ số StochRSI để xác định xu hướng tăng mạnh và tham gia với rủi ro thấp.
Chiến lược này sử dụng hai chỉ số sau đây để xác định xu hướng:
Kênh Donchian: Tính toán EMA 6 ngày của mức cao nhất 30 bar gần đây, như dải trên của kênh. Nếu đóng ở trên dải trên, nó chỉ ra xu hướng tăng hiện tại.
Chỉ số StochRSI: Bao gồm đường %K và đường %D. Chiến lược này thêm một dải thấp hơn trên đường %K, mặc định là 35. Khi đường %K vượt dưới dải thấp hơn, nó báo hiệu kết thúc xu hướng tăng.
Cụ thể, logic giao dịch là:
Khi gần là trên dải trên Donchian, nó cho thấy một nền màu xanh lá cây, cho thấy một xu hướng tăng.
Khi StochRSI %K trên dải dưới 35 mặc định, đi dài.
Khi %K vượt dưới dải dưới, đóng vị trí dài.
Như chúng ta có thể thấy, chiến lược này sử dụng cả bộ lọc xu hướng và chỉ số dao động, để tham gia vào xu hướng tăng với rủi ro thấp. Donchian Channel lọc các thị trường không có xu hướng, đảm bảo chỉ mất lâu trong xu hướng tăng. StochRSI xác định tình trạng mua quá mức / bán quá mức, để đóng vị trí kịp thời.
Những lợi thế của chiến lược này bao gồm:
Chỉ dài, tránh thua lỗ trong thị trường gấu.
Sử dụng kênh Donchian để xác định xu hướng, lọc các thị trường không có xu hướng.
Các thông số điều chỉnh của StochRSI, có thể thiết lập mức nhập và xuất dựa trên sự thèm mạo hiểm.
Thích hợp cho các cổ phiếu có xu hướng tăng liên tục.
Logic đơn giản và rõ ràng, dễ hiểu và thực hiện.
Ngoài ra còn có một số rủi ro:
Không đạt được điểm xuất phát, không thể nắm bắt được lợi nhuận đầy đủ trong xu hướng.
Sự đảo ngược xu hướng đột ngột, chỉ số không thoát được kịp thời, dẫn đến tổn thất lớn.
Thiết lập các thông số không phù hợp làm tăng tần suất giao dịch và tín hiệu sai.
Chỉ phù hợp với thị trường tăng dài hạn, không phù hợp với thị trường dao động hoặc giảm.
Cần phải theo dõi các yếu tố cơ bản để tránh chọn cổ phiếu với yếu tố cơ bản.
Một số cách để cải thiện chiến lược:
Tối ưu hóa các thông số cho các thị trường có biến động khác nhau.
Thêm stop loss để hạn chế lỗ trong giao dịch duy nhất.
Kết hợp cơ bản và tin tức, tránh cổ phiếu với cơ bản suy yếu.
Tối ưu hóa thời gian nhập cảnh, đảm bảo nhập cảnh kịp thời thông qua thử nghiệm lặp đi lặp lại.
Tối ưu hóa thời gian thoát, tránh thoát sớm trong xu hướng tăng.
Kiểm tra trên các mẫu cổ phiếu khác nhau để đánh giá hiệu suất. Tìm các loại cổ phiếu tối ưu.
Chiến lược này xác định xu hướng với Kênh Donchian, và giao dịch với các tín hiệu StochRSI. Nó có thể theo dõi hiệu quả xu hướng tăng với rủi ro thấp. Những lợi thế là logic đơn giản và liên tục nắm bắt đà tăng. Cần chú ý đến điều chỉnh tham số, lựa chọn cổ phiếu và cải tiến hơn nữa. Nếu thực hiện đúng cách, chiến lược này có thể là một công cụ hiệu quả để tham gia vào thị trường tăng dài hạn.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SnarkyPuppy //@version=5 strategy("Filtered Stoch", overlay=false, default_qty_value = 100, default_qty_type=strategy.percent_of_equity) /////high filter...upper donchian channel of ema... or highest ema for a given amount of candles filter_ema_len= input(6) ema_donchian_len = input(30) ema=ta.highest(ta.ema(high,filter_ema_len),ema_donchian_len) ////////////////////////basic stoch rsi with max val 100 and min val 0.. entry above lowerband preset 35 smoothK = input.int(7, "K", minval=1) smoothD = input.int(4, "D", minval=1) lengthRSI = input.int(14, "RSI Length", minval=1) lengthStoch = input.int(14, "Stochastic Length", minval=1) src = input(close, title="RSI Source") rsi1 = ta.rsi(src, lengthRSI) k = math.min(100, math.max(0,ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK))) d = math.max(math.min(ta.sma(k, smoothD),80),35) plot(k, "K", color=#2962FF) plot(d, "D", color=#FF6D00) h0 = hline(80, "Upper Band", color=#787B86) hline(50, "Middle Band", color=color.new(#787B86, 50)) lowerband=input(35) h11 = hline(lowerband, "Lower Band", color=#787B86) fill(h0, h11, color=color.rgb(33, 150, 243, 90), title="Background") ematrend= close>ema ? 1 : 0 bgcolor(ematrend==1?color.rgb(76, 175, 79, 80):na) longCondition = k>lowerband and ematrend==1 if (longCondition) strategy.entry("Up", strategy.long) shortCondition = ta.crossunder(k,lowerband) if (shortCondition) strategy.close("Up", shortCondition)