ولیم ایلیگیٹر RSI مومینٹم بریک آؤٹ حکمت عملی

RSI SMA 威廉鳄鱼指标 Williams ALLIGATOR 动量突破 momentum BREAKOUT
تخلیق کی تاریخ: 2025-08-19 09:40:27 آخر میں ترمیم کریں: 2025-08-19 09:40:27
کاپی: 0 کلکس کی تعداد: 243
2
پر توجہ دیں
319
پیروکار

ولیم ایلیگیٹر RSI مومینٹم بریک آؤٹ حکمت عملی ولیم ایلیگیٹر RSI مومینٹم بریک آؤٹ حکمت عملی

جائزہ

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

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

اس حکمت عملی کا بنیادی اصول ولیم فاکس اشارے کی رجحان کی شناخت کی صلاحیت اور آر ایس آئی اشارے کی حرکیات کی تصدیق کی تقریب پر مبنی ہے۔ ولیم فاکس اشارے میں تین مختلف ادوار کی متحرک اوسط شامل ہیں: ہونٹ لائن ((13 ادوار ، انحراف 8) ، ہونٹ لائن ((8 ادوار ، انحراف 5) ، ہونٹ لائن ((5 ادوار ، انحراف 3) ۔ جب یہ تینوں لائنیں ہونٹ لائن> ہونٹ لائن> ہونٹ لائن کی ترتیب کے مطابق ترتیب دی جاتی ہیں تو ، اس سے ظاہر ہوتا ہے کہ مارکیٹ اوپر کی طرف جارہی ہے۔ اس کے برعکس ، نیچے کی طرف جارہی ہے۔

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

اسٹاپ نقصان کا طریقہ کار تین گنا تحفظ کے لئے ڈیزائن کیا گیا ہے: آر ایس آئی 50 سے نیچے واپس آگیا ، قیمت اسکرین لائن سے نیچے گر گئی ، یا اسکرین لائن اسکرین لائن سے نیچے ہے۔ اسٹاپ کو ایک مقررہ رقم پر مقرر کیا گیا ہے (25 روپے) ، جو واضح رسک / ریٹرن ریٹ کنٹرول فراہم کرتا ہے۔

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

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

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

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

اسٹریٹجک رسک

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

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

پیرامیٹرز کی حساسیت بھی ایک خطرہ ہے۔ آر ایس آئی کی اہم اقدار ((55 اور 45) کے ساتھ ساتھ سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سمندری سم

اصلاح کی سمت

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

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

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

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

خلاصہ کریں۔

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

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

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

||

Overview

The Williams Alligator RSI Momentum Breakout Strategy is a comprehensive quantitative trading system that integrates the Williams Alligator indicator with the Relative Strength Index (RSI) across multiple timeframes. This strategy operates on 15-minute candlestick intervals, utilizing the Alligator indicator’s three moving average lines (Lips, Teeth, Jaw) to determine market trend direction while incorporating RSI to confirm momentum strength, creating a complete entry and exit signal framework. The strategy features clear stop-loss and take-profit mechanisms with multiple condition filtering to ensure signal reliability, making it particularly suitable for markets with distinct trending characteristics.

Strategy Logic

The core principle of this strategy is based on the Williams Alligator indicator’s trend identification capabilities combined with RSI’s momentum confirmation function. The Williams Alligator consists of three moving averages with different periods: Jaw (13-period, offset 8), Teeth (8-period, offset 5), and Lips (5-period, offset 3). When these three lines align in the sequence Lips > Teeth > Jaw, it indicates an uptrend; the reverse suggests a downtrend.

Long signals require four simultaneous conditions: closing price above Lips, Lips above Teeth, Teeth above Jaw, and RSI above 55. This multi-layer filtering mechanism ensures positions are only opened when both trend clarity and sufficient momentum are present. Short signals operate inversely: closing price below Lips, Lips below Teeth, Teeth below Jaw, and RSI below 45.

The stop-loss mechanism incorporates triple protection: RSI falling below 50, price crossing below Teeth, or Lips dropping below Teeth. The take-profit is set at a fixed amount (25 rupees), providing clear risk-reward ratio control.

Strategy Advantages

Firstly, the multi-indicator fusion provides enhanced signal accuracy. The Williams Alligator excels at identifying trend beginnings and endings, while RSI effectively measures price momentum; their combination significantly reduces false signal probability. Secondly, the strategy employs progressive condition verification, generating trading signals only when all conditions are simultaneously satisfied, substantially improving trade success rates.

The strategy demonstrates good adaptability, allowing parameter adjustments to suit different market environments and trading instruments. The 15-minute timeframe captures medium-term price fluctuations while avoiding excessive trading frequency. The fixed take-profit mechanism simplifies trading decisions and helps maintain trading discipline.

The strategy also features a comprehensive risk management system where triple stop-loss conditions ensure timely exits during adverse situations, effectively controlling maximum loss per trade. Visual trading signal identification makes strategy execution more intuitive and convenient.

Strategy Risks

The primary risks include trend reversal risk. During strong market reversals, multiple indicators may fail simultaneously, leading to significant losses. Particularly in oscillating markets, the Alligator indicator may generate frequent false signals, while RSI can produce misleading readings during sideways consolidation phases.

While the fixed take-profit mechanism simplifies operations, it may limit profit potential during strong trending moves. During sustained directional markets, premature profit-taking might miss larger profit opportunities. Lag is another concern, as the Williams Alligator’s moving average foundation creates natural delay characteristics, potentially causing suboptimal entry timing.

Parameter sensitivity presents additional risk. RSI threshold values (55 and 45) and Alligator period parameters require adjustment for different market environments; fixed parameters may not suit all market conditions. Furthermore, the strategy is sensitive to trading costs, where frequent entries and exits might erode returns through commissions and slippage.

Optimization Directions

Dynamic parameter adjustment represents a crucial optimization direction. Implementing adaptive mechanisms to automatically adjust RSI thresholds and Alligator parameters based on market volatility could improve performance. For instance, raising RSI thresholds in high-volatility environments while lowering them in low-volatility conditions would better adapt to varying market conditions.

The take-profit mechanism could evolve from fixed amounts to dynamic targets, such as using ATR (Average True Range) multiples as profit objectives, better accommodating market volatility characteristics. Implementing trailing take-profits could also be considered, activating trailing stops after reaching certain profit levels to capture larger trend-based gains.

Adding market environment filters represents another optimization avenue. Introducing market strength indicators or volatility measures to assess current market suitability for the strategy could pause trading during unfavorable conditions. Time filters are equally important, avoiding trades during low-liquidity periods.

Signal confirmation mechanisms warrant further strengthening. Volume confirmation could be added, validating signals only during volume expansion. Multi-timeframe analysis could also be considered, confirming trend direction on higher timeframes before seeking specific entry points on lower timeframes.

Summary

The Williams Alligator RSI Momentum Breakout Strategy is a relatively well-designed quantitative trading system that, through multi-indicator integration and strict condition filtering, demonstrates good performance potential in trending markets. The strategy’s main advantages lie in its systematic risk management and clear signal generation mechanisms, providing traders with a relatively stable trading framework.

However, the strategy has limitations, particularly potential underperformance in oscillating markets, where fixed parameter settings may not adapt to all market environments. Through dynamic parameter adjustment, improved take-profit mechanisms, and additional market environment filtering, the strategy’s adaptability and profitability can be further enhanced.

For traders implementing this strategy, thorough backtesting and live trading verification across different market environments is recommended, with appropriate parameter adjustments based on actual performance. Maintaining proper money management and trading discipline remains crucial for successful strategy implementation.[/trans]“`

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-18 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_OKX","currency":"DOGE_USDT","balance":5000}]
*/

//@version=5
strategy("Crude Oil Alligator RSI Strategy", overlay=true)

// =====================================
// INPUTS
// =====================================
// Williams Alligator Settings (default)
jaw_length = input.int(13, title="Jaw Length", minval=1)
jaw_offset = input.int(8, title="Jaw Offset", minval=0)
teeth_length = input.int(8, title="Teeth Length", minval=1)
teeth_offset = input.int(5, title="Teeth Offset", minval=0)
lips_length = input.int(5, title="Lips Length", minval=1)
lips_offset = input.int(3, title="Lips Offset", minval=0)

// RSI Settings (default)
rsi_length = input.int(14, title="RSI Length", minval=1)

// Crude Oil tick size (typically 0.01)
tick_size = input.float(0.01, title="Tick Size", minval=0.001, step=0.001)

// Take Profit in Rupees
take_profit_rupees = input.float(25.0, title="Take Profit (Rupees)", minval=0.1, step=0.1)

// =====================================
// INDICATORS
// =====================================
// Williams Alligator
jaw = ta.sma(hl2, jaw_length)[jaw_offset]
teeth = ta.sma(hl2, teeth_length)[teeth_offset]
lips = ta.sma(hl2, lips_length)[lips_offset]

// RSI
rsi = ta.rsi(close, rsi_length)

// =====================================
// PLOT INDICATORS
// =====================================
plot(jaw, "Alligator Jaw", color=color.blue, linewidth=2)
plot(teeth, "Alligator Teeth", color=color.red, linewidth=2)
plot(lips, "Alligator Lips", color=color.green, linewidth=2)

// RSI (plotted in separate pane)
hline(50, "RSI Mid Line", color=color.gray, linestyle=hline.style_dashed)
hline(55, "RSI Buy Level", color=color.green, linestyle=hline.style_dotted)
hline(45, "RSI Sell Level", color=color.red, linestyle=hline.style_dotted)
plot(rsi, "RSI", color=color.purple)

// =====================================
// STRATEGY CONDITIONS
// =====================================

// Buy Conditions
buy_condition_1 = close > lips
buy_condition_2 = lips > teeth
buy_condition_3 = teeth > jaw
buy_condition_4 = rsi > 55

buy_signal = buy_condition_1 and buy_condition_2 and buy_condition_3 and buy_condition_4

// Sell Conditions
sell_condition_1 = close < lips
sell_condition_2 = lips < teeth
sell_condition_3 = teeth < jaw
sell_condition_4 = rsi < 45

sell_signal = sell_condition_1 and sell_condition_2 and sell_condition_3 and sell_condition_4

// Stop Loss Conditions for Long Position
long_stop_condition_1 = rsi < 50
long_stop_condition_2 = ta.crossunder(close, teeth)
long_stop_condition_3 = lips < teeth

long_stop_loss = long_stop_condition_1 or long_stop_condition_2 or long_stop_condition_3

// Stop Loss Conditions for Short Position
short_stop_condition_1 = rsi > 50
short_stop_condition_2 = ta.crossover(close, teeth)
short_stop_condition_3 = lips > teeth

short_stop_loss = short_stop_condition_1 or short_stop_condition_2 or short_stop_condition_3

// =====================================
// STRATEGY EXECUTION
// =====================================

// Variables to track entry prices
var float long_entry_price = na
var float short_entry_price = na

// Long Entry
if buy_signal and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    long_entry_price := close
    alert("Buy Signal Generated - Crude Oil", alert.freq_once_per_bar)

// Short Entry
if sell_signal and strategy.position_size == 0
    strategy.entry("Short", strategy.short)
    short_entry_price := close
    alert("Sell Signal Generated - Crude Oil", alert.freq_once_per_bar)

// Long Exit Conditions
if strategy.position_size > 0
    // Take Profit: 25 Rupees above entry
    long_take_profit = long_entry_price + take_profit_rupees
    
    if close >= long_take_profit
        strategy.close("Long", comment="Take Profit")
        alert("Take Profit - Long Position Closed - Crude Oil", alert.freq_once_per_bar)
        long_entry_price := na
    
    // Stop Loss
    if long_stop_loss
        strategy.close("Long", comment="Stop Loss")
        alert("Stop Loss - Long Position Closed - Crude Oil", alert.freq_once_per_bar)
        long_entry_price := na

// Short Exit Conditions
if strategy.position_size < 0
    // Take Profit: 25 Rupees below entry
    short_take_profit = short_entry_price - take_profit_rupees
    
    if close <= short_take_profit
        strategy.close("Short", comment="Take Profit")
        alert("Take Profit - Short Position Closed - Crude Oil", alert.freq_once_per_bar)
        short_entry_price := na
    
    // Stop Loss
    if short_stop_loss
        strategy.close("Short", comment="Stop Loss")
        alert("Stop Loss - Short Position Closed - Crude Oil", alert.freq_once_per_bar)
        short_entry_price := na

// =====================================
// CHART LABELS AND ALERTS
// =====================================

// Buy Signal Label
if buy_signal and strategy.position_size == 0
    label.new(bar_index, low - (high - low) * 0.1, "BUY\nSIGNAL", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

// Sell Signal Label
if sell_signal and strategy.position_size == 0
    label.new(bar_index, high + (high - low) * 0.1, "SELL\nSIGNAL", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)

// Stop Loss Labels
if strategy.position_size > 0 and long_stop_loss
    label.new(bar_index, high + (high - low) * 0.1, "STOP\nLOSS", color=color.orange, style=label.style_label_down, textcolor=color.white, size=size.small)

if strategy.position_size < 0 and short_stop_loss
    label.new(bar_index, low - (high - low) * 0.1, "STOP\nLOSS", color=color.orange, style=label.style_label_up, textcolor=color.white, size=size.small)

// Take Profit Labels
if strategy.position_size > 0 and not na(long_entry_price) and close >= (long_entry_price + take_profit_rupees)
    label.new(bar_index, high + (high - low) * 0.1, "TAKE\nPROFIT", color=color.blue, style=label.style_label_down, textcolor=color.white, size=size.small)

if strategy.position_size < 0 and not na(short_entry_price) and close <= (short_entry_price - take_profit_rupees)
    label.new(bar_index, low - (high - low) * 0.1, "TAKE\nPROFIT", color=color.blue, style=label.style_label_up, textcolor=color.white, size=size.small)

// =====================================
// TAKE PROFIT LEVEL LINES
// =====================================
// Plot take profit levels when in position
var line long_tp_line = na
var line short_tp_line = na

if strategy.position_size > 0 and not na(long_entry_price)
    if not na(long_tp_line)
        line.delete(long_tp_line)
    long_tp_line := line.new(bar_index - 10, long_entry_price + take_profit_rupees, bar_index + 10, long_entry_price + take_profit_rupees, color=color.blue, style=line.style_dashed, width=2)

if strategy.position_size < 0 and not na(short_entry_price)
    if not na(short_tp_line)
        line.delete(short_tp_line)
    short_tp_line := line.new(bar_index - 10, short_entry_price - take_profit_rupees, bar_index + 10, short_entry_price - take_profit_rupees, color=color.blue, style=line.style_dashed, width=2)

// Clean up lines when position is closed
if strategy.position_size == 0
    if not na(long_tp_line)
        line.delete(long_tp_line)
        long_tp_line := na
    if not na(short_tp_line)
        line.delete(short_tp_line)
        short_tp_line := na

// =====================================
// TABLE FOR CURRENT CONDITIONS
// =====================================
var table info_table = table.new(position.top_right, 2, 10, bgcolor=color.white, border_width=1)

if barstate.islast
    table.cell(info_table, 0, 0, "Condition", bgcolor=color.gray, text_color=color.white)
    table.cell(info_table, 1, 0, "Status", bgcolor=color.gray, text_color=color.white)
    
    table.cell(info_table, 0, 1, "Close > Lips", bgcolor=color.white)
    table.cell(info_table, 1, 1, buy_condition_1 ? "✓" : "✗", text_color=buy_condition_1 ? color.green : color.red)
    
    table.cell(info_table, 0, 2, "Lips > Teeth", bgcolor=color.white)
    table.cell(info_table, 1, 2, buy_condition_2 ? "✓" : "✗", text_color=buy_condition_2 ? color.green : color.red)
    
    table.cell(info_table, 0, 3, "Teeth > Jaw", bgcolor=color.white)
    table.cell(info_table, 1, 3, buy_condition_3 ? "✓" : "✗", text_color=buy_condition_3 ? color.green : color.red)
    
    table.cell(info_table, 0, 4, "RSI > 55", bgcolor=color.white)
    table.cell(info_table, 1, 4, buy_condition_4 ? "✓" : "✗", text_color=buy_condition_4 ? color.green : color.red)
    
    table.cell(info_table, 0, 5, "RSI < 45", bgcolor=color.white)
    table.cell(info_table, 1, 5, sell_condition_4 ? "✓" : "✗", text_color=sell_condition_4 ? color.red : color.green)
    
    table.cell(info_table, 0, 6, "Current RSI", bgcolor=color.white)
    table.cell(info_table, 1, 6, str.tostring(math.round(rsi, 2)), text_color=color.black)
    
    table.cell(info_table, 0, 7, "Position", bgcolor=color.white)
    position_text = strategy.position_size > 0 ? "LONG" : strategy.position_size < 0 ? "SHORT" : "NONE"
    position_color = strategy.position_size > 0 ? color.green : strategy.position_size < 0 ? color.red : color.gray
    table.cell(info_table, 1, 7, position_text, text_color=position_color)
    
    table.cell(info_table, 0, 8, "Entry Price", bgcolor=color.white)
    entry_text = strategy.position_size > 0 and not na(long_entry_price) ? str.tostring(long_entry_price, "#.##") : strategy.position_size < 0 and not na(short_entry_price) ? str.tostring(short_entry_price, "#.##") : "N/A"
    table.cell(info_table, 1, 8, entry_text, text_color=color.black)
    
    table.cell(info_table, 0, 9, "Take Profit", bgcolor=color.white)
    tp_text = strategy.position_size > 0 and not na(long_entry_price) ? str.tostring(long_entry_price + take_profit_rupees, "#.##") : strategy.position_size < 0 and not na(short_entry_price) ? str.tostring(short_entry_price - take_profit_rupees, "#.##") : "N/A"
    table.cell(info_table, 1, 9, tp_text, text_color=color.blue)