Trend Signals with TP & SL Kang//@version=5
strategy("Buy/Sell with SL & TP", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
//===== Inputs =====
fastLen = input.int(9, "Fast MA Length")
slowLen = input.int(21, "Slow MA Length")
stopLossP = input.float(0.5, "Stop Loss %", step=0.1)
takeProfP = input.float(1.0, "Take Profit %", step=0.1)
//===== Indicators =====
fastMA = ta.ema(close, fastLen)
slowMA = ta.ema(close, slowLen)
plot(fastMA, color=color.new(color.green, 0))
plot(slowMA, color=color.new(color.red, 0))
//===== Conditions =====
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)
//===== Entry Logic =====
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
//===== Exit Logic =====
if (strategy.position_size > 0)
strategy.exit("Long Exit", "Long", stop=strategy.position_avg_price * (1 - stopLossP/100), limit=strategy.position_avg_price * (1 + takeProfP/100))
if (strategy.position_size < 0)
strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price * (1 + stopLossP/100), limit=strategy.position_avg_price * (1 - takeProfP/100))
Profittaking
Risk AssistAs the profit level increases, the amount of profit taking required to avoid risk asymptotically reaches zero.
This indicator displays the % of the established position required to exit in order to ensure the trade is not a loss if the stop is hit.
Values in green (at or below 100%) indicate a winning position.
Values in red (above 100%) indicate a losing position.
Alert Examples:
If you are intent on "selling half" to avoid risk, you can set an alert on the value of this indicator for 50.
If you are intent on "selling a 3rd" to avoid risk, you can set an alert on the value of this indicator for 33.3.