Basic Swing Trading Strategy

//version=5
strategy("Swing Trading Strategy", overlay=true)

// Define parameters
fastLength = input(10, "Fast MA Length")
slowLength = input(20, "Slow MA Length")
stopLossPct = input(2, "Stop Loss Percentage")
takeProfitPct = input(3, "Take Profit Percentage")

// Calculate moving averages
fastMA = sma(close, fastLength)
slowMA = sma(close, slowLength)

// Entry conditions
enterLong = crossover(fastMA, slowMA)
enterShort = crossunder(fastMA, slowMA)

// Exit conditions
exitLong = crossunder(close, fastMA) or (strategy.position_size > 0 and close < (1 - stopLossPct/100) * strategy.position_avg_price) or (strategy.position_size > 0 and close > (1 + takeProfitPct/100) * strategy.position_avg_price)
exitShort = crossover(close, fastMA) or (strategy.position_size < 0 and close > (1 + stopLossPct/100) * strategy.position_avg_price) or (strategy.position_size < 0 and close < (1 - takeProfitPct/100) * strategy.position_avg_price)

// Execute trades
if enterLong
strategy.entry("Long", strategy.long)

if enterShort
strategy.entry("Short", strategy.short)

if exitLong
strategy.close("Long")

if exitShort
strategy.close("Short")
Beyond Technical AnalysisTechnical IndicatorsTrend Analysis

Disclaimer