
A estratégia usa os três indicadores técnicos de entrada e parada automática: suporte, resistência e linha de tendência. A estratégia primeiro identifica os pontos críticos de apoio e resistência e, em seguida, combina a direção da tendência para determinar o momento de entrada.
Como reagir:
Esta estratégia integra os benefícios de vários indicadores técnicos, com uma melhor relação de risco-retorno, com parâmetros razoáveis. A chave é a otimização da configuração de parâmetros e da ordem de entrada.
/*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)