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

انکولی ملٹی ایم اے مومنٹم بریچ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2025-01-10 15:27:53
ٹیگز:ایس ایم ایم اےZLEMAای ایم اےایم اےایس ایم اے

 Adaptive Multi-MA Momentum Breakthrough Trading Strategy

جائزہ

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

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

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

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

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

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

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

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

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

خلاصہ

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


/*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)


متعلقہ

مزید