Strategies
基于RSI动量指标的自适应交易策略-Adaptive-Trading-Strategy-Based-on-RSI-Momentum-Indicator
ianzeng123 · PineScript · Mean Reversion · 2025-02-27 16:47:25
Mean Reversion
MomentumRisk and Position Sizing
Range · InferredUptrend · InferredDowntrend · Inferred
Trigger
Sizing
Risk control
Exit
—
Context terms
No English write-up in the source (no author description).
Source code (48 lines)
/*backtest
start: 2024-02-24 00:00:00
end: 2025-02-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("MultiSymbol Smart Money EA without Lot Sizes or Pairs", overlay=true)
// Strategy Parameters for RSI
RSI_Period = input.int(14, title="RSI Period", minval=1)
RSI_Overbought = input.float(70, title="RSI Overbought")
RSI_Oversold = input.float(30, title="RSI Oversold")
// Fixed values for Stop Loss and Take Profit in percentage
FIXED_SL = input.float(0.2, title="Stop Loss in %", minval=0.0) / 100
FIXED_TP = input.float(0.6, title="Take Profit in %", minval=0.0) / 100
// RSI Calculation
rsi = ta.rsi(close, RSI_Period)
// Buy and Sell Conditions based on RSI
longCondition = rsi <= RSI_Oversold
shortCondition = rsi >= RSI_Overbought
// Entry Price
longPrice = close
shortPrice = close
// Execute the trades
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Set Stop Loss and Take Profit based on entry price and percentage
if (strategy.position_size > 0) // If there is a long position
longStopLoss = longPrice * (1 - FIXED_SL)
longTakeProfit = longPrice * (1 + FIXED_TP)
strategy.exit("Exit Buy", from_entry="Buy", stop=longStopLoss, limit=longTakeProfit)
if (strategy.position_size < 0) // If there is a short position
shortStopLoss = shortPrice * (1 + FIXED_SL)
shortTakeProfit = shortPrice * (1 - FIXED_TP)
strategy.exit("Exit Sell", from_entry="Sell", stop=shortStopLoss, limit=shortTakeProfit)