Chiến lược này là một hệ thống giao dịch thích nghi dựa trên chỉ số sức mạnh tương đối (RSI), được thiết kế để 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 quá mức và bán quá mức của RSI. Hệ thống tích hợp các cơ chế quản lý vị trí thông minh, bao gồm kiểm soát dừng lỗ và lấy lợi nhuận đa cấp, cũng như chức năng đóng vị trí tự động, nhằm đạt được tỷ lệ rủi ro-lợi nhuận mạnh mẽ.
Chiến lược cốt lõi dựa trên các tín hiệu RSI mua quá mức / bán quá mức, kết hợp với nhiều điều kiện giao dịch:
Chiến lược này nắm bắt được sự thay đổi động lực thị trường thông qua chỉ số RSI, kết hợp với một hệ thống quản lý rủi ro toàn diện, đạt được một hệ thống giao dịch tự động đầy đủ. Mặc dù có một số hạn chế nhất định, việc cải thiện thông qua các hướng tối ưu hóa được đề xuất có thể dẫn đến hiệu suất giao dịch ổn định hơ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)