
Chiến lược này là một hệ thống giao dịch tự điều chỉnh dựa trên chỉ số tương đối mạnh (RSI) để nắm bắt sự thay đổi động lực thị trường bằng cách theo dõi các khu vực mua và bán quá mức của chỉ số RSI. Hệ thống tích hợp cơ chế quản lý vị trí thông minh, bao gồm nhiều cấp kiểm soát dừng lỗ và chức năng thanh toán tự động, nhằm mục đích đạt được tỷ lệ lợi nhuận rủi ro ổn định.
Chiến lược này dựa trên các tín hiệu mua và bán trên RSI, kết hợp nhiều điều kiện giao dịch:
Chiến lược này nắm bắt sự thay đổi động lực của thị trường thông qua chỉ số RSI, kết hợp với hệ thống quản lý rủi ro hoàn hảo, để thực hiện một hệ thống giao dịch tự động hoàn toàn. Mặc dù có một số hạn chế, nhưng với sự cải thiện theo hướng tối ưu hóa được đề xuất, nó có khả năng đạt được hiệu suất giao dịch ổn định hơn. Điểm mạnh cốt lõi của chiến lược là tính toàn vẹn và mức độ tự động hóa của hệ thống, phù hợp để phát triển và tối ưu hóa hơn nữa như một khuôn khổ cơ bản.
/*backtest
start: 2024-11-04 00:00:00
end: 2024-11-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Harmony Signal Flow By Arun", overlay=true)
// RSI settings
rsiLength = 14
rsiSource = close
rsiValue = ta.rsi(rsiSource, rsiLength)
// Define RSI levels
buyLevel = 30
sellLevel = 70
// Buy signal: RSI crosses above 30
buyCondition = ta.crossover(rsiValue, buyLevel)
// Sell signal: RSI crosses below 70
sellCondition = ta.crossunder(rsiValue, sellLevel)
// Ensure only one order at a time
if (strategy.position_size == 0) // No open positions
if (buyCondition)
strategy.entry("Buy", strategy.long)
else if (sellCondition)
strategy.entry("Sell", strategy.short)
// Stop-loss and target conditions
var float stopLossBuy = na
var float targetBuy = na
var float stopLossSell = na
var float targetSell = na
if (strategy.position_size > 0) // If there's an open buy position
stopLossBuy := strategy.position_avg_price - 100 // Set stop-loss for buy
targetBuy := strategy.position_avg_price + 150 // Set target for buy
if (close <= stopLossBuy)
strategy.close("Buy", comment="Stoploss Hit")
else if (close >= targetBuy)
strategy.close("Buy", comment="Target Hit")
if (strategy.position_size < 0) // If there's an open sell position
stopLossSell := strategy.position_avg_price + 100 // Set stop-loss for sell
targetSell := strategy.position_avg_price - 150 // Set target for sell
if (close >= stopLossSell)
strategy.close("Sell", comment="Stoploss Hit")
else if (close <= targetSell)
strategy.close("Sell", comment="Target Hit")
// Close all positions by 3:25 PM
if (hour(timenow) == 15 and minute(timenow) == 25)
strategy.close_all(comment="Close all positions at 3:25 PM")
// Plot buy/sell signals on the chart
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot RSI and levels
hline(buyLevel, "Buy Level", color=color.green)
hline(sellLevel, "Sell Level", color=color.red)
plot(rsiValue, "RSI", color=color.blue)