وسائل لوڈ ہو رہے ہیں... لوڈنگ...

MACD-ATR-EMA کثیر اشارے متحرک رجحان حکمت عملی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2024-09-26 14:43:19
ٹیگز:ایم اے سی ڈیاے ٹی آرای ایم اےایس ایم اے

img

جائزہ

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

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

  1. رجحان کی شناخت:

    • ممکنہ رجحان الٹ سگنل کی نشاندہی کرنے کے لئے MACD اشارے (12,26,9) کا استعمال کرتا ہے۔
    • مجموعی طور پر مارکیٹ کے رجحان کی سمت کی تصدیق کے لئے 50 مدت اور 200 مدت کے ای ایم اے کا استعمال کرتا ہے۔
  2. داخلے کی شرائط:

    • لانگ انٹری: ایم اے سی ڈی لائن سگنل لائن کے اوپر عبور کرتی ہے ، بند ہونے کی قیمت 50 اور 200 ای ایم اے دونوں سے اوپر ہے ، اور ایم اے سی ڈی اور سگنل لائن دونوں منفی ہیں۔
    • شارٹ انٹری: ایم اے سی ڈی لائن سگنل لائن سے نیچے کراس کرتی ہے ، بند ہونے کی قیمت 50 اور 200 ای ایم اے دونوں سے نیچے ہے ، اور ایم اے سی ڈی اور سگنل لائن دونوں مثبت ہیں۔
  3. خطرے کا انتظام:

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

    • لانگ ایگزٹ: جب قیمت 50 پیریڈ ای ایم اے سے نیچے آجاتی ہے۔
    • شارٹ ایگزٹ: جب قیمت 50 پیریڈ ای ایم اے سے اوپر بڑھتی ہے۔
  5. تجارت کا نفاذ:

    • تمام ٹریڈنگ سگنل صرف موم بتیاں بند ہونے پر تصدیق کر رہے ہیں.
    • ایک ہی پوزیشن مینجمنٹ کو لاگو کرتا ہے، ایک وقت میں صرف ایک فعال تجارت کو یقینی بناتا ہے.

حکمت عملی کے فوائد

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

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

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

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

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

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

حکمت عملی کے خطرات

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

  2. اوور ٹریڈنگ کا خطرہ: اے ٹی آر فلٹرنگ کے باوجود ، اکثر ٹریڈنگ سگنل اب بھی دوڑتے ہوئے بازاروں میں نمودار ہوسکتے ہیں ، جس سے لین دین کی لاگت میں اضافہ ہوتا ہے۔

  3. غلط بریک آؤٹ کا خطرہ: ایم اے سی ڈی کراس اوورز خاص طور پر ضمنی استحکام کے مراحل کے دوران غلط سگنل پیدا کرسکتے ہیں ، جس سے ممکنہ طور پر غیر ضروری تجارت ہوسکتی ہے۔

  4. رجحان انحصار: حکمت عملی مضبوط رجحان مارکیٹوں میں اچھی کارکردگی کا مظاہرہ کرتی ہے لیکن رینج سے منسلک مارکیٹوں میں کم کارکردگی کا مظاہرہ کر سکتی ہے۔

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

  6. واحد پوزیشن کی حد: حکمت عملی صرف ایک پوزیشن رکھنے کی حد تک محدود ہے، ممکنہ طور پر دیگر منافع بخش مواقع سے محروم ہے.

حکمت عملی کی اصلاح کی ہدایات

  1. رجحان کی طاقت فلٹرنگ شامل کریں:

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

    • مختلف MACD پیرامیٹر مجموعوں کے ساتھ تجربہ کریں یا موافقت پذیر MACD کا استعمال کرنے پر غور کریں۔
    • وجہ: معیاری ایم اے سی ڈی پیرامیٹرز تمام مارکیٹ کے حالات کے لئے موزوں نہیں ہوسکتے ہیں۔ موافقت پذیر پیرامیٹرز حکمت عملی کی لچک کو بڑھا سکتے ہیں۔
  3. جزوی منافع لینے کا نفاذ:

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

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

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

    • سادہ آل ان آل آؤٹ ٹریڈز کے بجائے ایک تدریجی اسکیل ان / آؤٹ حکمت عملی کو نافذ کرنے پر غور کریں۔
    • وجہ: یہ انفرادی تجارتوں کے لئے خطرے کو کم کرتے ہوئے اہم رجحانات پر بہتر فائدہ اٹھا سکتا ہے.

نتیجہ

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

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

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


