
یہ حکمت عملی ایک ملٹی ٹائم فریم حکمت عملی ہے جس میں رجحانات کی پیروی اور تجارت کو توڑنا شامل ہے ، ای ایم اے کراس کو رجحان فلٹر کے طور پر استعمال کیا جاتا ہے ، آر ایس آئی کو متحرک تصدیق کے اشارے کے طور پر استعمال کیا جاتا ہے ، اور اے ٹی آر کو متحرک خطرے کا انتظام کیا جاتا ہے۔ حکمت عملی الگ تھلگ انتباہی نظام کے ذریعہ عین مطابق انٹری اور آؤٹ سگنل مینجمنٹ کو پورا کرتی ہے ، اور فیصد پر مبنی فنڈ مینجمنٹ کے طریقہ کار کو خطرہ پر قابو پانے کے لئے استعمال کرتی ہے۔
یہ ایک سخت ساختہ رجحان سے باخبر رہنے کی حکمت عملی ہے ، جس میں متعدد تکنیکی اشارے کی توثیق کے ذریعہ سگنل کی وشوسنییتا کو بہتر بنایا گیا ہے ، اور سائنسی فنڈ مینجمنٹ سسٹم نیچے جانے والے خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے۔ حکمت عملی خاص طور پر رجحانات کے واضح مارکیٹ کے ماحول کے لئے موزوں ہے ، اور اتار چڑھاؤ میں موزوں قسم پر بہترین کارکردگی کا مظاہرہ کرتی ہے۔ اس کے پیرامیٹرز کو مزید بہتر بنانے کے ذریعہ خود کو اپنانے کے طریقہ کار اور مارکیٹ کی حیثیت کی شناخت کے ماڈیول کو شامل کرکے حکمت عملی کی استحکام اور موافقت کو نمایاں طور پر بڑھا دیا جاسکتا ہے۔
// @version=5
strategy("Trend Breakout Strategy with Separated Alerts", overlay=true, initial_capital=10, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// --- Parameters ---
var float risk_per_trade = 0.02 // 2% risk per trade
var int ema_fast = 9
var int ema_slow = 21
var int rsi_length = 14
var int atr_length = 14
var float atr_multiplier_sl = 2.0 // ATR multiplier for SL
var float tp_ratio = 3.0 // TP to SL ratio = 3:1
var float trail_trigger_ratio = 0.5 // Trailing stop triggers at 50% of TP
// --- Indicators ---
ema9 = ta.ema(close, ema_fast)
ema21 = ta.ema(close, ema_slow)
rsi = ta.rsi(close, rsi_length)
atr = ta.atr(atr_length)
// --- Trend Filter ---
bull_trend = ta.crossover(ema9, ema21) or (ema9 > ema21)
bear_trend = ta.crossunder(ema9, ema21) or (ema9 < ema21)
// --- Entry Conditions ---
long_entry = bull_trend and rsi > 50 and close > high[1]
short_entry = bear_trend and rsi < 50 and close < low[1]
// --- Position Size Calculation ---
equity = strategy.equity
stop_loss_distance = atr * atr_multiplier_sl
risk_amount = equity * risk_per_trade
position_size = risk_amount / stop_loss_distance
// --- SL and TP Levels ---
long_sl = close - stop_loss_distance
long_tp = close + stop_loss_distance * tp_ratio
short_sl = close + stop_loss_distance
short_tp = close - stop_loss_distance * tp_ratio
// --- Trailing Stop (activated after 50% of TP) ---
trail_points = atr * atr_multiplier_sl * tp_ratio * trail_trigger_ratio
trail_offset = atr * atr_multiplier_sl
// --- Entries ---
if long_entry
strategy.entry("Long", strategy.long, qty=position_size)
strategy.exit("Long Exit", "Long", stop=long_sl, limit=long_tp, trail_points=trail_points, trail_offset=trail_offset)
if short_entry
strategy.entry("Short", strategy.short, qty=position_size)
strategy.exit("Short Exit", "Short", stop=short_sl, limit=short_tp, trail_points=trail_points, trail_offset=trail_offset)
// --- Alert Conditions ---
var bool long_opened = false
var bool short_opened = false
// Track position opening
long_open_alert = long_entry and not long_opened
short_open_alert = short_entry and not short_opened
// Track position closing
long_close_alert = long_opened and strategy.position_size == 0
short_close_alert = short_opened and strategy.position_size == 0
// Update position states
if long_entry
long_opened := true
if short_entry
short_opened := true
if strategy.position_size == 0
long_opened := false
short_opened := false
// --- Alerts ---
alertcondition(long_open_alert, title="Open Long", message='{"action":"buy","symbol":"{{ticker}}","price":{{close}}}')
alertcondition(long_close_alert, title="Close Long", message='{"action":"close_long","symbol":"{{ticker}}","price":{{close}}}')
alertcondition(short_open_alert, title="Open Short", message='{"action":"sell","symbol":"{{ticker}}","price":{{close}}}')
alertcondition(short_close_alert, title="Close Short", message='{"action":"close_short","symbol":"{{ticker}}","price":{{close}}}')
// --- Visualization ---
plot(ema9, color=color.blue, title="EMA9")
plot(ema21, color=color.red, title="EMA21")
plotshape(long_open_alert, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(short_open_alert, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)