کثیر جہتی مارکیٹ کا تجزیہ اور مقداری تجارتی حکمت عملی

EMA RSI MACD ATR SMA RVOL ROC
تخلیق کی تاریخ: 2025-07-22 09:16:35 آخر میں ترمیم کریں: 2025-08-13 11:37:45
کاپی: 4 کلکس کی تعداد: 379
2
پر توجہ دیں
319
پیروکار

کثیر جہتی مارکیٹ کا تجزیہ اور مقداری تجارتی حکمت عملی کثیر جہتی مارکیٹ کا تجزیہ اور مقداری تجارتی حکمت عملی

جائزہ

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

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

حکمت عملی کا اصول مارکیٹ تجزیہ کے ایک کثیر جہتی فریم ورک پر مبنی ہے:

  1. بنیادی اشارے کا حسابسب سے پہلے ، حکمت عملی نے متعدد تکنیکی اشارے کو فیصلے کی بنیاد کے طور پر شمار کیا ، بشمول ای ایم اے ((55)) ، ٹرانزیکشن ایس ایم اے ((20/40/10) ، میکڈ ((12 ، 26 ، 9) ، آر ایس آئی ((14) ، اور اے ٹی آر ((14)) وغیرہ۔

  2. مارکیٹ کی حیثیت کی شناختحکمت عملی: مارکیٹ کی اقسام کی شناخت کے لئے ایک جامع الگورتھم ڈیزائن کیا گیا ہے جو موجودہ مارکیٹ کو درج ذیل 10 حالتوں میں سے کسی ایک میں درست طریقے سے فیصلہ کرسکتا ہے:

    • بیل مارکیٹ: قیمت EMA55 سے زیادہ ہے ، MACD لائن سگنل لائن سے زیادہ ہے ، RSI> 50 ، رشتہ دار حجم> 1
    • ریچھ ((بیئر): قیمت ای ایم اے 55 سے کم ہے ، ایم اے سی ڈی لائن سگنل لائن سے کم ہے ، آر ایس آئی <50 ہے ، اور تجارت اوسط سے زیادہ ہے
    • سائیڈ ویز (Sideways): قیمت کا EMA55 سے فرق ATR کے 0.5 گنا سے کم ہے اور ATR اس کی 20 چکروں کی اوسط سے کم ہے
    • اتار چڑھاؤ (Volatile): اے ٹی آر اس کی 20 چکروں کی اوسط سے 1.2 گنا زیادہ ہے
    • Momentum: قیمت میں تبدیلی اے ٹی آر سے 1.5 گنا زیادہ ہے اور ٹرانزیکشن حجم اس کے 20 چکروں کے اوسط سے 1.5 گنا زیادہ ہے
    • اوسط ریورس (MeanRev): RSI> 70 یا RSI<30
    • باکس: بائیں طرف اور قیمت میں اتار چڑھاؤ کی حد اس کی 20 چکروں کی اوسط سے 0.8 گنا کم ہے
    • میکرو: قیمتوں میں تبدیلی کی مطلق قیمت ATR سے 2 گنا زیادہ ہے
    • بھیڑیا: قیمت میں تبدیلی -ATR سے کم اور قیمت EMA55 سے کم ہے
    • ایگل: بیل مارکیٹ اور اے ٹی آر اس کی 20 چکروں کی اوسط سے 0.8 گنا کم ہے
  3. متحرک وزن میٹرکسحکمت عملی: شناخت شدہ مارکیٹ کی اقسام کے مطابق اشارے کے وزن کو خود بخود ایڈجسٹ کریں۔ مثال کے طور پر ، بیل مارکیٹ کے ماحول میں ، رجحان اور MACD اشارے کا وزن 2.0 تک بڑھ جاتا ہے ، جبکہ دوسرے مارکیٹ کی اقسام میں ، اشارے کے وزن مختلف ہوتے ہیں۔

  4. جامع اسکورنگ سسٹمحکمت عملی: ہر اشارے کے اسکور کو وزن کے حساب سے گنتی کرکے ایک مجموعی اسکور 0-100 حاصل کیا گیا۔ اس اسکور سے زیادہ 65 کا مطلب ہے کہ خریدنے کا مضبوط اشارہ ہے ، 35 سے کم کا مطلب ہے کہ فروخت کا مضبوط اشارہ ہے ، اور درمیانی علاقے کا مطلب یہ ہے کہ مارکیٹ کی حالت غیر واضح ہے ، اور انتظار کرنے کی سفارش کی جاتی ہے۔

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

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

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

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

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

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

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

  6. واضح داخلہ اور باہر نکلنے کا اشارہاس حکمت عملی کے تحت، ایک جامع درجہ بندی کے نظام کے ذریعے، واضح ٹریڈنگ سگنل فراہم کیے جاتے ہیں، جس سے ٹریڈنگ کے فیصلوں میں ذہنیت اور ہچکچاہٹ کو کم کیا جاتا ہے۔

اسٹریٹجک رسک

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

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

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

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

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

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

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

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

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

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

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

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

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

خلاصہ کریں۔

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

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-07-22 00:00:00
end: 2025-07-20 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/

//@version=6
strategy("Panel Pro+ Quantum SmartPrompt", overlay=true, default_qty_value = 10)

// --- BASE INDICATORS
ema_suprem   = ta.ema(close, 55)
sma_vol20    = ta.sma(volume, 20)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
rsi_val      = ta.rsi(close, 14)
atr14        = ta.atr(14)
range20      = ta.stdev(close, 20)
sniper_thresh = ta.percentile_nearest_rank(volume, 40, 80)
rvol         = volume / sma_vol20

// --- WARNING PRECALCULATIONS
smaATR20 = ta.sma(atr14, 20)
smaATR20x12 = smaATR20 * 1.2
smaATR20x08 = smaATR20 * 0.8
smaRange20 = ta.sma(range20, 20)
smaRange20x08 = smaRange20 * 0.8

// --- CORE LOGIC VARIABLES (removed display colors/prompts)
vol_abs_thresh = sma_vol20 * 1.2
trend = close > ema_suprem ? 1 : close < ema_suprem ? -1 : 0
delta = close - open

// --- SIMPLIFIED CANDLE PATTERNS
is_hammer = (high - low) > 3 * math.abs(open - close) and
             (close - low) / (0.001 + high - low) > 0.6 and
             (open - low) / (0.001 + high - low) > 0.6
is_engulfing = close > open[1] and open < close[1] and
               close > open and open < close

pattern = is_hammer ? 1 : is_engulfing ? 2 : 0

// --- MARKET TYPE DETECTION
isBull = close > ema_suprem and macdLine > signalLine and rsi_val > 50 and rvol > 1
isBear = close < ema_suprem and macdLine < signalLine and rsi_val < 50 and volume > sma_vol20
isSideways = math.abs(close - ema_suprem) < atr14 * 0.5 and atr14 < smaATR20
isVolatile = atr14 > smaATR20x12
isMomentum = ta.change(close, 1) > atr14 * 1.5 and volume > sma_vol20 * 1.5
isMeanRev = rsi_val > 70 or rsi_val < 30
isBox = isSideways and range20 < smaRange20x08
isMacro = math.abs(ta.change(close, 1)) > atr14 * 2
isWolf = ta.change(close, 1) < -atr14 and close < ema_suprem
isEagle = isBull and atr14 < smaATR20x08

var string marketType = ""

if isEagle
    marketType := "Eagle"
else if isBull
    marketType := "Bull"
else if isWolf
    marketType := "Wolf"
else if isBear
    marketType := "Bear"
else if isBox
    marketType := "Box"
else if isSideways
    marketType := "Sideways"
else if isVolatile
    marketType := "Volatile"
else if isMomentum
    marketType := "Momentum"
else if isMeanRev
    marketType := "MeanRev"
else if isMacro
    marketType := "Macro"
else
    marketType := "Unknown"

// --- DYNAMIC WEIGHT MATRIX
weights = array.new_float(10)
if marketType == "Bull"
    array.set(weights, 0, 2.0) // trend
    array.set(weights, 1, 1.5) // rsi
    array.set(weights, 2, 2.0) // macd
    array.set(weights, 3, 1.3) // volume
    array.set(weights, 4, 1.2) // rvol
    array.set(weights, 5, 1.0) // delta
    array.set(weights, 6, 1.2) // sniper
    array.set(weights, 7, 1.0) // blocks
    array.set(weights, 8, 1.0) // tick
    array.set(weights, 9, 1.0) // pattern
else if marketType == "Bear"
    array.set(weights, 0, 2.0)
    array.set(weights, 1, 1.5)
    array.set(weights, 2, 2.0)
    array.set(weights, 3, 1.5)
    array.set(weights, 4, 1.3)
    array.set(weights, 5, 1.1)
    array.set(weights, 6, 1.2)
    array.set(weights, 7, 1.1)
    array.set(weights, 8, 1.0)
    array.set(weights, 9, 1.0)
else
    // Default weights for other market types
    array.set(weights, 0, 1.0)
    array.set(weights, 1, 1.0)
    array.set(weights, 2, 1.0)
    array.set(weights, 3, 1.0)
    array.set(weights, 4, 1.0)
    array.set(weights, 5, 1.0)
    array.set(weights, 6, 1.0)
    array.set(weights, 7, 1.0)
    array.set(weights, 8, 1.0)
    array.set(weights, 9, 1.0)

// --- SCORING SYSTEM
base_score = 0.0
base_score := base_score + ((trend == 1 ? 20 : trend == -1 ? -20 : 0) * array.get(weights, 0))
base_score := base_score + ((rsi_val > 70 ? -10 : rsi_val < 30 ? 10 : 0) * array.get(weights, 1))
base_score := base_score + ((macdLine > signalLine ? 10 : -10) * array.get(weights, 2))
base_score := base_score + ((volume > vol_abs_thresh ? 8 : volume < sma_vol20 ? -8 : 0) * array.get(weights, 3))
base_score := base_score + ((rvol > 1.5 ? 7 : rvol < 0.8 ? -7 : 0) * array.get(weights, 4))
base_score := base_score + ((delta > 0 ? 6 : -6) * array.get(weights, 5))
base_score := base_score + ((volume > sniper_thresh ? 8 : volume < sma_vol20 ? -8 : 0) * array.get(weights, 6))
base_score := base_score + ((volume > ta.highest(volume, 10) * 0.8 ? 5 : volume < sma_vol20 ? -5 : 0) * array.get(weights, 7))
base_score := base_score + ((volume > sma_vol20 ? 5 : -5) * array.get(weights, 8))
base_score := base_score + ((pattern == 1 ? 7 : pattern == 2 ? 5 : 0) * array.get(weights, 9))

score_pct = math.max(0, math.min(100, 50 + base_score))

// === STRATEGY LOGIC ===
longCond = (marketType == "Bull" or marketType == "Eagle" or marketType == "Momentum") and score_pct > 65
shortCond = (marketType == "Bear" or marketType == "Wolf") and score_pct < 35

if longCond and strategy.position_size <= 0
    strategy.entry("LONG", strategy.long)
    alert("LONG entry: Market " + marketType, alert.freq_once_per_bar)
if shortCond and strategy.position_size >= 0
    strategy.entry("SHORT", strategy.short)
    alert("SHORT entry: Market " + marketType, alert.freq_once_per_bar)
if not longCond and strategy.position_size > 0
    strategy.close("LONG", comment="Exit LONG")
if not shortCond and strategy.position_size < 0
    strategy.close("SHORT", comment="Exit SHORT")