/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("[ROOT] MACD, ATR, & EMA Strategy", overlay = true)

// Input parameters
macd_fast_length = input.int(12, title="MACD Fast Length")
macd_slow_length = input.int(26, title="MACD Slow Length")
macd_length = input.int(9, title="MACD Signal Length")
atr_length = input.int(14, title="ATR Length")
slow_ema_length = input.int(200, title="Slow EMA Length")
fast_ema_length = input.int(50, title="Fast EMA Length")
risk_per_trade = input.float(100, title="Risk % of Total Balance per Trade", minval=0.1, maxval=100, step=0.1)
swing_lookback = input.int(10, title="Swing High/Low Lookback Period", minval=1, maxval=50, step=1)
stop_loss_type = input.string("Swing Low/High", title="Stop Loss Type", options=["Swing Low/High", "ATR-Based"])
stop_loss_buffer = input.float(0.5, title="ATR Multiplier for Stop Loss", minval=0.1, step=0.1)
min_atr_threshold = input.float(0.1, title="Minimum ATR Threshold", minval=0.01, step=0.01)

// Calculate MACD
MACD = ta.ema(close, macd_fast_length) - ta.ema(close, macd_slow_length)
signal = ta.ema(MACD, macd_length)
macd_histogram = MACD - signal

// Calculate EMAs
slow_ema = ta.ema(close, slow_ema_length)
fast_ema = ta.ema(close, fast_ema_length)

// Plot EMAs
plot(slow_ema, color=color.white, linewidth=3, title="200 EMA")
plot(fast_ema, color=color.gray, linewidth=2, title="50 EMA")

// Calculate ATR for dynamic stop-loss
atr_value = ta.atr(atr_length)

// Determine recent swing high and swing low
recent_swing_high = ta.highest(high, swing_lookback)
recent_swing_low = ta.lowest(low, swing_lookback)

// Determine dynamic stop-loss levels based on user input
var float long_stop_loss = na
var float short_stop_loss = na

if (stop_loss_type == "Swing Low/High") 
    // Stop Loss based on recent swing low/high with a buffer
    long_stop_loss := recent_swing_low - (stop_loss_buffer * atr_value)
    short_stop_loss := recent_swing_high + (stop_loss_buffer * atr_value)
else if (stop_loss_type == "ATR-Based")
    // Stop Loss based purely on ATR
    long_stop_loss := close - (stop_loss_buffer * atr_value)
    short_stop_loss := close + (stop_loss_buffer * atr_value)

// Calculate position size based on percentage of total balance
capital_to_use = strategy.equity * (risk_per_trade / 100)
position_size = capital_to_use / close

// ATR Filter: Only trade when ATR is above the minimum threshold
atr_filter = atr_value > min_atr_threshold

// Buy and Sell Conditions with ATR Filter
long_condition = atr_filter and ta.crossover(MACD, signal) and close > slow_ema and close > fast_ema and MACD < 0 and signal < 0
short_condition = atr_filter and ta.crossunder(MACD, signal) and close < slow_ema and close < fast_ema and MACD > 0 and signal > 0

// Check if no open trades exist
no_open_trades = (strategy.opentrades == 0)

// Execute Buy Orders (only on bar close and if no trades are open)
if (long_condition and barstate.isconfirmed and no_open_trades)
    strategy.entry("Long", strategy.long, qty=position_size, stop=long_stop_loss)
    label.new(bar_index, low, "Buy", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

// Execute Sell Orders (only on bar close and if no trades are open)
if (short_condition and barstate.isconfirmed and no_open_trades)
    strategy.entry("Short", strategy.short, qty=position_size, stop=short_stop_loss)
    label.new(bar_index, high, "Sell", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)

// Exit Conditions for Long and Short Positions (only on bar close)
long_exit_condition = close < fast_ema
short_exit_condition = close > fast_ema

if (long_exit_condition and barstate.isconfirmed)
    strategy.close("Long")

if (short_exit_condition and barstate.isconfirmed)
    strategy.close("Short")

// Alert Conditions (only on bar close)
alertcondition(long_condition and barstate.isconfirmed, title="Buy Alert", message="Buy Signal")
alertcondition(short_condition and barstate.isconfirmed, title="Sell Alert", message="Sell Signal")

// Exit Signal Alerts
alertcondition(long_exit_condition and barstate.isconfirmed, title="Long Exit Alert", message="Exit Long Signal")
alertcondition(short_exit_condition and barstate.isconfirmed, title="Short Exit Alert", message="Exit Short Signal")


متعلقہ

مزید