This script demonstrate how to make a Training Stop Loss to "ride the wave". In comparison to classic Stop Loss this strategy follows the price upwards (for long positions) and when price drops by a fixed percentage then you exit your position.
Versionshinweise
⋅
Minor typos
Versionshinweise
⋅
Add the ability to disable trailing for demonstration reasons
Close open orders on trend reversal
Add sell labels on cross-under
Versionshinweise
⋅
Fix a bug that made Stop Loss to not trigger appropriately when it was reached at the very first candle end enable trailing was un-checked
Versionshinweise
⋅
Refactor stopValue calculation to be more readable
Versionshinweise
⋅
Fix longIsActive logic
Versionshinweise
⋅
Check if time is within backtest period in order to set the price to prevent unnecessary calculations and drawing outside the area of interest
Replace deprecated trasp argument with color.new
Versionshinweise
⋅
Set calc on every tick to false by default, as @fgo943 suggested
Versionshinweise
⋅
Minor Update the chart for a better overview and understanding of the trailing stop loss
Versionshinweise
⋅
Fix a bug that were causing stop loss to be calculated wrong when there was new entry back to back with the end of the previous one
Use strategy.percent_of_equity
Versionshinweise
⋅
Draw lines with width 1
Versionshinweise
⋅
Update to pinescript V5
Stop Loss step is now 0.05
Versionshinweise
⋅
Let's face it a Green-Red color model is more intuitive!
Versionshinweise
⋅
Happy New Year!
Many code refactorings and optimizations to better use this script as a template and plug your own strategy at ease
Versionshinweise
⋅
Bug fix: (rare/minor) Remove 'strategy.position_size == 0' condition in stop loss calculation that made the very first stop loss price target to be calculated based on previous 'strategy.position_avg_price' instead of 'close' if the previous position closed exactly one bar before!
Versionshinweise
⋅
(minor) refactoring
Versionshinweise
⋅
Use time_filters library
Versionshinweise
⋅
Minor revision update
Versionshinweise
⋅
Replace deprecated "when=" with if statements in strategy calls
Versionshinweise
⋅
Change fastMA default color to yellow
Versionshinweise
⋅
Increase max labels to 300
Minor refactoring
Versionshinweise
⋅
Update time_filters library
Versionshinweise
⋅
Some minor label/color changes
Versionshinweise
⋅
small refactoring
Versionshinweise
⋅
Update time_filters library version
Versionshinweise
⋅
Update time_filters library version
Versionshinweise
⋅
Use the 'chrono_utils' library for the date-time window filter
ur script is awesome.... instead of "longTrailingStopLossPerc" , i want to use " StopLong= close <= open-ma_function(tr(true), length) " as a trailing stop loss. i need help in converting this series[bool] argument to type: series[float].
Soincoin
⋅
Thanks for sharing this code. Very clear for eduacational purposes and easy to implement in other strategies
if bb_cross_test and no_position and current_bar_test strategy.entry("Cross Short Entry Test", strategy.short, limit = upper_5 )
strategy.exit("Cross Short Exit Test 1/2","Cross Short Entry Test", limit = upper_6, qty_percent = 50, loss = std_loss)
strategy.exit("Cross Short Exit Test 2/2","Cross Short Entry Test", qty_percent = 100, trail_price = upper_6, trail_offset = + 50 )
So that the first exit sells 50% of the position to take profit at a certain level, and then at that same level a trailing stop for the other half of the position is implemented.
I am having difficulties making this work though it seems to me the logic makes sense. Is it necessary to use the code you have built to make something like this happen?
Thanks!
jason5480
⋅
@KCBC3319, Check the "Trailing Take Profit Trailing Stop Loss" script in my profile. I implemented what you try to achieve here.
I would like to know how I can add a fixed spot loss in the code?
I already checked your other scripts this one seems to work the best :)
jason5480
⋅
@pdreamy, Hello if I understood correctly you want to set a fixed stop loss e.g. 10 USD. A good start would be to replace line 118 with something like "close - longTrailingStopLoss" where the longTrailingStopLoss variable is configurable from the user and its value is 10 for this example.
jeno_
⋅
Very nicely done, just what I need! However I remember I read somewhere some people saying tradingview build-in trailing function in buggy/flaws, would you kind enough to shed some light on this?