//@version=5
strategy("ADX Strategy", overlay=true)
// Input parameters
adx_length = [Link](14, title="ADX Length")
adx_threshold = [Link](25, title="ADX Threshold")
target_points = [Link](100, title="Target Points")
stop_loss_points = [Link](50, title="Stop Loss Points")
[PDI, NDI, adx] = [Link](adx_length, adx_threshold)
// Strategy logic
long_condition = adx > adx_threshold and [Link](PDI, NDI)
short_condition = adx > adx_threshold and [Link](PDI, NDI)
// Plot ADX
plot(adx, color=[Link], title="ADX")
// Strategy entry and exit
if long_condition
[Link]("Long", [Link])
if short_condition
[Link]("Short", [Link])
// Calculate target and stop loss levels
long_target = strategy.position_avg_price + target_points
long_stop_loss = strategy.position_avg_price - stop_loss_points
short_target = strategy.position_avg_price - target_points
short_stop_loss = strategy.position_avg_price + stop_loss_points
// Strategy exit
[Link]("Long Exit", "Long", limit=long_target, stop=long_stop_loss)
[Link]("Short Exit", "Short", limit=short_target, stop=short_stop_loss)