حکمت عملی اور ایڈوانسڈ رسک مینجمنٹ سسٹم کے بعد ڈبل موونگ ایوریج کراس اوور ٹرینڈ

SMA CROSSOVER TRAILING STOP LOSS risk management POSITION SIZING Risk-Reward Ratio TAKE PROFIT STOP LOSS
تخلیق کی تاریخ: 2025-06-12 13:18:26 آخر میں ترمیم کریں: 2025-06-12 13:18:26
کاپی: 1 کلکس کی تعداد: 302
2
پر توجہ دیں
319
پیروکار

حکمت عملی اور ایڈوانسڈ رسک مینجمنٹ سسٹم کے بعد ڈبل موونگ ایوریج کراس اوور ٹرینڈ حکمت عملی اور ایڈوانسڈ رسک مینجمنٹ سسٹم کے بعد ڈبل موونگ ایوریج کراس اوور ٹرینڈ

حکمت عملی کا جائزہ

ڈبل مساوی لائن کراس رجحان ٹریکنگ حکمت عملی ایک مقداری تجارتی نظام ہے جو تکنیکی تجزیہ اور جامع رسک مینجمنٹ کو جوڑتا ہے۔ اس حکمت عملی کا بنیادی حصہ مارکیٹ کے رجحان میں تبدیلی کی نشاندہی کرنے کے لئے فاسٹ سادہ حرکت پذیر اوسط ((فاسٹ ایس ایم اے) اور سست سادہ حرکت پذیر اوسط ((سست ایس ایم اے) کے کراس سگنل کا استعمال کرتا ہے ، اور متعدد رسک کنٹرول میکانزم کے ذریعہ فنڈز کی حفاظت کو یقینی بناتا ہے۔ حکمت عملی کو پائن اسکرپٹ پلیٹ فارم پر لاگو کیا گیا ہے ، جو تجارت کی متعدد اقسام کے لئے رجحانات کو ٹریک کرنے کے لئے موزوں ہے۔

حکمت عملی کا اصول

یہ حکمت عملی تجارت کے فیصلوں کو دو سادہ منتقل اوسط کے مابین باہمی تعامل پر مبنی کرتی ہے۔

  1. سگنل جنریٹنگ میکانزم:

    • کثیر سگنل بنائیں: جب تیز رفتار SMA (ڈیفالٹ 24 سائیکل) پر سست رفتار SMA (ڈیفالٹ 48 سائیکل) سے گزریں
    • خالی کرنے کا اشارہ: جب فاسٹ ایس ایم اے کے نیچے سست ایس ایم اے سے گزرتا ہے
    • فلیٹ پوزیشن سگنل: جب مخالف کراس سگنل ظاہر ہوتا ہے
  2. ٹائم کنٹرول: حکمت عملی K لائن کے اختتام پر تمام تجارتی فیصلوں پر عملدرآمد کرتی ہے ، جس سے نظر آنے والے تعصب سے بچا جاتا ہے ، تاکہ پیمائش کے نتائج کی وشوسنییتا اور صداقت کو یقینی بنایا جاسکے۔

  3. فنڈز کا انتظام:

    • فی ٹرانزیکشن رسک کنٹرول: فی ٹرانزیکشن کا زیادہ سے زیادہ خطرہ اکاؤنٹ کی کل رقم کے 2.0٪ تک محدود ہے
    • پوزیشن سائز کا خود کار طریقے سے حساب کتاب: اسٹاپ فاصلہ اور خطرے کی رقم کی بنیاد پر متحرک ایڈجسٹمنٹ ، اس بات کو یقینی بنانا کہ پہلے سے طے شدہ خطرے کی حد سے تجاوز نہ کیا جائے
  4. ملٹی لیول رسک کنٹرول:

    • فکسڈ اسٹاپ نقصان: داخلے کے فورا بعد فکسڈ فیصد اسٹاپ نقصان (ڈیفالٹ 0.8٪) ، ایک نقصان کو محدود کرنا
    • منافع کا ہدف ((Take Profit): خود کار طریقے سے حساب لگانے پر مبنی منافع کا خطرہ تناسب ((ڈیفالٹ 2.0) ، مثال کے طور پر 0.8٪ اسٹاپ نقصان کے ساتھ مل کر 2.0٪ منافع کا خطرہ تناسب 1.6٪ منافع کا ہدف دیتا ہے
    • ٹریلنگ اسٹاپ نقصان:
      • چالو کرنے کی شرائط: جب منافع کی ڈیفالٹ فیصد (ڈیفالٹ 1.0٪) تک پہنچ جائے تو چالو کرنا
      • ٹریکنگ میکانزم: ایک بار چالو ہونے پر ، اسٹاپ نقصان کی قیمت سب سے زیادہ قیمت ((زیادہ) یا سب سے کم قیمت ((چھوٹی) کی پیروی کرے گی ، اور اس سے طے شدہ فاصلے پر (ڈیفالٹ 0.5٪)
      • سیکیورٹی: اس بات کو یقینی بنانا کہ ٹریکنگ اسٹاپ نقصانات کبھی بھی ابتدائی اسٹاپ نقصان کی سطح سے کم نہ ہوں ، جس سے منافع میں اضافے کی اجازت دی جائے جبکہ فنڈز کی حفاظت کی جائے

اس حکمت عملی میں ٹریڈنگ کی حفاظت اور استحکام کو یقینی بنانے کے لئے خطرے کے انتظام کے جامع اقدامات کا استعمال کرتے ہوئے رجحانات کو پکڑنے کے لئے ایک ہی لائن کراسنگ کا استعمال کیا گیا ہے۔

اسٹریٹجک فوائد

  1. مضبوط رجحانات کا پتہ لگانے کا نظام:

    • ڈبل مساوی کراسنگ سسٹم ایک کلاسک رجحان ٹریکنگ اشارے کے طور پر ، جس کی تاریخی تصدیق شدہ تاثیر اور استحکام ہے
    • مختلف مارکیٹ کے حالات اور وقت کے دورانیے کے رجحان کی خصوصیات کو ایڈجسٹ کرنے کے لئے آہستہ آہستہ اوسط سائیکل کو ایڈجسٹ کریں
  2. فنڈز کا درست انتظام:

    • اکاؤنٹ کی خالص مالیت پر مبنی متحرک خطرے کی تقسیم ، اس بات کو یقینی بناتی ہے کہ ہر ٹرانزیکشن کا خطرہ ہمیشہ قابل کنٹرول حدود میں رہے
    • پوزیشن کا سائز خود کار طریقے سے اصل سٹاپ نقصان کے فاصلے کے مطابق ایڈجسٹ کیا جاتا ہے تاکہ زیادہ سے زیادہ بیعانہ یا چھوٹی پوزیشن کی دشواری سے بچایا جاسکے
    • سسٹم خود کار طریقے سے سیکیورٹی چیک میکانیزم ، انتہائی حالات میں حساب کتاب کی غلطیوں کو روکتا ہے
  3. خطرے سے بچاؤ کی متعدد سطحیں:

    • فکسڈ اسٹاپ نقصان بنیادی تحفظ فراہم کرتا ہے اور زیادہ سے زیادہ نقصان کی حد کو محدود کرتا ہے
    • منافع کے اہداف کا تعین جو خطرے سے واپسی کے تناسب پر مبنی ہے ، اس بات کو یقینی بناتا ہے کہ اوسط منافع اوسط نقصان سے زیادہ ہے
    • اعلی درجے کی ٹریکنگ اسٹاپ نقصانات کی حفاظت نے منافع حاصل کیا ہے اور اس رجحان کو جاری رکھنے کے لئے ممکنہ آمدنی کو متاثر نہیں کیا ہے
  4. ٹرانزیکشن پر عملدرآمد کا وقت کنٹرول:

    • تمام ٹریڈنگ فیصلوں کو سختی سے K لائن اختتامی قیمت پر عملدرآمد کریں تاکہ فارورڈنگ کے انحراف سے بچا جاسکے۔
    • استعمال کریںprocess_orders_on_close=trueپیرامیٹرز کو یقینی بنانا کہ آرڈر کی پروسیسنگ حقیقی ٹرانزیکشن ماحول کے مطابق ہے
    • ٹرانزیکشن منطق پچھلے K لائن کے سگنل پر مبنی ہے تاکہ مستقبل کے اعداد و شمار کا استعمال نہ کیا جاسکے
  5. خود کار طریقے سے ٹریکنگ اور نقصان کا نظام:

    • ٹریکنگ اسٹاپ نقصان صرف اس وقت چالو ہوتا ہے جب تجارت منافع کی پہلے سے طے شدہ سطح تک پہنچ جاتی ہے ، تاکہ قبل از وقت ٹرگر سے بچا جاسکے
    • سٹاپ نقصان کی سطح قیمتوں میں تبدیلی کے ساتھ خود کار طریقے سے ایڈجسٹ کرتا ہے، جبکہ اس رجحان کو جاری رکھنے کی اجازت دیتا ہے جبکہ منافع کے کچھ حصوں کو بند کر دیتا ہے
    • بلٹ میں حفاظتی طریقہ کار اس بات کو یقینی بناتا ہے کہ ٹریکنگ اسٹاپ نقصان ابتدائی اسٹاپ نقصان کی سطح سے کم نہ ہو اور اس سے مسلسل خطرے سے تحفظ فراہم کیا جائے

اسٹریٹجک رسک

  1. رجحانات کی نشاندہی:

    • حرکت پذیری اوسط بنیادی طور پر ایک پیچھے رہ جانے والا اشارے ہے ، جو رجحان کے موڑ کے نقطہ پر بروقت ردعمل نہیں دے سکتا ہے۔
    • ہلچل کی منڈیوں میں بار بار غلط سگنل پیدا ہوسکتے ہیں ، جس سے “ہلچل کا اثر” ہوتا ہے۔
    • تخفیف کا طریقہ: اضافی فلٹرنگ شرائط کو شامل کرنے پر غور کیا جاسکتا ہے ، جیسے اتار چڑھاؤ کے اشارے یا رجحان کی طاقت کی تصدیق
  2. فکسڈ پیرامیٹرز کے ساتھ مطابقت پذیری کے مسائل:

    • ڈیفالٹ ایس ایم اے کی مدت (24 اور 48) مختلف مارکیٹوں اور ٹائم فریموں میں مختلف ہو سکتی ہے
    • اسٹاپ نقصان اور منافع کے اہداف کے لئے مقررہ فیصد کی ترتیب تمام اتار چڑھاؤ کے حالات کے لئے موزوں نہیں ہوسکتی ہے
    • تخفیف کا طریقہ: پیرامیٹرز کو مخصوص تجارتی اقسام کی خصوصیات اور تاریخی اتار چڑھاؤ کے مطابق ایڈجسٹ کرنے کی تجویز کی گئی ہے ، یا موافقت پذیر پیرامیٹرز کا طریقہ کار متعارف کرایا گیا ہے۔
  3. سٹاپ نقصان کی سرگرمی کا ٹریک:

    • منافع کی سطح کو روکنے کے لئے ٹریکنگ کو چالو کریں (ڈیفالٹ 1.0٪) بہت زیادہ سیٹ کرنا منافع کو لاک کرنے کے مواقع سے محروم ہونے کا سبب بن سکتا ہے
    • بہت کم سیٹ کرنا ممکنہ منافع کو محدود کرنے کے لئے ابتدائی طور پر متحرک ہوسکتا ہے
    • تخفیف کا طریقہ: ٹریکنگ اسٹاپ نقصان کے پیرامیٹرز کو ہدف پرجاتیوں کے اوسط حقیقی طول و عرض ((ATR) تناسب کے مطابق ترتیب دیں ، تاکہ اسے زیادہ موافقت بخش بنایا جاسکے
  4. فنڈ مینجمنٹ کے خطرات:

    • بہت کم اتار چڑھاؤ والی اقسام کے لئے ، مقررہ فیصد اسٹاپ نقصان سے زیادہ پوزیشن ہوسکتی ہے
    • انتہائی مارکیٹ کے حالات (جیسے چھلانگ لگانا یا گرنا) میں پہلے سے طے شدہ اسٹاپ نقصان کی قیمت پر عملدرآمد ممکن نہیں ہے
    • تخفیف کا طریقہ: زیادہ سے زیادہ پوزیشن کی حد مقرر کرنے پر غور کریں ، یا متحرک طور پر اتار چڑھاؤ کے اشارے (جیسے اے ٹی آر) پر مبنی خطرے کے پیرامیٹرز کو ایڈجسٹ کریں
  5. ٹیکنالوجی کی حدود:

    • جب اسٹاپ نقصان کا فیصد صفر یا منفی پر سیٹ کیا جاتا ہے تو متبادل منطق غیر متوقع خطرات کا سبب بن سکتی ہے
    • حکمت عملی کی اصل کارکردگی پر ٹرانزیکشن فیس اور سلائڈ پوائنٹس کے اثرات پر غور نہیں کیا گیا
    • تخفیف: غلطی سے نمٹنے کے منطق کو بہتر بنانا ، مزید سیکیورٹی چیک شامل کرنا ، اور واپسی میں ٹرانزیکشن لاگت کا عنصر شامل کرنا

حکمت عملی کی اصلاح کی سمت

  1. سگنل جنریشن میکانزم کو بہتر بنانا:

    • خود کو اپنانے والی اوسط لکیری سائیکل متعارف کروائیں: مارکیٹ میں اتار چڑھاو کی رفتار کے مطابق آہستہ آہستہ اوسط لکیری سائیکل کو ایڈجسٹ کریں ، مختلف مارکیٹ کے حالات میں موافقت کو بہتر بنائیں
    • معاون توثیقی اشارے شامل کریں: کم معیار کے اشارے کو فلٹر کرنے کے لئے نسبتا strong مضبوط اشارے ((RSI) ، بے ترتیب اشارے ((Stochastic) یا MACD جیسے اشارے شامل کریں
    • قیمت کے ڈھانچے کے تجزیہ پر غور کریں: معاونت کی مزاحمت ، قیمت کی شکل کی شناخت اور دیگر عوامل کو شامل کریں ، سگنل کے معیار کو بہتر بنائیں
  2. خطرے کے انتظام کے نظام میں بہتری:

    • اتار چڑھاؤ کی شرح کے لئے مرضی کے مطابق سٹاپ نقصان: متغیر کی شرح کے اشارے جیسے اے ٹی آر کی بنیاد پر سٹاپ نقصان کی فاصلے کو متحرک طور پر ترتیب دیں ، نہ کہ مقررہ فیصد
    • سیگمنٹ ٹریکنگ اسٹاپ اسٹریٹجی: کثیر درجے کی ٹریکنگ اسٹاپ کو نافذ کریں ، جس میں منافع میں اضافے کے ساتھ فاصلے کو آہستہ آہستہ تنگ کیا جائے
    • زیادہ سے زیادہ واپسی کنٹرول: اکاؤنٹ کی زیادہ سے زیادہ واپسی کے تناسب پر مبنی رسک ایڈجسٹمنٹ میکانزم میں اضافہ ، جو غیر منقولہ مارکیٹ کے حالات میں خود بخود خطرے کو کم کرتا ہے۔
  3. داخلہ کی اصلاح:

    • رجحان کی طاقت فلٹرنگ: تجارتی سگنل صرف اس وقت عمل میں لایا جاتا ہے جب رجحان کی طاقت ایک خاص حد تک پہنچ جاتی ہے
    • اتار چڑھاؤ ونڈو فلٹرنگ: مناسب اتار چڑھاؤ کے ماحول میں تجارت انجام دیں ، زیادہ اتار چڑھاؤ یا کم اتار چڑھاؤ والے بازاروں سے گریز کریں
    • بہترین عملدرآمد کی قیمت: بہترین انٹری ٹائم اور قیمت کی سطح جس کے بعد تحقیقاتی سگنل تیار کیا گیا ہے
  4. آراء اور تشخیصی فریم ورک:

    • کثیر وقت کی مدت کی مستقل مزاجی: مختلف وقت کی مدت میں حکمت عملی کی مستقل مزاجی اور استحکام کی توثیق
    • حساسیت کا تجزیہ: حکمت عملی کی کارکردگی پر ہر پیرامیٹرز کی تبدیلیوں کے اثرات کی مکمل جانچ پڑتال کریں تاکہ پیرامیٹرز کا سب سے مستحکم مجموعہ تلاش کیا جاسکے
    • مونٹی کارلو سمیلیشن: حکمت عملیوں کے امکانات کی تقسیم اور استحکام کا اندازہ لگانے کے لئے بے ترتیب ٹریڈنگ کے نتائج
  5. ٹیکنالوجی میں بہتری:

    • غلطیوں کو بہتر بنانے: مختلف مارکیٹ کے حالات میں حکمت عملی کے مستحکم آپریشن کو یقینی بنانے کے لئے مارجن کے معاملات کو بڑھانا
    • کارکردگی کے اشارے کی نگرانی میں اضافہ: اہم کارکردگی کے اشارے جیسے شارپ تناسب ، زیادہ سے زیادہ واپسی وغیرہ کو حقیقی وقت میں ٹریک کریں
    • حکمت عملی کی حیثیت کی نمائش: گرافک انٹرفیس میں بہتری ، حکمت عملی کی حیثیت ، انعقاد اور خطرے کی سطح کو بصری طور پر ظاہر کرنا

خلاصہ کریں۔

ڈبل مساوی کراس رجحان ٹریکنگ حکمت عملی ایک مکمل تجارتی نظام ہے جو کلاسیکی تکنیکی تجزیہ کے طریقوں کو جدید رسک مینجمنٹ تصورات کے ساتھ جوڑتا ہے۔ اس کی بنیادی خوبی یہ ہے کہ اس میں سادہ اور واضح رجحان کی شناخت کا طریقہ کار ہے اور اس میں ایک کثیر سطح کا رسک کنٹرول سسٹم ہے۔ خاص طور پر اس کے نفیس فنڈ مینجمنٹ اور اعلی درجے کی ٹریکنگ سٹاپ نقصان کا طریقہ کار حکمت عملی کو بہتر رسک ایڈجسٹمنٹ کی واپسی کی صلاحیت فراہم کرتا ہے۔

تاہم ، اس حکمت عملی کو بھی چیلنجوں کا سامنا کرنا پڑتا ہے ، جیسے کہ حرکت پذیر اوسط کی موروثی پسماندگی اور پیرامیٹرز کی موافقت۔ اس حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے لئے امید ہے کہ اس میں موافقت پذیر پیرامیٹرز ، سگنل فلٹرنگ کے طریقہ کار کو بڑھانا اور خطرے کے انتظام کے نظام کو بہتر بنایا جائے۔

مجموعی طور پر ، یہ ایک اچھی طرح سے تشکیل شدہ ، منطقی طور پر واضح ، مقداری حکمت عملی کا فریم ورک ہے جو درمیانی اور طویل مدتی رجحانات کی پیروی کرنے والے نظام کی بنیاد کے لئے موزوں ہے ، خاص طور پر ایسی منڈیوں کے لئے جو واضح رجحانات کی خصوصیات رکھتی ہیں۔ تاجروں کے لئے ، اس کے خطرے کے انتظام کے نظریات کو سمجھنا اور ان پر قابو پانا اس حکمت عملی کا سب سے قیمتی حصہ ہے جو سادہ نقل کی حکمت عملی کے پیرامیٹرز سے کہیں زیادہ اہم ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-06-04 00:00:00
end: 2025-06-11 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Dual SMA Crossover Strategy", overlay=true, calc_on_every_tick=false, process_orders_on_close=true)

// --- Inputs ---
// SMA Lengths
fast_length = input.int(24, title="Fast SMA Length", minval=1)
slow_length = input.int(48, title="Slow SMA Length", minval=1)

// Risk Management
risk_per_trade_percent = input.float(2.0, title="Risk Per Trade (%)", minval=0.1, maxval=10.0, step=0.1) // % of equity to risk per trade
stop_loss_percent = input.float(0.8, title="Stop Loss (%)", minval=0.1, step=0.1) // % from entry price
risk_reward_ratio = input.float(2.0, title="Risk-Reward Ratio", minval=0.5, step=0.1) // 2.0 = 2R, 3.0 = 3R etc.

// Advanced Trailing Stop Loss
trailing_start_percent = input.float(1.0, title="Trailing Stop Start (%)", minval=0.1, step=0.1) // % profit to activate TSL
trailing_stop_percent = input.float(0.5, title="Trailing Stop Trail (%)", minval=0.1, step=0.1) // % to trail by once activated

// --- Calculations ---
// Calculate SMAs
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)

// Plot SMAs on chart
plot(fast_sma, color=color.blue, title="Fast SMA")
plot(slow_sma, color=color.red, title="Slow SMA")

// Crossover conditions (calculated on previous bar to prevent look-ahead bias)
long_condition = ta.crossover(fast_sma[1], slow_sma[1])
short_condition = ta.crossunder(fast_sma[1], slow_sma[1])

// --- Money Management and Position Sizing ---
// Calculate account equity and risk amount
account_equity = strategy.initial_capital + strategy.netprofit
risk_amount = account_equity * (risk_per_trade_percent / 100)

// Calculate Stop Loss price based on entry and SL percentage
var float long_stop_price = na
var float short_stop_price = na
var float long_take_profit_price = na
var float short_take_profit_price = na

// --- Trailing Stop Loss Variables ---
var float trailing_long_activated_price = na // Price at which TSL is activated for long
var float trailing_short_activated_price = na // Price at which TSL is activated for short
var float current_trailing_stop_long = na
var float current_trailing_stop_short = na
var bool  is_long_trailing_active = false
var bool  is_short_trailing_active = false

// --- Strategy Entry and Exit Orders ---
if long_condition
    // Reset TSL variables for a new entry
    trailing_long_activated_price := na
    current_trailing_stop_long := na
    is_long_trailing_active := false

    // Calculate SL, TP for long entry
    long_stop_price := close * (1 - stop_loss_percent / 100) // SL below entry
    long_take_profit_price := close * (1 + (stop_loss_percent * risk_reward_ratio) / 100) // TP above entry based on RRR

    // Calculate position size for long entry
    price_change_per_unit = close * (stop_loss_percent / 100)
    if price_change_per_unit > 0
        long_quantity = risk_amount / price_change_per_unit
        strategy.entry("Long", strategy.long, qty=long_quantity, comment="Buy Signal")
    else
        strategy.entry("Long", strategy.long, comment="Buy Signal (Risk calculation skipped)") // Fallback if SL is 0 or negative

if short_condition
    // Reset TSL variables for a new entry
    trailing_short_activated_price := na
    current_trailing_stop_short := na
    is_short_trailing_active := false

    // Calculate SL, TP for short entry
    short_stop_price := close * (1 + stop_loss_percent / 100) // SL above entry
    short_take_profit_price := close * (1 - (stop_loss_percent * risk_reward_ratio) / 100) // TP below entry based on RRR

    // Calculate position size for short entry
    price_change_per_unit = close * (stop_loss_percent / 100)
    if price_change_per_unit > 0
        short_quantity = risk_amount / price_change_per_unit
        strategy.entry("Short", strategy.short, qty=short_quantity, comment="Sell Signal")
    else
        strategy.entry("Short", strategy.short, comment="Sell Signal (Risk calculation skipped)") // Fallback if SL is 0 or negative

// --- Stop Loss, Take Profit, Trailing Stop Logic ---

// Long position management
if strategy.position_size > 0 // We are in a long position
    entry_price = strategy.opentrades.entry_price(0)
    current_profit_percent = ((close - entry_price) / entry_price) * 100

    // Initial SL and TP set at entry
    strategy.exit("Exit Long", from_entry="Long", stop=long_stop_price, limit=long_take_profit_price, comment="TP/SL Long")

    // Check for Trailing Stop activation
    if not is_long_trailing_active and current_profit_percent >= trailing_start_percent
        is_long_trailing_active := true
        // Set initial trailing stop when activated
        trailing_long_activated_price := high // Or close, depending on preference
        current_trailing_stop_long := high * (1 - trailing_stop_percent / 100)

    // If trailing stop is active, update it
    if is_long_trailing_active
        // Only move the trailing stop up (for long positions)
        potential_new_stop = high * (1 - trailing_stop_percent / 100)
        current_trailing_stop_long := math.max(current_trailing_stop_long, potential_new_stop)

        // Ensure trailing stop is not below the initial long_stop_price
        // This prevents the trailing stop from being less protective than the initial SL if the price drops after activation.
        current_trailing_stop_long := math.max(current_trailing_stop_long, long_stop_price)

        strategy.exit("Trailing Exit Long", from_entry="Long", stop=current_trailing_stop_long, comment="Trailing SL Long")

// Short position management
if strategy.position_size < 0 // We are in a short position
    entry_price = strategy.opentrades.entry_price(0)
    current_profit_percent = ((entry_price - close) / entry_price) * 100

    // Initial SL and TP set at entry
    strategy.exit("Exit Short", from_entry="Short", stop=short_stop_price, limit=short_take_profit_price, comment="TP/SL Short")

    // Check for Trailing Stop activation
    if not is_short_trailing_active and current_profit_percent >= trailing_start_percent
        is_short_trailing_active := true
        // Set initial trailing stop when activated
        trailing_short_activated_price := low // Or close, depending on preference
        current_trailing_stop_short := low * (1 + trailing_stop_percent / 100)

    // If trailing stop is active, update it
    if is_short_trailing_active
        // Only move the trailing stop down (for short positions)
        potential_new_stop = low * (1 + trailing_stop_percent / 100)
        current_trailing_stop_short := math.min(current_trailing_stop_short, potential_new_stop)

        // Ensure trailing stop is not above the initial short_stop_price
        current_trailing_stop_short := math.min(current_trailing_stop_short, short_stop_price)

        strategy.exit("Trailing Exit Short", from_entry="Short", stop=current_trailing_stop_short, comment="Trailing SL Short")

// Plot background color to indicate active position (optional)
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : na, title="Long Position Background")
bgcolor(strategy.position_size < 0 ? color.new(color.red, 90) : na, title="Short Position Background")