Chiến lược giao dịch ngắn hạn dựa trên RSI và SMA


Ngày tạo: 2024-02-01 10:35:30 sửa đổi lần cuối: 2024-02-01 10:35:30
sao chép: 0 Số nhấp chuột: 607
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch ngắn hạn dựa trên RSI và SMA

Tổng quan

Chiến lược này được gọi là tỷ lệ phần trăm thay đổi của RSI và SMA trong ngắn hạn. Nó sử dụng các chỉ số kỹ thuật phổ biến như RSI và moving average để quyết định nhập và thoát khỏi giao dịch. RSI là một chỉ số động lực trong phạm vi 0 đến 100, nó có thể hiển thị sự quá mua quá bán của thị trường.

Nguyên tắc chiến lược

RSI lớn hơn 50 được coi là tín hiệu đa đầu. Điều này cho thấy thị trường ở trong khu vực cân bằng đến đa đầu. Khi SMA 9 ngày cao hơn SMA 100 ngày, điều này cho thấy xu hướng ngắn hạn tốt hơn xu hướng dài hạn và có thể tham gia nhiều hơn. Ngoài ra, nếu sự thay đổi của giá tương đối trong SMA 9 ngày ngắn hạn vượt quá 6%, điều này cho thấy xu hướng ngắn hạn tăng tốc và cũng tham gia.

Nếu đã nắm giữ nhiều vị thế, chiến lược này sẽ sử dụng dừng lỗ theo đường parabola để khóa lợi nhuận. Nó sẽ dừng lỗ theo tỷ lệ phần trăm được thiết lập và sẽ thoát khỏi vị trí khi giá xuất hiện.

Phân tích lợi thế

Chiến lược này kết hợp các chỉ số xu hướng và các chỉ số mua bán quá mức, có thể tham gia khi có xu hướng rõ ràng hơn, đồng thời tránh thời gian 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, ngăn chặn lợi nhuận bị bay hơi hoàn toàn khi xu hướng đảo ngược.

Kết quả của cuộc khảo sát cho thấy chiến lược này có thể kiếm được lợi nhuận trong các xu hướng ngắn hạn rõ ràng hơn và có hiệu quả tốt hơn.

Phân tích rủi ro

Chiến lược này phụ thuộc vào các chỉ số như RSI và SMA, tất cả đều có độ trễ. Chiến lược này có thể không thể rút ra kịp thời khi sự kiện bất ngờ dẫn đến thị trường đảo ngược nhanh chóng, dẫn đến tổn thất lớn.

Ngoài ra, giao dịch tần số cao đòi hỏi phải chịu phí giao dịch cao hơn. Nếu giao dịch tần số quá cao, phí giao dịch tích lũy cũng sẽ ảnh hưởng đến lợi nhuận.

Hướng tối ưu hóa

Chiến lược này có thể xem xét kết hợp nhiều chỉ số để quyết định tín hiệu vào và ra, chẳng hạn như thêm chỉ số khối lượng giao dịch để tránh phá vỡ giả. Chiến lược dừng lỗ cũng có thể được điều chỉnh theo cách linh hoạt hơn, xem xét các yếu tố biến động của thị trường.

Ngoài ra, có thể tối ưu hóa các loại giao dịch, tham số chu kỳ, tìm kiếm sự kết hợp tham số tốt nhất. Cũng có thể xem xét giao dịch xuyên chu kỳ, sử dụng chu kỳ cao hơn để xác định hướng xu hướng và chu kỳ thấp hơn để quyết định nhập cảnh.

Tóm tắ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 xu hướng ngắn hạn rõ ràng hơn để kiếm lợi nhuận, đồng thời cũng 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 cũng cần cảnh giác về rủi ro của thị trường biến đổi nhanh chóng.

Mã nguồn chiến lược
/*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)