JAG
Pine Script Rookie
Pine Script Rookie
Posts: 1
Joined: February 9th, 2023

Disable trading after Stop Loss is triggered

I'm having problems getting my strategy to stop re-entering the trade after the stop loss is triggered. Any advice would be appreciated thank you in advance. JAG

TPSLswitch = input(defval=false,title="Use SL & TP?",group="TP/SL CONDITION INPUTS HERE")
stopPer = input.float(1.5, step= 0.25, title='Reverse %',group="TP/SL CONDITION INPUTS HERE") / 100
takePer = input.float(100, title='Take Profit %',group="TP/SL CONDITION INPUTS HERE") / 100

//Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)

// Check if stop loss has been triggered
stopLossTriggered = false

if TPSLswitch and strategy.position_size < 0
strategy.exit('short', stop=shortStop, limit=shortTake, alert_message=shortexitmessage, comment="Stop Loss Hit")
stopLossTriggered != true

if TPSLswitch and strategy.position_size > 0
strategy.exit('long', stop=longStop, limit=longTake, alert_message=longexitmessage, comment="Stop Loss Hit")
stopLossTriggered != true

// Only enter trade if stop loss has not been triggered
if buyCond and not stopLossTriggered
strategy.close('short', alert_message=shortexitmessage, immediately = true)
strategy.entry('long', strategy.long, alert_message=longentrymessage)

if sellCond and not stopLossTriggered
strategy.close('long', alert_message=longexitmessage, immediately = true)
strategy.entry('short', strategy.short, alert_message=shortentrymessage)

Steve Burman
Moderator
Moderator
Posts: 109
Joined: January 13th, 2023

Re: Disable trading after Stop Loss is triggered

Hey JAG,

You could wrap the strategy.entry statement around an if statement such as:

if strategy.position_size == 0
strategy.entry()

I hope this helps!

Return to “Pine Script Q&A”