رینج بریک آؤٹ مومینٹم حکمت عملی اور تجارتی سیشنز کی بنیاد پر متحرک رسک مینجمنٹ

Moving Average EMA SMA Range Breakout Session Trading Risk-Reward Ratio BREAK-EVEN
تخلیق کی تاریخ: 2025-05-26 13:03:40 آخر میں ترمیم کریں: 2025-05-26 13:03:40
کاپی: 2 کلکس کی تعداد: 232
2
پر توجہ دیں
319
پیروکار

رینج بریک آؤٹ مومینٹم حکمت عملی اور تجارتی سیشنز کی بنیاد پر متحرک رسک مینجمنٹ رینج بریک آؤٹ مومینٹم حکمت عملی اور تجارتی سیشنز کی بنیاد پر متحرک رسک مینجمنٹ

جائزہ

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

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

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

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

  2. بریک شرائط کی شناخت

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

    • ملٹی ہیڈ ٹریڈنگ: قیمتوں کو منتقل اوسط سے اوپر ہونا ضروری ہے
    • خالی سر تجارت: قیمتوں کو منتقل اوسط سے نیچے ہونا ضروری ہے یہ فلٹر اس بات کو یقینی بناتا ہے کہ تجارت کی سمت مجموعی رجحان کے مطابق ہو۔
  4. خطرے کے انتظام کی ترتیبات

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

    • ہر دن زیادہ سے زیادہ ٹرانزیکشن کی حد
    • ہر سیشن کے آغاز پر کاؤنٹر اور وقفے کی قیمت کو دوبارہ ترتیب دیں
    • سیشن کے اختتام پر سیشن ٹریک بند کریں

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

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

اس حکمت عملی کے کوڈ پر عملدرآمد کا تجزیہ کرتے ہوئے ، ہم مندرجہ ذیل اہم فوائد کا خلاصہ کرسکتے ہیں:

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

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

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

  4. ٹھیک ٹھیک خطرے کا انتظام

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

  6. آسانی سے نگرانی اور اصلاح: کوڈ کے نفاذ میں واضح بصری عناصر شامل ہیں (جیسے وقفے وقفے کے اعلی اور کم اور متحرک اوسط کی گرافک نمائندگی) اور نگرانی اور بعد میں اصلاح کے لئے انتباہ کے حالات۔

اسٹریٹجک رسک

اگرچہ اس حکمت عملی کے بہت سے فوائد ہیں ، لیکن اس میں کچھ بنیادی خطرات اور ممکنہ خرابیاں بھی ہیں:

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

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

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

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

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

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

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

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

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

  1. خود کار طریقے سے سیٹ کریں

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

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

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

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

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

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

خلاصہ کریں۔

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

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

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

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

آخر کار ، اس حکمت عملی کی افادیت مارکیٹ کی مخصوص خصوصیات اور سخت تجارتی نظم و ضبط پر منحصر ہوگی۔ اس حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے ل traders ، اس کو ایک طاقتور تجارتی آلہ بنانے کے ل traders ، اس کی مسلسل نگرانی ، ردعمل اور اصلاح کے ذریعے تجارت کی جاسکتی ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-05-21 00:00:00
end: 2025-05-25 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Session Breakout Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

// === User Inputs ===
startHour = input.int(2, "Session Start Hour (UAE Time)")
endHour = input.int(4, "Session End Hour (UAE Time)")
useMA = input.bool(true, "Use Moving Average Confluence")
maType = input.string("EMA", "MA Type", options=["EMA", "SMA"])
maLength = input.int(50, "MA Length")
riskReward = input.float(3.0, "Risk-Reward Ratio")
breakEvenRR = input.float(1.0, "Break-even After X RR")
slType = input.string("LowHigh", "SL Type", options=["LowHigh", "MidRange"])
extraPips = input.float(5.0, "Extra Pips for Spread") * syminfo.mintick
maxTrades = input.int(3, "Max Trades per Day")

// === Time Calculations ===
t = time("30", "Etc/GMT-4") // UAE time in GMT+4
tHour = hour(t)
tMin = minute(t)

sessionOpen = (tHour == startHour and tMin == 0)
sessionClose = (tHour == endHour and tMin == 0)

var float sessionHigh = na
var float sessionLow = na
var int tradeCount = 0
var bool inSession = false

if sessionOpen
    sessionHigh := high
    sessionLow := low
    inSession := true
    tradeCount := 0
else if inSession and not sessionClose
    sessionHigh := math.max(sessionHigh, high)
    sessionLow := math.min(sessionLow, low)
else if sessionClose
    inSession := false

// === MA Filter ===
ma = maType == "EMA" ? ta.ema(close, maLength) : ta.sma(close, maLength)

// === Entry Conditions ===
longCondition = close > sessionHigh and (not useMA or close > ma)
shortCondition = close < sessionLow and (not useMA or close < ma)

// === SL and TP ===
rangeMid = (sessionHigh + sessionLow) / 2
sl = slType == "LowHigh" ? (shortCondition ? sessionHigh : sessionLow) : rangeMid
sl := shortCondition ? sl + extraPips : sl - extraPips
entry = close
risk = math.abs(entry - sl)
tp = shortCondition ? entry - risk * riskReward : entry + risk * riskReward
beLevel = shortCondition ? entry - risk * breakEvenRR : entry + risk * breakEvenRR

// === Trade Execution ===
canTrade = tradeCount < maxTrades

if longCondition and canTrade
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", from_entry="Long", limit=tp, stop=sl)
    tradeCount += 1

if shortCondition and canTrade
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", from_entry="Short", limit=tp, stop=sl)
    tradeCount += 1

// === Plotting ===
plot(inSession ? sessionHigh : na, title="Session High", color=color.blue)
plot(inSession ? sessionLow : na, title="Session Low", color=color.orange)
plot(useMA ? ma : na, title="Moving Average", color=color.gray)

// === Alerts ===
alertcondition(longCondition, title="Long Breakout Alert", message="Session breakout long signal")
alertcondition(shortCondition, title="Short Breakout Alert", message="Session breakout short signal")