ملٹی انڈیکیٹر ڈائنامک ریورسل ٹریڈنگ سسٹم: RSI اور VWAP کوآرڈینیٹڈ ریورسل حکمت عملی

RSI VWAP ATR 动态反转 价格行为确认 冷却期 尾随止损 Relative Strength Index Average True Range Dynamic Reversal Price Action Confirmation Cooldown Period Trailing Stop
تخلیق کی تاریخ: 2025-04-09 17:09:01 آخر میں ترمیم کریں: 2025-04-09 17:09:01
کاپی: 2 کلکس کی تعداد: 419
2
پر توجہ دیں
319
پیروکار

ملٹی انڈیکیٹر ڈائنامک ریورسل ٹریڈنگ سسٹم: RSI اور VWAP کوآرڈینیٹڈ ریورسل حکمت عملی ملٹی انڈیکیٹر ڈائنامک ریورسل ٹریڈنگ سسٹم: RSI اور VWAP کوآرڈینیٹڈ ریورسل حکمت عملی

جائزہ

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

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

اس حکمت عملی کے بنیادی اصول مندرجہ ذیل اہم اجزاء کے تعاون پر مبنی ہیں:

  1. RSI اوور بیئر اوور سیل کی شناخت: نسبتا strong مضبوط اشارے ((RSI) کا استعمال کرتے ہوئے مارکیٹ میں زیادہ خرید (RSI> 72) اور زیادہ فروخت (RSI <28) کی شناخت کریں۔ جب RSI اوور بائڈ زون سے نیچے کی طرف جاتا ہے یا اوور سیل زون سے اوپر کی طرف جاتا ہے تو ، یہ مارکیٹ میں آنے والے الٹ کا اشارہ کرسکتا ہے۔

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

  3. قیمتوں کے رویے کی تصدیق:

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

  5. ٹھنڈک کا دورانیہ: ایک ٹرانزیکشن پر عملدرآمد کے بعد ، سسٹم کو ایک مخصوص تعداد میں K لائنوں کا انتظار کرنے پر مجبور کیا جاتا ہے (ڈیفالٹ 10 جڑیں) اسی سمت میں ایک بار پھر تجارت کرنے سے پہلے ، تاکہ کم وقت میں زیادہ تجارت سے بچ سکے۔

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

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

سگنل ٹرگر منطق:

  • خالی کرنے کا اشارہ: آر ایس آئی نے اوور بائی کی سطح کو نیچے سے پار کیا + کم از کم قیمت سے زیادہ حجم کا تبادلہ + قیمت کی بندش پچھلی بندش کی قیمت سے کم لیکن وی ڈبلیو اے پی سے زیادہ + ٹھنڈک کا دورانیہ گزر چکا ہے
  • ایک سے زیادہ سگنل: آر ایس آئی اوور سیل سطح کو عبور کرتا ہے + کم از کم قیمت سے زیادہ حجم + قیمت کی بندش پچھلی بندش کی قیمت سے زیادہ ہے لیکن وی ڈبلیو اے پی سے کم ہے + ٹھنڈک کا دورانیہ گزر چکا ہے

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

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

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

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

  4. زیادہ تجارت سے بچنے کے لیےٹھنڈک مدت کا طریقہ کار مختصر وقت میں بار بار تجارت کو روکنے میں مؤثر ہے ، جو تجارت کی لاگت کو کم کرتا ہے اور اسی طرح کے مارکیٹ کے حالات میں دوبارہ مارکیٹ میں داخل ہونے سے بچتا ہے۔

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

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

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

اسٹریٹجک رسک

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

    • حل: واضح طور پر مضبوط رجحانات کے دوران الٹ سگنل کو روکنے کے لئے رجحان فلٹرز کو شامل کرنے پر غور کریں.
  2. پیرامیٹر کی حساسیتاسٹریٹجی کی کارکردگی پر RSI کے پیرامیٹرز کی ترتیبات جیسے زیادہ خریدنے اور زیادہ فروخت کی حد ((7228) اور ٹھنڈک کی مدت ((10 K لائن) کا بہت زیادہ اثر پڑتا ہے ، اور نامناسب پیرامیٹرز سگنل کے معیار میں کمی کا سبب بن سکتے ہیں۔

    • حل: مختلف مارکیٹ کے حالات کے لئے پیرامیٹرز کو بہتر بنانے کے لئے تاریخی ریٹرننگ کا استعمال کریں ، یا موافقت کے پیرامیٹرز پر غور کریں۔
  3. اسٹاپ نقصان کی سطح کا خطرہ1.5x اے ٹی آر اسٹاپ نقصان کے طور پر ہوسکتا ہے کہ کچھ معاملات میں بہت سخت یا بہت زیادہ نرمی ہو۔

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

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

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

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

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

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

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

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

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

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

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

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

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

    • دلیل: بعض اوقات میں مارکیٹ میں اتار چڑھاؤ غیر معمولی ہوتا ہے اور تکنیکی اشارے غلط ہوسکتے ہیں ، ان اوقات سے گریز کرنا حکمت عملی کی استحکام کو بہتر بناتا ہے۔

خلاصہ کریں۔

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

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-04-09 00:00:00
end: 2025-04-08 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("BTC/USDT Smart Long & Short (RSI + VWAP + Rejection)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
rsiLength     = input.int(14, title="RSI Length")
rsiOverbought = input.int(72, title="RSI Overbought Level")
rsiOversold   = input.int(28, title="RSI Oversold Level")
minVol        = input.float(500, title="Min Volume Filter")
cooldownBars  = input.int(10, title="Cooldown Period (bars)")
atrLength     = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="SL/TP ATR Multiplier")
useTrailing   = input.bool(true, title="Use Trailing Stop")
trailingPerc  = input.float(1.5, title="Trailing %")

// === INDICATORS ===
rsi  = ta.rsi(close, rsiLength)
vwap = ta.vwap(hlc3)
atr  = ta.atr(atrLength)
vol  = volume

// === COOLDOWN LOGIC ===
var int lastShortBar = na
var int lastLongBar = na
canShort = na(lastShortBar) or (bar_index - lastShortBar > cooldownBars)
canLong  = na(lastLongBar)  or (bar_index - lastLongBar  > cooldownBars)

// === CANDLE REJECTION LOGIC ===
bearishRejection = close < close[1] and close > vwap     // Short filter
bullishRejection = close > close[1] and close < vwap     // Long filter

// === SHORT ENTRY ===
shortSignal = ta.crossunder(rsi, rsiOverbought) and vol > minVol and bearishRejection and canShort
if (shortSignal)
    strategy.entry("Short", strategy.short)
    if useTrailing
        strategy.exit("Short Exit", from_entry="Short", trail_points=trailingPerc * close * 0.01, trail_offset=trailingPerc * close * 0.01)
    else
        sl = atr * atrMultiplier
        tp = atr * atrMultiplier
        strategy.exit("Short Exit", from_entry="Short", profit=tp, loss=sl)
    lastShortBar := bar_index

// === LONG ENTRY ===
longSignal = ta.crossover(rsi, rsiOversold) and vol > minVol and bullishRejection and canLong
if (longSignal)
    strategy.entry("Long", strategy.long)
    if useTrailing
        strategy.exit("Long Exit", from_entry="Long", trail_points=trailingPerc * close * 0.01, trail_offset=trailingPerc * close * 0.01)
    else
        sl = atr * atrMultiplier
        tp = atr * atrMultiplier
        strategy.exit("Long Exit", from_entry="Long", profit=tp, loss=sl)
    lastLongBar := bar_index

// === PLOTS ===
plot(vwap, title="VWAP", color=color.orange, linewidth=2)
plotshape(shortSignal, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(longSignal, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)