اڈاپٹیو متعدد موونگ ایوریج مومینٹم بریک آؤٹ ٹریڈنگ حکمت عملی

SMMA ZLEMA EMA MA SMA
تخلیق کی تاریخ: 2025-01-10 15:27:53 آخر میں ترمیم کریں: 2025-01-10 15:27:53
کاپی: 0 کلکس کی تعداد: 433
1
پر توجہ دیں
1617
پیروکار

اڈاپٹیو متعدد موونگ ایوریج مومینٹم بریک آؤٹ ٹریڈنگ حکمت عملی

جائزہ

یہ ایک تجارتی حکمت عملی ہے جس کی بنیاد متعدد موونگ ایوریجز اور مومینٹم بریک آؤٹ پر ہے۔ یہ حکمت عملی متعدد تکنیکی اشاریوں کو یکجا کرتی ہے جیسے کہ SMMA (Smoothed Moving Average) اور ZLEMA (zero lag exponential moving average) تاکہ قیمتوں اور متحرک اوسط کے درمیان کراس اوور سگنلز کو حاصل کرکے تجارتی مواقع کی نشاندہی کی جا سکے۔ حکمت عملی ایک انکولی میکانزم کو اپناتی ہے جو مارکیٹ کے اتار چڑھاو کے مطابق سگنل کی حساسیت کو ایڈجسٹ کر سکتا ہے اور لین دین کی درستگی کو بہتر بنا سکتا ہے۔

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

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

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

  1. ایک سے زیادہ سگنل کی تصدیق کا طریقہ کار لین دین کی درستگی کو بہتر بناتا ہے۔
  2. موافقت پذیر خصوصیات حکمت عملیوں کو مارکیٹ کے مختلف حالات کے مطابق ڈھالنے کے قابل بناتی ہیں۔
  3. غلط سگنلز کے اثرات کو کم کرنے کے لیے SMMA اور ZLEMA کا استعمال
  4. پرتوں والا سگنل سسٹم تجارت کے مزید مواقع فراہم کرتا ہے۔
  5. بند ہونے کے صاف حالات خطرات کو کنٹرول کرنے میں مدد کرتے ہیں۔

اسٹریٹجک رسک

  1. اوسط کراس اوور کو منتقل کرنا وقفے کا سبب بن سکتا ہے، جو داخلے کے وقت کو متاثر کرتا ہے۔
  2. متعدد حالات کچھ اہم تجارتی مواقع سے محروم ہو سکتے ہیں۔
  3. غیر مستحکم مارکیٹ میں بہت زیادہ غلط سگنل پیدا کر سکتا ہے۔
  4. پیرامیٹر کی غلط ترتیبات حکمت عملی کی کارکردگی کو متاثر کر سکتی ہیں۔
  5. حکمت عملی کے منافع پر لین دین کے اخراجات کے اثرات پر غور کرنے کی ضرورت ہے۔

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

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

خلاصہ کریں۔

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

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

//@version=6

//study("Limit order strategy", overlay=true)
strategy('Limit order strategy', overlay = true)

lengthMA = input(1)
lengthmi = input(14)
lengthhigh = input(14)
lengthlow = input(14)

calc_smma(src, len) =>
    smma = 0.0
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

calc_zlema(src, length) =>
    ema1 = ta.ema(src, length)
    ema2 = ta.ema(ema1, length)
    d = ema1 - ema2
    ema1 + d


src = calc_smma(hlc3, lengthMA)
hi = calc_smma(high, lengthhigh)
lo = calc_smma(low, lengthlow)
mi = calc_zlema(src, lengthmi)

