ایکسپونینشل موونگ ایوریج کینڈل سٹک اسٹاپ ٹریڈنگ کی حکمت عملی

EMA RSI SUPPORT RESISTANCE BREAKOUT
تخلیق کی تاریخ: 2025-02-25 11:11:35 آخر میں ترمیم کریں: 2025-02-25 11:11:35
کاپی: 8 کلکس کی تعداد: 348
2
پر توجہ دیں
319
پیروکار

ایکسپونینشل موونگ ایوریج کینڈل سٹک اسٹاپ ٹریڈنگ کی حکمت عملی ایکسپونینشل موونگ ایوریج کینڈل سٹک اسٹاپ ٹریڈنگ کی حکمت عملی

جائزہ

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

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

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

  1. رجحان کا فیصلہ: ای ایم اے 20 اور ای ایم اے 90 کے مابین موازنہ کرکے مارکیٹ کے رجحان کا فیصلہ کریں۔ جب ای ایم اے 20 ای ایم اے 90 کے اوپر ہوتا ہے تو اسے اوپر کی طرف رجحان سمجھا جاتا ہے۔ جب ای ایم اے 20 ای ایم اے 90 کے نیچے ہوتا ہے تو اسے نیچے کی طرف رجحان سمجھا جاتا ہے۔

  2. ٹاور گرنے سے سگنل بند ہو گئے:

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

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

  5. اسٹاپ نقصان کی ترتیب: ایک سے زیادہ پوزیشنوں کے لئے ، اسٹاپ نقصان داخلہ قیمت سے 2.5٪ نیچے ہے۔ خالی پوزیشنوں کے لئے ، اسٹاپ نقصان داخلہ قیمت سے 2.5٪ اوپر ہے۔

  6. اسٹاپ شرط: منافع کی فیصد اور رسک ریٹرن پر مبنی مجموعی شرط۔ کثیر سر کے لئے کم از کم 7٪ منافع اور 3 سے کم رسک ریٹرن کی ضرورت ہوتی ہے۔ خالی سر کے لئے کم از کم 6٪ منافع اور 3 سے کم رسک ریٹرن کی ضرورت ہوتی ہے۔

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

  1. واضح انٹری اور آؤٹ سگنل: مخصوص گرنے والی شکلوں اور متحرک اوسط رجحانات کے ذریعہ واضح تجارتی سگنل فراہم کریں ، جس سے جذباتی اثرات کو کم کیا جاسکے۔

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

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

  4. سخت خطرے کا انتظام: خطرے کے پیرامیٹرز کی پیش گوئی کریں ((ہر تجارت میں 2.5٪ خطرہ) اور خطرے کی واپسی کے تناسب پر مبنی اسٹاپ شرائط ، تاکہ فنڈ مینجمنٹ کی معقولیت کو یقینی بنایا جاسکے۔

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

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

اسٹریٹجک رسک

  1. اشارے کی تاخیر: ای ایم اے ، ایک تاخیر سے چلنے والا اشارے ، تیزی سے بدلتے ہوئے بازاروں میں تاخیر کا اشارہ دے سکتا ہے ، جس سے داخلے کا وقت خراب ہوتا ہے۔

  2. جھوٹے توڑنے کا خطرہ: مارکیٹ میں جھوٹے توڑنے کا رجحان ہوسکتا ہے ، جس سے غلط سگنل پیدا ہوتا ہے۔ اس کا حل حجم کی تصدیق یا توڑنے کی تصدیق کی مدت میں اضافہ کرنا ہے۔

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

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

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

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

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

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

  2. ایک سے زیادہ ٹائم فریم کی تصدیق: اعلی ٹائم فریم کو دوبارہ متعارف کرانے کے رجحان کی تصدیق (جیسے 1 گھنٹے کا چارٹ) ، ٹریڈنگ سگنل کی وشوسنییتا کو بہتر بنانا ، اور جعلی سگنل کے اثرات کو کم کرنا۔

  3. انٹری ٹائمنگ کو بہتر بنانا: اضافی فلٹرنگ شرائط کو شامل کرکے انٹری ٹائمنگ کو بہتر بنانا (جیسے رجحان کی طاقت کے اشارے ، ٹرانزیکشن کی تصدیق) ، تجارت کی کامیابی کی شرح کو بہتر بنانا۔

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

  5. واپسی کے دور میں توسیع: حکمت عملی کی استحکام اور موافقت کی توثیق کرنے کے لئے مختلف مارکیٹ کے دوروں اور حالات کے تحت زیادہ جامع واپسی۔

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

  7. ٹریڈنگ فریکوئینسی کنٹرول: غیر منفعتی مارکیٹ کے حالات میں ضرورت سے زیادہ تجارت سے بچنے کے لئے ٹریڈنگ کی تعداد کی حد یا ٹھنڈا مدت کا نظام متعارف کرایا گیا۔

خلاصہ کریں۔

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-02-26 00:00:00
end: 2025-02-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=6
strategy("Advanced Candle Stop Strategy Backtest - Tuned v9 - Max Trades", overlay=true)

// --- EMA Variables ---
ema5_length = 5
ema20_length = 20
ema90_length = 90

ema5 = ta.ema(close, ema5_length)
ema20 = ta.ema(close, ema20_length)
ema90 = ta.ema(close, ema90_length)

// --- Support, Resistance, and Volume Calculation ---
lookback_support_resistance = 30
support_level = ta.lowest(low, lookback_support_resistance)
resistance_level = ta.highest(high, lookback_support_resistance)

// --- Volume Condition for Short (Removed) ---
avg_volume_lookback = 20
avg_volume = ta.sma(volume, avg_volume_lookback)

// --- RSI Condition for Short (Removed) ---
rsi_length = 14
rsi_overbought = 70
rsi = ta.rsi(close, rsi_length)


// --- Candle Stop Function ---
is_candle_stop(trend) =>
    body = math.abs(close - open)
    upper_shadow = high - math.max(open, close)
    lower_shadow = math.min(open, close) - low

    if trend == "up"
        lower_shadow >= 0.8 * body and upper_shadow < body and close > open // Shadow ratio reduced to 0.8 for longs
    else if trend == "down"
        upper_shadow >= 0.8 * body and lower_shadow < body and close < open // Shadow ratio reduced to 0.8 for shorts - EMA5 and Volume conditions removed
    else
        false

// --- Trend Determination (only 15m, no 1H confirmation) ---
trend = ema20 > ema90 ? "up" : ema20 < ema90 ? "down" : "neutral"
final_trend = trend  // حذف تأیید با تایم‌فریم 1H

// --- Breakout Detection ---
var bool breakout_detected = false
if final_trend == "up" and close > resistance_level
    breakout_detected := true
    alert("شکست صعودی تشخیص داده شد! منتظر پولبک 🚀", alert.freq_once_per_bar)
else if final_trend == "down" and close < support_level
    breakout_detected := true
    alert("شکست نزولی تشخیص داده شد! منتظر پولبک 📉", alert.freq_once_per_bar)

// --- Entry and Exit Conditions ---
var float position = 0.0
var float entry_price = 0.0
var float stop_loss_price = na
var bool take_profit_long = false  // Declare take_profit_long
var bool stop_loss_hit_long = false // Declare stop_loss_hit_long
var bool take_profit_short = false // Declare take_profit_short
var bool stop_loss_hit_short = false // Declare stop_loss_hit_short
risk_per_trade_percent = 2.5  // افزایش ریسک به 2.5٪ برای موقعیت‌های بیشتر


if not breakout_detected
    if position == 0 and is_candle_stop(final_trend)
        risk_amount_usd = strategy.initial_capital * (risk_per_trade_percent / 100)
        if final_trend == "up"
            stop_loss_price := close * 0.975 // Stop loss at 2.5% below entry for longs
            if (close - stop_loss_price) != 0
                position_size_usd = risk_amount_usd / (close - stop_loss_price)
                amount = position_size_usd / close
                strategy.entry("Long", strategy.long, qty=amount)
                position := amount
                entry_price := close
        else if final_trend == "down"
            stop_loss_price := close * 1.025 // Stop loss at 2.5% above entry for shorts
            if (stop_loss_price - close) != 0
                position_size_usd = risk_amount_usd / (stop_loss_price - close)
                amount = position_size_usd / close
                if rsi >= rsi_overbought // RSI condition for short entry - No Change, still using RSI but not enforcing it for now - Consider removing RSI condition as well for max trades
                    strategy.entry("Short", strategy.short, qty=amount)
                    position := amount
                    entry_price := close

if position > 0
    profit_percent_long = (close - entry_price) / entry_price * 100
    profit_percent_short = (entry_price - close) / entry_price * 100
    loss_percent_long = (entry_price - close) / entry_price * 100
    loss_percent_short = (close - entry_price) / entry_price * 100

    risk_reward_long = loss_percent_long != 0 ? profit_percent_long / loss_percent_long : (profit_percent_long != 0 ? 99999 : 0)
    risk_reward_short = loss_percent_short != 0 ? profit_percent_short / loss_percent_short : (profit_percent_short != 0 ? 99999 : 0)


    take_profit_long := profit_percent_long >= 7 and risk_reward_long >= 3
    stop_loss_hit_long := close <= stop_loss_price
    take_profit_short := profit_percent_short >= 6 and risk_reward_short >= 3 // Reduced Take Profit for Shorts to 6% - No Change
    stop_loss_hit_short := close >= stop_loss_price

    if (final_trend == "up" and (take_profit_long or stop_loss_hit_long)) or (final_trend == "down" and (take_profit_short or stop_loss_hit_short))
        if final_trend == "up"
            strategy.close("Long")
        else
            strategy.close("Short")
        position := 0
        entry_price := 0.0
        breakout_detected := false

// --- Plotting EMAs and Support/Resistance Levels ---
plot(ema5, color=color.blue, title="EMA5")
plot(ema20, color=color.red, title="EMA20")
plot(ema90, color=color.green, title="EMA90")
plot(resistance_level, color=color.orange, style=plot.style_line, title="Resistance")
plot(support_level, color=color.orange, style=plot.style_line, title="Support")