
Chiến lược này chủ yếu sử dụng kết hợp các chỉ số RSI 5 ngày và 200 ngày di chuyển trung bình, hình thành tín hiệu quyết định giao dịch, thuộc chiến lược công cụ kỹ thuật. Nguyên tắc giao dịch chính của nó là: khi giá chạy vượt quá vùng mua bán quá mức, tín hiệu bán; khi giá giảm xuống vùng bán quá mức, tín hiệu mua. Ưu điểm lớn nhất của chiến lược là tín hiệu chiến lược rõ ràng hơn, rủi ro rút lui nhỏ hơn.
Chiến lược này chủ yếu sử dụng chỉ số RSI 5 ngày kết hợp với đường trung bình di chuyển 200 ngày để xác định khu vực bán tháo và bán tháo của giá để hình thành các quyết định giao dịch:
5 ngày RSI đánh giá giá hoạt động của giá Bán quá bán quá. Đặt đường Bán là 72 và Bán quá là 30. Khi RSI từ dưới lên vượt qua 30, nó tạo ra tín hiệu mua; Khi RSI từ trên xuống xuống vượt qua 72, nó tạo ra tín hiệu bán
Đường trung bình di chuyển 200 ngày đánh giá xu hướng đường dài của giá. Khi giá thấp hơn đường trung bình 200 ngày, đó là giai đoạn giảm giá; Khi giá cao hơn đường trung bình 200 ngày, đó là giai đoạn tăng giá.
Kết hợp 1 và 2 đánh giá, chiến lược này sẽ mua khi chỉ số RSI 5 ngày vượt quá và bán khi nó vượt quá 72 và mua khi RSI 5 ngày vượt quá 30 và giá thấp hơn đường trung bình 200 ngày.
Các tín hiệu chiến lược rõ ràng hơn, sử dụng khu vực RSI Judgment để xác định tín hiệu quá mua quá bán.
Đường trung bình hàng ngày 200 đánh giá xu hướng lớn, tránh hoạt động ngược.
Có thể đặt số lượng nắm giữ tối đa để kiểm soát rủi ro.
Các tham số chiến lược có thể được tối ưu hóa và các tham số RSI và tham số đường trung bình được điều chỉnh.
Rủi ro rút lui thấp hơn, chiến lược kiểm soát hiệu quả rút lui nhiều nhất.
Chỉ sử dụng chỉ số RSI và chỉ số đường trung bình, tín hiệu chiến lược có thể không ổn định, có nguy cơ mất mát giao dịch khi thị trường biến động nhiều đầu.
Cần tối ưu hóa và kiểm tra các tham số RSI và tham số đường trung bình để có hiệu quả chiến lược tốt hơn.
Có thể giới thiệu các chỉ số hoặc phán đoán mô hình khác để tối ưu hóa tín hiệu chiến lược. Ví dụ như giới thiệu các chỉ số tỷ lệ dao động, phán đoán học máy.
Sử dụng nhiều chỉ số khác nhau. Ví dụ MACD, KD, chỉ số tỷ lệ dao động.
Thêm mô hình học máy phán đoán. Như LSTM phán đoán tín hiệu giao dịch ổn định.
Tăng các yếu tố định lượng. Các yếu tố tài chính như thay đổi khối lượng giao dịch, dòng tiền.
Các tham số chiến lược tối ưu hóa. Ví dụ như tham số RSI, tham số đường trung bình.
Tối ưu hóa các cơ chế dừng lỗ, chẳng hạn như dừng di chuyển, dừng thời gian.
Chiến lược này chủ yếu sử dụng chỉ số RSI 5 ngày và kết hợp chỉ số đường trung bình 200 ngày để xác định khu vực giá quá mua quá bán, tạo ra tín hiệu giao dịch, thuộc chiến lược kết hợp chỉ số kỹ thuật. Dấu hiệu chiến lược rõ ràng hơn, rủi ro rút lui tối đa nhỏ hơn.
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 3m
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/
// ©chewyScripts.
//@version=5
strategy("96er RSI+200EMA Strategy + Alerts", overlay=true)
// This works best on a small account $100, with 50% of equity and up to 10 max open trades.
// 96% Profitable, turns $100 into $350 in 1 month. very few losses. super happy with it.
// So far it triples the account on a 1m chart in 1 month back testing on the SEI-USD pair.
// I did not test on FX pairs or other instruments.
// had some issues with the inputs not working so had to hard code some, also the lastClose var sometimes breaks and starts following every candle, not sure why.
in_r1 = input.int(5,"5 day input or RSI1")
in_openOrders = input.int(3,"max open orders")
in_lowerRSI = input.int(30,"RSI Lower")
in_upperRSI = input.int(72,"RSI Upper ")
in_emaperiod = input.int(200,"EMA Period")
in_buybreakout = input.int(50,"Buy breakout range")
in_buyTP = input.float(1.05,"Buy TP: 1+TP %, .05 seems to work well.")
in_sellTP = input.float(0.9850, "Sell TP: 1-TP%. .025 seems to work well. ")
simple int rsi5 = in_r1
// 3 rsi strategy , when all of them are overbought we sell, and vice versa
rsi7 = ta.rsi(close,rsi5)
lastClose = request.security(syminfo.tickerid, "D", close, lookahead = barmerge.lookahead_on)
rsi3 = ta.rsi(close[5],rsi5)
ma = ta.ema(close,in_emaperiod)
plot(rsi7,"5 Day RSI",color.red)
plot(lastClose,"Yesterdays Close",color.green)
plot(rsi3,"Previous 5th candles RSI",color.purple)
// sell condition
//sell = ta.crossunder(rsi7,70) and ta.crossunder(rsi14,70) and ta.crossunder(rsi21,70)
//buy condition
//buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and rsi3 <= in_upperRSI and strategy.opentrades < in_openOrders
//sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and rsi3 >= in_lowerRSI3 and strategy.opentrades < in_openOrders
buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and close < lastClose and strategy.opentrades < in_openOrders
sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and close > lastClose and strategy.opentrades < in_openOrders
var lastBuy = close
var lastSell = close
if (buy)
strategy.entry("BUY", strategy.long)
lastBuy := close
alert("Buy")
if ((close >= lastBuy*in_buyTP ) or rsi7 > in_buybreakout and close >= lastClose and (close >= lastClose*in_buyTP or close >= lastBuy*in_buyTP ) )
strategy.close("BUY", "BUY Exit")
alert("Buy Exit")
if (sell)
strategy.entry("SELL", strategy.short)
lastSell := close
alert("Sell")
if ( close < ma and (close <= lastSell*in_sellTP ) or (close < lastClose*in_sellTP) )
strategy.close("SELL", "Sell Exit")
alert("Sell Exit")