该策略运用支撑、阻力以及趋势线这三个技术指标来自动化入场和止损。策略首先识别关键的支撑和阻力位,然后结合趋势方向判断入场时机。
应对方法: 1. 适当放宽支撑阻力判定幅度。 2. 采用多种指标验证趋势判断。 3. 采用范围止损或及时人工干预。
本策略整合多种技术指标的优势,在合理参数设置的前提下,可以获得较好的回报风险比。关键是参数设置和入场顺序的优化。总体而言,该策略框架合理,有很大的改进空间。
/*backtest start: 2024-01-27 00:00:00 end: 2024-02-26 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Support Resistance Trend Strategy", overlay=true) // Input parameters supportLevel = input(100, title="Support Level") resistanceLevel = input(200, title="Resistance Level") riskRewardRatio = input(2, title="Risk-Reward Ratio") trailStopLoss = input(true, title="Use Trailing Stop Loss") // Calculate trend direction based on trend lines trendUp = close > request.security(syminfo.tickerid, "D", close[1]) trendDown = close < request.security(syminfo.tickerid, "D", close[1]) // Buy signal condition buySignal = close < supportLevel and trendUp // Sell signal condition sellSignal = close > resistanceLevel and trendDown // Entry point and exit conditions strategy.entry("Buy", strategy.long, when=buySignal) strategy.entry("Sell", strategy.short, when=sellSignal) // Calculate targets and stop-loss levels targetPrice = close + (close - supportLevel) * riskRewardRatio stopLossLevel = supportLevel // Plot support and resistance levels plot(supportLevel, color=color.green, linewidth=2, title="Support Level") plot(resistanceLevel, color=color.red, linewidth=2, title="Resistance Level") // Plot targets and stop-loss levels plot(targetPrice, color=color.blue, linewidth=2, title="Target Price") plot(stopLossLevel, color=color.orange, linewidth=2, title="Stop Loss Level") // Trailing stop-loss strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=targetPrice) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=targetPrice, profit=stopLossLevel) // Plot trail stop loss if (trailStopLoss) strategy.exit("Trailing Stop Loss", from_entry="Buy", loss=stopLossLevel) strategy.exit("Trailing Stop Loss", from_entry="Sell", loss=stopLossLevel)