Chiến lược này được đặt tên là
Khi chỉ số RSI trên 50, nó được coi là một tín hiệu tăng giá. Điều này cho thấy thị trường đang cân bằng với vùng tăng giá. Khi SMA 9 ngày trên SMA 100 ngày, điều đó có nghĩa là xu hướng ngắn hạn tốt hơn xu hướng dài hạn và chúng ta có thể vào vị trí dài. Ngoài ra, nếu SMA 9 ngày ngắn hạn có sự thay đổi tương đối hơn 6% so với giá, nó cho thấy tăng tốc của xu hướng ngắn hạn, cũng là một tín hiệu nhập cảnh.
Nếu đã ở vị trí dài, chiến lược này sẽ sử dụng lệnh dừng kéo SAR để khóa lợi nhuận. Nó sẽ thoát khỏi các vị trí khi giá rút lại theo tỷ lệ phần trăm lệnh dừng lỗ được đặt.
Chiến lược này kết hợp các chỉ số xu hướng và dao động, để nó có thể vào thị trường khi xu hướng rõ ràng xuất hiện, trong khi tránh các giai đoạn khi thị trường đang đảo ngược, làm giảm đáng kể rủi ro giao dịch. Chiến lược dừng lỗ cũng có thể khóa lợi nhuận và ngăn chặn lợi nhuận bốc hơi hoàn toàn khi xu hướng đảo ngược.
Kiểm tra hậu quả cho thấy chiến lược này có thể lợi nhuận trong xu hướng ngắn hạn khá rõ ràng với kết quả tốt.
Chiến lược này dựa trên các chỉ số như RSI và SMA, có độ trễ nhất định. Khi các sự kiện đột ngột gây ra sự đảo ngược thị trường nhanh chóng, chiến lược này có thể không thoát ra kịp thời, dẫn đến tổn thất lớn.
Ngoài ra, giao dịch tần số cao mang lại chi phí giao dịch cao hơn. Nếu tần số giao dịch quá cao, phí giao dịch tích lũy cũng có thể ảnh hưởng đến lợi nhuận.
Chiến lược này có thể xem xét kết hợp nhiều chỉ số hơn để xác định tín hiệu vào và ra, chẳng hạn như thêm các chỉ số khối lượng để tránh phá vỡ sai. Chiến lược dừng lỗ cũng có thể được điều chỉnh theo cách linh hoạt hơn, tính đến biến động thị trường.
Ngoài ra, tối ưu hóa có thể được thực hiện trên các sản phẩm giao dịch, các tham số chu kỳ để tìm ra sự kết hợp tham số tốt nhất.
Chiến lược này sử dụng các chỉ số kỹ thuật phổ biến như RSI và SMA để xây dựng chiến lược giao dịch ngắn hạn. Nó có thể nắm bắt các xu hướng ngắn hạn khá rõ ràng để kiếm lợi nhuận, đồng thời có các điểm dừng để khóa lợi nhuận. Chiến lược này phù hợp với các nhà đầu tư thích giao dịch tần số cao, nhưng rủi ro đảo ngược thị trường nhanh cũng cần chú ý. Với tối ưu hóa hơn nữa, chiến lược này có thể đạt được kết quả tốt hơn.
/*backtest start: 2024-01-24 00:00:00 end: 2024-01-31 00:00:00 period: 1m basePeriod: 1m 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/ // © Coinrule //@version=5 strategy("Short Term RSI and SMA Percentage Change", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2022, 5, 1, 0, 0) notInTrade = strategy.position_size <= 0 //==================================Buy Conditions============================================ //RSI length = input(14) rsi = ta.rsi(close, length) buyCondition1 = rsi > 50 //MA SMA9 = ta.sma(close, 9) SMA100 = ta.sma(close, 100) plot(SMA9, color = color.green) plot(SMA100, color = color.blue) buyCondition2 = (SMA9 > SMA100) //Calculating MA Percentage Change buyMA = (close/SMA9) buyCondition3 = buyMA >= 0.06 if (buyCondition1 and buyCondition2 and buyCondition3 and timePeriod) //and buyCondition strategy.entry("Long", strategy.long) //==================================Sell Conditions============================================ // Configure trail stop level with input options longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01 shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 shortStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - longTrailPerc) math.max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if strategy.position_size < 0 stopValue = close * (1 + shortTrailPerc) math.min(stopValue, shortStopPrice[1]) else 999999 strategy.exit('Exit', stop = longStopPrice, limit = shortStopPrice)