
ملا اڈاپٹیو موونگ ایوریج اسٹریٹجی (Mala Adaptive Moving Average Strategy) ایک مقداری تجارتی حکمت عملی ہے جو جان ایہلرز کے MESA اڈاپٹیو موونگ ایوریج اشارے پر مبنی ہے۔ یہ حکمت عملی ٹریڈنگ کے فیصلے کرنے کے لئے سنجیدہ لہروں کا استعمال کرتی ہے ، کم قیمت پر خریدیں ، اونچائی پر فروخت کریں ، اور سنجیدہ لہروں کو مختلف اقسام اور مارکیٹ کے ماحول میں سلائڈنگ ایڈجسٹمنٹ پیرامیٹرز کے ذریعہ خود کو اپنانے کے قابل بنائیں۔
خود کار طریقے سے چلنے والی اوسط کی حکمت عملی کا استعمال کرتے ہوئے ٹریڈنگ سگنل پیدا کرنے کے لئے ایک مثبت ویو جنریٹر کا استعمال کیا جاتا ہے۔ مثبت ویو ایک گھومنے والے ویکٹر کے ذریعہ طے کی جاتی ہے (جسے فیملی کہا جاتا ہے) جو شیڈول کے سیدھے محور پر ڈالتا ہے۔ جب ویکٹر 360 ڈگری گھومتا ہے تو ، ایک سائیکل مکمل ہوتا ہے۔ جب ویکٹر کسی زاویے سے گزرتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے ، اور جب وہ کسی اور زاویے سے گزرتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔ اس طرح ، تجارتی فیصلے تعدد کے دائرے میں زاویے سے طے ہوتے ہیں ، نہ کہ ٹائم ڈومین میں لہروں کی خصوصیات سے ، حکمت عملی کو زیادہ غیر معمولی بنا سکتے ہیں ، مختلف اقسام اور مارکیٹ کے ماحول کے مطابق۔
خاص طور پر ، اس حکمت عملی میں پہلے قیمتوں کو ہموار اور غیر رجحان سازی کا علاج کیا جاتا ہے ، اور پھر مثبت لہر کے دو حصوں کا حساب لگایا جاتا ہے: ہم آہنگی کا حصہ I اور مثبت ٹرانسمیشن کا حصہ Q. یہ دونوں حصوں کو مرحلے کی ہموار کی طرف سے اوورلیپ اور ہائپ کیا جاتا ہے ، جس سے حتمی Re اور Im. Re اور Im مثبت لہر کی تعدد کی معلومات کی عکاسی کرتے ہیں ، جس سےatan.Im / Re کے ذریعہ ایک دورانیہ کی مدت کا تعین کیا جاسکتا ہے۔ ایک ہموار دورانیہ کا تعین کرنا ، جس کی توقع کی جاتی ہے اس دورانیہ کے دائرہ کار کے مطابق۔ مرحلہ وار معلومات MAMA اور FAMA وکر کی نشاندہی کرتی ہے ، جس کے مابین تجارت کے اشارے پیدا ہوتے ہیں۔ پیرامیٹرز الفا سائیکل اور مرحلہ وار تبدیلی کی شرح ڈیلٹا فیز کے ذریعہ متحرک طور پر ایڈجسٹ ہوتے ہیں ، جس سے اشارے کو مارکیٹ کے ماحول میں تبدیلیوں کے مطابق خود کو ایڈجسٹ کرنے کی اجازت ملتی ہے۔
ان میں سے کچھ فوائد یہ ہیں:
ٹرانزیکشن سگنل کے طور پر سینوسین اور فیز کا استعمال کرتے ہوئے، حکمت عملی کو زیادہ ٹھوس بنا دیا گیا ہے، جو ٹائم زون کی لہروں سے متاثر نہیں ہوتا.
اس کے ساتھ ساتھ اس کے پیرامیٹرز کو مارکیٹ کی تبدیلیوں کے مطابق ڈائنامک طور پر ایڈجسٹ کیا جاسکتا ہے اور اس میں خودکشی کرنے کی بہت زیادہ صلاحیت ہے۔
MAMA اور FAMA منحنی خطوط صرف قیمت کی اپنی خصوصیات پر انحصار کرتے ہیں ، کوئی تاخیر نہیں ہوتی ہے اور بروقت رجحان کی تبدیلی کو پکڑ سکتے ہیں۔
پیرامیٹرز کی ترتیب کے ذریعے حکمت عملی کی حساسیت کو مختلف شیلیوں کے تاجروں کے لئے موزوں کیا جاسکتا ہے۔
حکمت عملی کی منطق واضح اور سادہ ہے، آسانی سے سمجھنے اور تبدیل کرنے کے لئے، تحقیق اور تعلیم کے لئے موزوں ہے.
اس کے علاوہ، اس میں مندرجہ ذیل خطرات بھی ہیں:
جب قیمت میں غیر معمولی تحریف ہوتی ہے تو غلط سگنل پیدا ہوتا ہے کیونکہ یہ سنسنیکرن کی مدت اور مرحلے پر منحصر ہوتا ہے۔
سائیکل کے فیصلے میں سختی کی حد مقرر کی گئی ہے ، جس سے سائیکل کی تبدیلیاں کافی ہموار نہیں ہوں گی۔
پوزیشن اور سائیکل کے سیلولر اثر سے منحنی خطوط اہم نکات کے قریب ہلتے ہیں اور ممکنہ طور پر بہترین اندراجات اور باہر نکل سکتے ہیں۔
جب مارکیٹ میں اتار چڑھاؤ بڑھتا ہے تو ، پیرامیٹرز اور منحنی خطوط کی موافقت کی صلاحیت کم ہوجاتی ہے۔
تکنیکی اشارے کے طور پر ، حکمت عملی اہم تکنیکی مقامات پر جعلی کامیابیوں اور غلط سگنل کے لئے آسان ہے۔
ان خطرات کو زیادہ ہموار پیرامیٹرز کی ترتیب، دوسرے اشارے کے ساتھ مل کر فلٹرنگ، اور انعقاد کے سائز کو ایڈجسٹ کرنے کے ذریعہ کم کیا جاسکتا ہے.
ایک موافقت پذیر متحرک اوسط حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
سائیکلوں اور پیرامیٹرز کے حساب کتاب کے طریقوں میں بہتری لائی گئی ہے تاکہ ان کی تبدیلیوں کو زیادہ ہموار اور قدرتی بنایا جاسکے۔ مثال کے طور پر ، قیمتوں کے بہتر ماڈلنگ کے لئے اعدادوشمار کے طریقوں کو متعارف کرایا جاسکتا ہے۔
فلٹرنگ سگنل کے لئے فلٹرنگ کے اشارے جیسے اتار چڑھاؤ کی شرح ، ٹرانسمیشن کی مقدار ، اور اسی طرح کے اشارے کے ساتھ مل کر ، درستگی کو بہتر بناتا ہے۔ یہ بنیادی طور پر سگنل کی وشوسنییتا کو سمجھنے کے ساتھ مل کر بھی ہوسکتا ہے۔
پیرامیٹرز کی ترتیب کو بہتر بنانے اور سلائڈ پوائنٹ کنٹرول، ٹرانزیکشن کی لاگت کو کم کرنے اور نظام کی استحکام کو بہتر بنانے کے لئے.
مشین لرننگ اور جینیاتی الگورتھم جیسے طریقوں کو متعارف کرانے سے نظام کے پیرامیٹرز کو مستقل طور پر تیار اور اپ ڈیٹ کیا جاسکتا ہے۔
مختلف اندراجات اور باہر نکلنے کا تعین کریں ، رجحانات اور ریورس سسٹم کے ساتھ مل کر ، پورٹ فولیو بنائیں ، اور پائیدار منافع میں اضافہ کریں۔
موافقت پذیر منتقل اوسط حکمت عملی کا استعمال کرتے ہوئے sine wave تجزیہ پیدا کرنے کے لئے ٹریڈنگ سگنل ، متحرک ایڈجسٹمنٹ پیرامیٹرز کے ذریعے نظام کو خود بخود مارکیٹ کے ماحول میں تبدیلیوں کے مطابق ڈھالنے کے قابل بناتا ہے ، جس میں زیادہ مضبوط اور وسیع پیمانے پر قابل اطلاق ہے۔ دوسری موافقت پذیر منتقل اوسط حکمت عملی کے مقابلے میں ، اس میں زیادہ عملی اور استحکام ہے۔ لیکن یہ حکمت عملی ، ایک تکنیکی حکمت عملی کی حیثیت سے ، اہم تکنیکی مقامات پر بھی غلط سگنل ظاہر کرتی ہے ، جس میں فلٹرنگ کی اصلاح کے لئے دوسرے معاون ٹولز کو متعارف کرانے کی ضرورت ہوتی ہے۔ مسلسل بہتری کے ساتھ ، اس حکمت عملی کو ایک قابل سفارش موافقت پذیر تجارتی نظام بننے کی امید ہے۔
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun
//@version=4
strategy("自适应移动平均的MESA系统", overlay=true)
fastlimit = input(0.5,'')
slowlimit = input(0.05,'')
smooth = 0.0
detrender = 0.0
I1 = 0.0
Q1 = 0.0
JI = 0.0
JQ = 0.0
I2 = 0.0
Q2 = 0.0
Re = 0.0
Im = 0.0
period = 0.0
smoothperiod = 0.0
phase = 0.0
deltaphase = 0.0
alpha = 0.0
MAMA = 0.0
FAMA = 0.0
price = 0.0
price := (high + low)/2
PI = 2 * asin(1)
if (bar_index > 5)
smooth := (4*price + 3*price[1] + 2*price[2] + price[3])/10
detrender := (.0962*smooth + .5769*nz(smooth[2]) - .5769*nz(smooth[4]) - .0962*nz(smooth[6]))*(.075*nz(period[1]) + .54)
// compute InPhase and Quadrature components
Q1 := (.0962*detrender + .5769*nz(detrender[2]) - .5769*nz(detrender[4]) - .0962*nz(detrender[6]))*(.075*nz(period[1]) + .54)
I1 := nz(detrender[3])
// advance the pulse of i1 and q1 by 90 degrees
JI := (.0962*I1 + .5769*nz(I1[2]) - .5769*nz(I1[4]) - .0962*nz(I1[6]))*(.075*nz(period[1]) + .54)
JQ := (.0962*Q1 + .5769*nz(Q1[2]) - .5769*nz(Q1[4]) - .0962*nz(Q1[6]))*(.075*nz(period[1]) + .54)
//phase addition for 3-bar averaging
I2 := I1 - JQ
Q2 := Q1 + JI
//smooth the i and q components before applying
I2 := .2*I2 + .8*nz(I2[1])
Q2 := .2*Q2 + .8*nz(Q2[1])
// hymodyne discriminator
Re := I2*I2[1] + Q2*nz(Q2[1])
Im := I2*Q2[1] + Q2*nz(I2[1])
Re := .2*Re + .8*nz(Re[1])
Im := .2*Im + .8*nz(Im[1])
if (Im != 0 and Re != 0)
period := 2 * PI/atan(Im/Re)
if (period > 1.5 * nz(period[1]))
period := 1.5*nz(period[1])
if (period < .67*nz(period[1]))
period := .67*nz(period[1])
if (period < 6)
period := 6
if (period > 50)
period := 50
period := .2*period + .8*nz(period[1])
smoothperiod := .33*period + .67*nz(smoothperiod[1])
if (I1 != 0)
phase := (180/PI) * atan(Q1/I1)
deltaphase := nz(phase[1]) - phase
if (deltaphase < 1)
deltaphase := 1
alpha := fastlimit/deltaphase
if(alpha < slowlimit)
alpha := slowlimit
MAMA := alpha*price + (1 - alpha)*nz(MAMA[1])
FAMA := .5*alpha*MAMA + (1 - .5*alpha)*nz(FAMA[1])
if (FAMA < MAMA)
strategy.entry("Long", strategy.long)
else
if (FAMA > MAMA)
strategy.entry("Short", strategy.short)