plot(src, color = color.new(#FF1493, 0), linewidth = 2, title = 'src')
plot(hi, color = color.new(#7CFC00, 0), linewidth = 2, title = 'hi')
plot(lo, color = color.new(#FF0000, 0), linewidth = 2, title = 'lo')
plot(mi, color = color.new(#00FFFF, 0), linewidth = 2, title = 'mi')


//strategy.order("buy", true, 1, stop = na, when = openbuy) // buy by market if current open great then previous high
//strategy.order("sell", false, 1, stop = na, when = opensell) // sell by market if current open less then previous low
//if src >= mi and src[1] <= mi[1] and src[1] <= lo[1]
//	strategy.entry("buy 1", strategy.long, qty = 15)
sigorderbuy1 = src > mi and src[1] < mi[1] and src < lo and mi < lo
sigorderbuy2 = src > lo and src[1] < lo[1] and mi < lo
sigorderbuy3 = src > hi and src[1] < hi[1] and mi < hi
sigorderbuy4 = src > mi and src[1] < mi[1] and src > hi and mi > hi
//sigorderbuy5 = mi > hi and  src > hi  and src > mi and src[1] < mi[1] 
//sigorderbuy6 = mi < hi and src > hi and src[1] < hi[1]
sigclosebuy = src < mi and src[1] > mi[1] or mi < lo and src < lo and src[1] > lo[1]

sigordersell1 = src < mi and src[1] > mi[1] and src > hi and mi > hi
sigordersell2 = src < hi and src[1] > hi[1] and mi > hi
sigordersell3 = src < lo and src[1] > lo[1] and mi > lo
sigordersell4 = src < mi and src[1] > mi[1] and src < lo and mi < lo
//sigordersell5 = mi < lo and  src < lo  and src < mi and src[1] > mi[1] 
//sigordersell6 = mi > lo and src < lo and src[1] > lo[1]
sigclosesell = src > mi and src[1] < mi[1] or mi > hi and src > hi and src[1] < hi[1]

plot(sigorderbuy1 ? 1 : 0, 'sigorderbuy1')
plot(sigorderbuy2 ? 1 : 0, 'sigorderbuy2')
plot(sigorderbuy3 ? 1 : 0, 'sigorderbuy3')
plot(sigorderbuy4 ? 1 : 0, 'sigorderbuy4')
//plot(sigorderbuy5 ? 1 : 0,"sigorderbuy5") 
//plot(sigorderbuy6 ? 1 : 0,"sigorderbuy6") 

plot(sigordersell1 ? 1 : 0, 'sigordersell1')
plot(sigordersell2 ? 1 : 0, 'sigordersell2')
plot(sigordersell3 ? 1 : 0, 'sigordersell3')
plot(sigordersell4 ? 1 : 0, 'sigordersell4')
//plot(sigordersell5 ? 1 : 0,"sigordersell5") 
//plot(sigordersell6 ? 1 : 0,"sigordersell6")

plot(sigclosebuy ? 1 : 0, 'sigclosebuy')
plot(sigclosesell ? 1 : 0, 'sigclosesell')


openbuy = sigorderbuy1 or sigorderbuy2 or sigorderbuy3 or sigorderbuy4 // or sigorderbuy5 or sigorderbuy6
opensell = sigordersell1 or sigordersell2 or sigordersell3 or sigordersell4 //or sigordersell5 or sigordersell6
openclosebuy = sigclosebuy
openclosesell = sigclosesell

alertcondition(condition = openbuy, title = 'sigorderbuy all', message = '{"accountmt":"70415621,666734890","time":"15","msg":"Buy {{ticker}} sig_b1={{plot("sigorderbuy1")}} sig_b2={{plot("sigorderbuy2")}} sig_b3={{plot("sigorderbuy3")}} sig_b4={{plot("sigorderbuy4")}}"}')
alertcondition(condition = opensell, title = 'sigordersell all', message = '{"accountmt":"70415621,666734890","time":"15","msg":"Sell {{ticker}} sig_s1={{plot("sigordersell1")}} sig_ss={{plot("sigordersell2")}} sig_s3={{plot("sigordersell3")}} sig_s4={{plot("sigordersell4")}} sig_s5={{plot("sigordersell5")}} sig_61={{plot("sigordersell6")}}"}')

alertcondition(condition = sigclosebuy, title = 'Close buy', message = '{"accountmt":"70415621,666734890","time":"15","msg":"Close {{ticker}} T=short"}')
alertcondition(condition = sigclosesell, title = 'Close sell', message = '{"accountmt":"70415621,666734890","time":"15","msg":"Close {{ticker}} T=long"}')

if sigorderbuy1
    strategy.order('Buy 1', strategy.long, 1)
if sigorderbuy2
    strategy.order('Buy 2', strategy.long, 1)
if sigorderbuy3
    strategy.order('Buy 3', strategy.long, 1)
if sigorderbuy4
    strategy.order('Buy 4', strategy.long, 1)


if sigordersell1
    strategy.order('sell 1', strategy.short, 1)
if sigordersell2
    strategy.order('sell 2', strategy.short, 1)
if sigordersell3
    strategy.order('sell 3', strategy.short, 1)
if sigordersell4
    strategy.order('sell 4', strategy.short, 1)
//strategy.order("sell 5", false, 1, when = sigordersell5)
//strategy.order("sell 6", false, 1, when = sigordersell6)