
Chiến lược này nhằm mục đích mua và bán khi RSI ở trong phạm vi thấp, mua và bán khi RSI ở trong phạm vi cao, và điều này có nghĩa là hoạt động ngược lại khi RSI vượt quá.
Thiết lập RSI dài 14 chu kỳ
Cài đặt RSI của tín hiệu mua:
Cài đặt RSI của tín hiệu bán:
Khi RSI đi vào khoảng mua, hãy mua thêm:
Khi RSI đi vào khoảng bán tháo, hãy tháo vào:
Mỗi lần mở vị trí cố định dừng 2500 điểm, dừng 5000 điểm
Khi RSI rời khỏi phạm vi tín hiệu, nó sẽ xóa các vị trí liên quan
Cài đặt hai khoảng cho phép chiến lược đánh giá rõ hơn về quá mua và quá bán để tránh bỏ lỡ cơ hội đảo ngược
Cài đặt điểm dừng cố định, không theo đuổi quá nhiều.
RSI là một chỉ số đánh giá quá mua và quá bán, có lợi thế hơn so với các chỉ số khác
Các tham số của chiến lược này được thiết lập hợp lý, có thể nắm bắt hiệu quả các điểm đảo ngược xu hướng, thu được lợi nhuận dư thừa
Chỉ số RSI có thể xảy ra thị trường không hiệu quả, dẫn đến hệ thống tiếp tục thua lỗ
Cài đặt điểm dừng cố định có thể không phù hợp với sự biến động của thị trường, không có lợi nhuận hoặc dừng lỗ sớm
Thiết lập khoảng cách không hợp lý có thể dẫn đến cơ hội giao dịch bị bỏ lỡ hoặc mất mát giao dịch thường xuyên
Chiến lược này phụ thuộc nhiều hơn vào tối ưu hóa tham số, cần chú ý đến chu kỳ thử nghiệm và kiểm soát điểm trượt
Có thể kiểm tra hiệu quả của chỉ số RSI với các chu kỳ khác nhau
Các giá trị có thể được tối ưu hóa trong khoảng mua bán để phù hợp hơn với các đặc điểm của các giống khác nhau
Có thể nghiên cứu các phương pháp dừng động để làm cho dừng hiệu quả hơn, dừng hợp lý hơn
Có thể xem xét giao dịch kết hợp với các chỉ số khác để tăng sự ổn định của hệ thống
Có thể khám phá cách học máy tự động tối ưu hóa các tham số phân vùng để làm cho chiến lược trở nên mạnh mẽ hơn
Chiến lược này được thiết kế dựa trên nguyên tắc phán đoán quá mua quá bán của chỉ số RSI. Bằng cách thiết lập các khu vực mua bán song song để tận dụng hiệu quả của chỉ số RSI, trong khi duy trì một mức độ ổn định, có thể nắm bắt hiệu quả hiện tượng quá mua quá bán của thị trường. Nhưng chiến lược này cũng có một số tùy thuộc vào tham số, cần kiểm tra tối ưu hóa đối với các giống khác nhau. Nếu tham số được thiết lập đúng, chiến lược này có thể thu được lợi nhuận vượt quá tốt. Nói chung, chiến lược này là một chiến lược giao dịch đơn giản và hiệu quả sử dụng chỉ số trưởng thành, cần nghiên cứu thêm về tối ưu hóa giá trị và cũng cung cấp đường hướng cho chiến lược giao dịch.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
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/
// © Rawadabdo
// Ramy's Algorithm
//@version=5
strategy("BTC/USD - RSI", overlay=false, initial_capital = 5000)
// User input
length = input(title = "Length", defval=14, tooltip="RSI period")
first_buy_level = input(title = "Buy Level 1", defval=27, tooltip="Level where 1st buy triggers")
second_buy_level = input(title = "Buy Level 2", defval=18, tooltip="Level where 2nd buy triggers")
first_sell_level = input(title = "Sell Level 1", defval=68, tooltip="Level where 1st sell triggers")
second_sell_level = input(title = "Sell Level 2", defval=80, tooltip="Level where 2nd sell triggers")
takeProfit= input(title="target Pips", defval=2500, tooltip="Fixed pip stop loss distance")
stopLoss = input(title="Stop Pips", defval=5000, tooltip="Fixed pip stop loss distance")
lot = input(title = "Lot Size", defval = 1, tooltip="Trading Lot size")
// Get RSI
vrsi = ta.rsi(close, length)
// Entry Conditions
long1 = (vrsi <= first_buy_level and vrsi>second_buy_level)
long2 = (vrsi <= second_buy_level)
short1= (vrsi >= first_sell_level and vrsi<second_sell_level)
short2= (vrsi >= second_sell_level)
// Entry Orders
// Buy Orders
if (long1 and strategy.position_size == 0)
strategy.entry("Long", strategy.long, qty=lot, comment="Buy")
if (long2 and strategy.position_size == 0)
strategy.entry("Long", strategy.long, qty=lot, comment="Buy")
// Short Orders
if (short1 and strategy.position_size == 0)
strategy.entry("Short", strategy.short,qty=lot, comment="Sell")
if (short2 and strategy.position_size == 0)
strategy.entry("Short", strategy.short,qty=lot, comment="Sell")
// Exit our trade if our stop loss or take profit is hit
strategy.exit(id="Long Exit", from_entry="Long",qty = lot, profit=takeProfit, loss=stopLoss)
strategy.exit(id="Short Exit", from_entry="Short", qty = lot, profit=takeProfit, loss=stopLoss)
// plot data to the chart
hline(first_sell_level, "Overbought Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2)
hline(second_sell_level, "Overbought Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2)
hline(first_buy_level, "Oversold Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2)
hline(second_buy_level, "Oversold Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2)
plot (vrsi, title = "RSI", color = color.blue, linewidth=2)