ملٹی انڈیکیٹر ڈائنامک کراس ٹرینڈ ٹریکنگ مقداری حکمت عملی کا تجزیہ

SMA RSI BB ATR TP/SL
تخلیق کی تاریخ: 2025-04-01 13:30:24 آخر میں ترمیم کریں: 2025-04-01 13:30:24
کاپی: 0 کلکس کی تعداد: 319
2
پر توجہ دیں
319
پیروکار

ملٹی انڈیکیٹر ڈائنامک کراس ٹرینڈ ٹریکنگ مقداری حکمت عملی کا تجزیہ ملٹی انڈیکیٹر ڈائنامک کراس ٹرینڈ ٹریکنگ مقداری حکمت عملی کا تجزیہ

جائزہ

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

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

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

  1. رجحانات کی تصدیق کا طریقہ کار: 5 سائیکل اور 20 سائیکل سادہ منتقل اوسط ((SMA) کا استعمال کرتے ہوئے رجحان کی سمت کے لئے بنیادی بنیاد کے طور پر. جب 5 سائیکل SMA اوپر کی طرف 20 سائیکل SMA سے گزرتا ہے تو ، اس کو اوپر کی طرف رجحان کے طور پر پہچانا جاتا ہے ، جس سے خریدنے کا اشارہ ہوتا ہے۔ جب 5 سائیکل SMA نیچے کی طرف 20 سائیکل SMA سے گزرتا ہے تو ، اسے نیچے کی طرف رجحان کے طور پر پہچانا جاتا ہے ، جس سے فروخت کا اشارہ ہوتا ہے۔

  2. طاقت فلٹر: نسبتا strong مضبوط اشارے ((آر ایس آئی) کا استعمال کرتے ہوئے ممکنہ حد سے زیادہ خرید و فروخت کی حالت کو فلٹر کریں۔ خریدنے کی شرائط آر ایس آئی سے کم 70 کی ضرورت ہوتی ہے ، حد سے زیادہ خریدنے والے زون میں داخل ہونے سے گریز کریں۔ فروخت کی شرائط آر ایس آئی سے زیادہ 30 کی ضرورت ہوتی ہے ، حد سے زیادہ فروخت زون میں خالی ہونے سے گریز کریں۔

  3. تعدد کی شناختبولنگر بینڈ کے ذریعہ قیمتوں کی نشاندہی کرنے والی قیمتوں کی متعلقہ پوزیشن۔ خریدنے کے لئے سگنل کی ضرورت ہوتی ہے کہ قیمت اوپری ریل سے زیادہ نہ ہو ، بیچنے کے لئے سگنل کی ضرورت ہوتی ہے کہ قیمت نیچے کی ریل سے کم نہ ہو ، قیمت کے انتہائی علاقے میں تجارت سے بچنے کے لئے۔

  4. خطرے کے انتظام کے نظام: اوسط حقیقی طول موج ((اے ٹی آر) پر مبنی متحرک اسٹاپ نقصان اور منافع کے اہداف کی ترتیب کا استعمال کریں۔ اسٹاپ نقصان کو داخلے کی قیمت سے 2 گنا اے ٹی آر فاصلہ اور منافع کا ہدف داخلہ کی قیمت سے 4 گنا اے ٹی آر فاصلہ مقرر کیا گیا ہے ، جس سے خطرے کے انتظام کو مختلف مارکیٹ کے حالات میں اتار چڑھاؤ کی تبدیلیوں کے مطابق ڈھال لیا جاسکتا ہے۔

  5. پوزیشن مینجمنٹاس حکمت عملی کے مطابق ، ہر ٹرانزیکشن میں خطرہ اکاؤنٹ کی رقم کا 1 فیصد سے زیادہ نہیں ہونا چاہئے ، اس بات کو یقینی بنانا ہے کہ ایک ہی ٹرانزیکشن میں ہونے والے نقصانات کو قابل قبول حد تک کنٹرول کیا جائے۔

کوڈ پر عمل درآمد کرنے پر ، اس حکمت عملی نے پہلے مختلف تکنیکی اشارے کی قیمتوں کا حساب لگایا ، اور پھر داخلے کی واضح شرائط اور باہر نکلنے کے قواعد کی وضاحت کی۔ جب خریداری کی شرائط پوری ہوجاتی ہیں تو ، تمام خالی پوزیشنوں کو ختم کردیا جاتا ہے اور ایک سے زیادہ پوزیشنیں قائم کی جاتی ہیں ، اور اسی طرح اسٹاپ نقصان اور منافع کی سطح طے کی جاتی ہے۔ جب فروخت کی شرائط پوری ہوجاتی ہیں تو ، تمام کثیر پوزیشنوں کو ختم کردیا جاتا ہے اور ایک سے زیادہ پوزیشنیں قائم کی جاتی ہیں ، اور اسی طرح اسٹاپ نقصان اور منافع کی سطح طے کی جاتی ہے۔ حکمت عملی “var” کی ورڈ کا استعمال کرتے ہوئے اسٹاپ نقصان اور منافع کی قیمتوں کو محفوظ کرتی ہے ، اس بات کو یقینی بناتی ہے کہ یہ قیمتیں باہر نکلنے کی شرائط کو متحرک کرنے سے پہلے ہی موثر رہتی ہیں۔ آخر میں ، حکمت عملی کے بصری اجزاء کے ذریعہ متعلقہ اشارے اور سگنل کا نقشہ تیار کیا گیا ہے ، جس سے تاجر کو مارکیٹ کی حالت اور تجارت کے منطق کو بصری طور پر سمجھنے میں مدد ملتی ہے۔

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

کوڈ کی ساخت اور منطق کا گہرائی سے تجزیہ کرنے سے اس حکمت عملی کے متعدد فوائد سامنے آتے ہیں:

  1. ملٹی میٹرکس کی ہم آہنگی سے تصدیقحکمت عملی: حرکت پذیر اوسط ، آر ایس آئی اور بلین کے ساتھ تین مختلف قسم کے تکنیکی اشارے کو جوڑ کر سگنل کی تصدیق کا طریقہ کار تشکیل دیا گیا ہے ، جس سے کسی ایک اشارے کے ذریعہ ممکنہ طور پر جھوٹے سگنل کا خطرہ کم ہوجاتا ہے۔ اس طرح کے متعدد فلٹرنگ کے طریقہ کار سے تجارتی سگنل کے معیار اور وشوسنییتا کو بہتر بنانے میں مدد ملتی ہے۔

  2. خطرے کے انتظام کے لئے خود کو اپنانا: اے ٹی آر پر مبنی متحرک اسٹاپ اور منافع کے اہداف کی ترتیب کا استعمال کرتے ہوئے ، مارکیٹ میں اتار چڑھاؤ کے مطابق خود بخود خطرے کے پیرامیٹرز کو ایڈجسٹ کرنے کے قابل۔ اعلی اتار چڑھاؤ والے بازاروں میں خود بخود اسٹاپ کی حد کو بڑھانا ، اور کم اتار چڑھاؤ والے بازاروں میں خود بخود اسٹاپ کی حد کو کم کرنا ، مختلف مارکیٹ کے ماحول میں مقررہ اسٹاپ کی حدود سے بچنا۔

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

  4. واضح پوزیشن مینجمنٹ: ہر ٹرانزیکشن کے خطرے کو اکاؤنٹ کے 1٪ سے زیادہ نہیں ہونا چاہئے۔ فنڈ مینجمنٹ کے لئے واضح رہنمائی فراہم کی گئی ہے ، جو طویل مدتی مستحکم آپریشن میں معاون ہے۔

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

  6. داخلہ اور باہر کی منطق واضح ہےحکمت عملی میں واضح طور پر داخلہ اور باہر نکلنے کے قواعد ہیں ، جو تجارتی فیصلوں میں موضوعی عوامل سے گریز کرتے ہیں ، جو تجارتی نظم و ضبط کو برقرار رکھنے میں معاون ہیں۔

  7. ریورس سگنل نے بریک آؤٹ کو متحرک کیا: جب الٹا اشارہ ہوتا ہے تو ، حکمت عملی پہلے موجودہ پوزیشنوں کو ختم کرتی ہے اور پھر نئی پوزیشنیں بناتی ہے ، جس سے مارکیٹ کے رجحانات میں تبدیلی کے ساتھ پوزیشن کی سمت کو تیزی سے ایڈجسٹ کرنے میں مدد ملتی ہے ، اور غلط سمت میں نمائش کو کم کیا جاتا ہے۔

اسٹریٹجک رسک

اس جامع حکمت عملی کے باوجود ، مندرجہ ذیل ممکنہ خطرات اور حدود موجود ہیں:

  1. قلیل مدتی اوسط حساسیت: 5 سائیکل ایس ایم اے کو فاسٹ میڈین لائن کے طور پر استعمال کرنا انتہائی حساس ہوسکتا ہے ، اور کراس مارکیٹ میں بار بار کراس سگنل پیدا کرنے کا خطرہ ہے ، جس سے زیادہ تجارت اور کمیشن کی کھپت ہوتی ہے۔ اس کے حل کے ل the میڈین لائن کو ہموار کرنے یا کراس مارکیٹ میں تجارت کو روکنے پر غور کیا جاسکتا ہے۔

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

  3. RSI کی حد مقرر: حکمت عملی کا استعمال کرتے ہوئے فکسڈ RSI thresholds ((70 اور 30) تمام مارکیٹ کے حالات پر لاگو نہیں ہوسکتا ہے۔ مضبوط رجحان کی مارکیٹ میں ، RSI طویل عرصے تک اعلی یا کم سطح پر رہ سکتا ہے ، جس کی وجہ سے ایک مؤثر سگنل کو یاد کیا جاتا ہے۔

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

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

  6. پیرامیٹر کی اصلاح کے خطرات: کوڈ میں استعمال ہونے والے پیرامیٹرز (جیسے 5 اور 20 دورانیہ SMA ، 14 دورانیہ RSI اور ATR) کو تاریخی اعداد و شمار سے زیادہ فٹ ہونے کا خطرہ ہوسکتا ہے۔ اس بات کو یقینی بنانے کے لئے کہ حکمت عملی مختلف پیرامیٹرز کی ترتیبات کے تحت نسبتا stable مستحکم کارکردگی کو برقرار رکھ سکتی ہے ، پیرامیٹرز کی استحکام کی جانچ کی سفارش کی جاتی ہے۔

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

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

کوڈ کے گہرے تجزیے کے مطابق ، ممکنہ اصلاحات یہ ہیں:

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

  2. بڑھتی ہوئی رجحان کی طاقت فلٹرنگ: رجحان کی طاقت کے اشارے جیسے ADX متعارف کروائیں (اوسط سمت انڈیکس) ، صرف اس وقت ٹریڈنگ سگنل پر عمل کریں جب رجحان واضح ہو۔ اصلاح کی وجوہات: مارکیٹس میں بار بار تجارت سے گریز کریں ، سگنل کے معیار کو بہتر بنائیں ، کمیشن کی لاگت کو کم کریں۔

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

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

  5. کثیر وقت کی مدت کی تصدیق: اعلی ٹائم سائیکل کی رجحانات کی تصدیق میں اضافہ کریں ، صرف اس وقت داخل ہوں جب مرکزی رجحانات کی سمت سے ہم آہنگ ہو۔ اصلاح کی وجوہات: اعلی ٹائم سائیکل کی سمت میں تجارت کرنے سے کامیابی کی شرح میں اضافہ ہوتا ہے اور مخالف سمت تجارت کا خطرہ کم ہوتا ہے۔

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

  7. مشین لرننگ کی اصلاح: مشین لرننگ الگورتھم کو متعارف کروائیں متحرک طور پر بہتر بنانے کے پیرامیٹرز یا سگنل وزن ، مارکیٹ میں تبدیلیوں کے لئے حکمت عملی کی موافقت کو بہتر بنائیں۔ اصلاح کی وجوہات: مارکیٹ کے حالات بدلتے رہتے ہیں ، جامد حکمت عملی آسانی سے ناکام ہوجاتی ہے ، مشین لرننگ حکمت عملی کو مارکیٹ میں ارتقاء کے لئے مستقل طور پر اپنانے میں مدد دے سکتی ہے۔

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

خلاصہ کریں۔

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

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

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

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

//@version=5
strategy("Crypto Futures Day Trading Strategy", overlay=true)

// --- Indicators ---
// Moving Averages
sma5 = ta.sma(close, 5)
sma20 = ta.sma(close, 20)

// Relative Strength Index (RSI)
rsi14 = ta.rsi(close, 14)

// Bollinger Bands
basis = ta.sma(close, 20)
dev = 2 * ta.stdev(close, 20)
upperBB = basis + dev
lowerBB = basis - dev

// Average True Range (ATR)
atr14 = ta.atr(14)

// --- Entry Conditions ---
// Long Entry: 5 SMA crosses above 20 SMA, RSI < 70, price below upper BB
longCondition = ta.crossover(sma5, sma20) and rsi14 < 70 and close < upperBB

// Short Entry: 5 SMA crosses below 20 SMA, RSI > 30, price above lower BB
shortCondition = ta.crossunder(sma5, sma20) and rsi14 > 30 and close > lowerBB

// --- Stop-Loss and Take-Profit Variables ---
// Use 'var' to persist values across bars until updated
var float longSL = na
var float longTP = na
var float shortSL = na
var float shortTP = na

// --- Entry Logic ---
// Long Entry: Close any short position, enter long, set SL and TP
if (longCondition)
    strategy.close("Short")              // Close existing short position
    strategy.entry("Long", strategy.long) // Enter long position
    longSL := close - 2 * atr14          // Set stop-loss 2 ATR below entry
    longTP := close + 4 * atr14          // Set take-profit 4 ATR above entry

// Short Entry: Close any long position, enter short, set SL and TP
if (shortCondition)
    strategy.close("Long")                // Close existing long position
    strategy.entry("Short", strategy.short) // Enter short position
    shortSL := close + 2 * atr14          // Set stop-loss 2 ATR above entry
    shortTP := close - 4 * atr14          // Set take-profit 4 ATR below entry

// --- Exit Logic ---
// Exit Long: Apply stop-loss and take-profit when in a long position
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longSL, limit=longTP)

// Exit Short: Apply stop-loss and take-profit when in a short position
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortSL, limit=shortTP)

// --- Plotting ---
// Plot Moving Averages
plot(sma5, color=color.blue, title="SMA5", linewidth=2)
plot(sma20, color=color.red, title="SMA20", linewidth=2)

// Plot Bollinger Bands
plot(upperBB, color=color.green, title="Upper BB", linewidth=1)
plot(lowerBB, color=color.green, title="Lower BB", linewidth=1)

// Plot Buy and Sell Signals
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot Stop-Loss and Take-Profit Levels (only when in a position)
plot(strategy.position_size > 0 ? longSL : na, color=color.red, style=plot.style_linebr, title="Long SL")
plot(strategy.position_size > 0 ? longTP : na, color=color.green, style=plot.style_linebr, title="Long TP")
plot(strategy.position_size < 0 ? shortSL : na, color=color.red, style=plot.style_linebr, title="Short SL")
plot(strategy.position_size < 0 ? shortTP : na, color=color.green, style=plot.style_linebr, title="Short TP")

// --- Optional Alerts ---
// Uncomment these lines to enable alerts in TradingView
// alertcondition(longCondition, title="Buy Alert", message="Buy Signal Detected")
// alertcondition(shortCondition, title="Sell Alert", message="Sell Signal Detected")