میک کینن ڈائنامک موونگ ایوریج ٹریڈنگ اسٹریٹجی


تخلیق کی تاریخ: 2023-11-14 15:48:46 آخر میں ترمیم کریں: 2023-11-14 15:48:46
کاپی: 0 کلکس کی تعداد: 838
1
پر توجہ دیں
1617
پیروکار

میک کینن ڈائنامک موونگ ایوریج ٹریڈنگ اسٹریٹجی

جائزہ

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

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

اس حکمت عملی میں بنیادی طور پر دو اوسط لائنیں استعمال کی جاتی ہیں ، 21 دن کی اشاریہ کی حرکت پذیری اوسط اور 42 دن کی اشاریہ کی حرکت پذیری اوسط۔ جب قلیل مدتی اوسط لائن پر طویل مدتی اوسط لائن سے ٹکراتی ہے تو اسے خریدنے کا اشارہ سمجھا جاتا ہے۔ جب قلیل مدتی اوسط لائن کے نیچے طویل مدتی اوسط لائن سے ٹکراتی ہے تو اسے فروخت کرنے کا اشارہ سمجھا جاتا ہے۔

اس کے علاوہ ، اس حکمت عملی کو خریدنے کا اشارہ پیدا کرنے کے لئے ایک ہی وقت میں میک کین غیر متحرک اوسط سے اوپر کی قیمتوں کو پورا کرنے کی ضرورت ہوتی ہے۔ مختصر مدت کی اوسط سے نیچے کی قیمتوں کے لئے فروخت کے اشارے کے لئے بھی ایک ہی وقت میں میک کین غیر اوسط سے نیچے کی قیمتوں کو پورا کرنے کی ضرورت ہوتی ہے۔

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

میکین غیر متحرک اوسط کے حساب کتاب کا فارمولا یہ ہے: MDIt = MDIt-1 + (Close - MDIt-1) / Max(k * Period * (Close / MDIt-1) ^ 4، 1) ◄ ۔ اس میں ، MDIt موجودہ قیمت کی نمائندگی کرتا ہے ، MDIt-1 پچھلے دن کی قیمت کی نمائندگی کرتا ہے ، Close اس دن کی بندش کی قیمت کی نمائندگی کرتا ہے ، k ہموار مستقل کی نمائندگی کرتا ہے ، اور Period حساب کی نمائندگی کرتا ہے۔ یہ فارمولا اوسط کو قیمت میں تبدیلی کی اصل وقت کی نگرانی کرنے کی اجازت دیتا ہے۔

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

  1. میکینفی اوسط اشارے روایتی اوسط کی پسماندگی کو بہتر بناتا ہے تاکہ قیمتوں کے رجحانات میں تبدیلی کو زیادہ تیزی سے پکڑ سکے۔

  2. ڈبل مساوی لائنوں کے ساتھ مل کر ٹریڈنگ سگنل بناتے ہیں ، جو جعلی توڑ کو مؤثر طریقے سے فلٹر کرسکتے ہیں۔

  3. میک گینفی میڈین لائن سے اوپر / نیچے قیمتوں کو شامل کریں تاکہ زلزلے کے زون میں بار بار تجارت سے بچا جاسکے۔

  4. انڈیکس کو منتقل اوسط بنانے کے لئے استعمال کیا جاتا ہے ، جس سے اوسط قیمت میں حالیہ تبدیلیوں کے لئے زیادہ حساس ہوتا ہے۔

اسٹریٹجک رسک

  1. افقی ڈسک اتار چڑھاؤ کی مارکیٹ میں ، جھوٹے سگنل پیدا ہوسکتے ہیں ، جس سے نقصان ہوتا ہے۔ آپ پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کرسکتے ہیں ، سگنل کو فلٹر کرسکتے ہیں۔

  2. بڑے پیمانے پر چھلانگ لگانے کی وجہ سے وقت پر ذخیرہ اندوزی کی ناکامی کا سبب بن سکتا ہے ، داخلے کی شرائط کو مناسب طریقے سے نرمی دی جائے۔

  3. پیرامیٹرز کی غلط ترتیب بھی حکمت عملی کے اثر کو متاثر کرتی ہے ، پیرامیٹرز کو بہتر بنانے کے لئے ٹیسٹ کیا جانا چاہئے۔

  4. طویل مدتی انعقاد کے نظاماتی خطرات کو مدنظر رکھتے ہوئے ، ایک اسٹاپ نقصان کا تعین کیا جاسکتا ہے۔

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

  1. مختلف لمبائی کی اوسط لائن پیرامیٹرز کو جانچ کر کے زیادہ مناسب مجموعہ تلاش کیا جاسکتا ہے۔

  2. دیگر تکنیکی اشارے ، جیسے کے ڈی ، ایم اے سی ڈی ، وغیرہ کو شامل کیا جاسکتا ہے تاکہ خرید و فروخت کے مقامات کو بہتر بنایا جاسکے۔

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

  4. متحرک پوزیشن سائزنگ کو متحرک شرح اشارے کے ساتھ مل کر کیا جاسکتا ہے ، جو انفرادی خطرے کو کنٹرول کرتا ہے۔

  5. نقصان کے خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا مقام مقرر کیا جاسکتا ہے ، یا منافع کو مقفل کرنے کے لئے اسٹاپ نقصان کو منتقل کرنے کا تجربہ کیا جاسکتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © LucasZancheta

//@version=4
strategy(shorttitle="Maguila", title="McGinley Dynamic Indicator", overlay=true)

//Médias móveis
MA1Period=input(21, title="MA1")
MA2Period=input(42, title="MA2")

MA1 = ema(close, MA1Period)
MA2 = ema(close, MA2Period)

aboveAverage = MA1 >= MA2
hunderAverage = MA2 >= MA1

//Período do backtest
startDate = input(title="Start Date", type=input.integer, defval=28, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer, defval=5, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer, defval=2019, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer, defval=28, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer, defval=5, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer, defval=2030, minval=1800, maxval=2100)

//Verifica se o candle está dentro do período do backtest
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

//Número de periodos da média móvel
period  = input(title="Períodos", type=input.integer, defval=20)
//Constante K (0.6)
k = input(title="Constante K", type=input.float, defval=0.6)
//Preço de fechamento 
closePrice = input(title="Preço", type=input.source, defval=close)

mdi = 0.0

//Fórmula de McGinley
mdi := na(mdi[1]) ? closePrice : mdi[1] + (closePrice - mdi[1]) / max((k * period * pow(closePrice / mdi[1], 4)), 1)

//Regra de coloração 
mdiColor = closePrice > mdi ? color.green : closePrice < mdi ? color.red : color.black

//Inserindo as informações no gráfico    
plot(MA1, color=color.blue, linewidth=2)
plot(MA2, color=color.purple, linewidth=2)

barcolor(mdiColor)

//Estratégia
buySignal = aboveAverage and closePrice > mdi and crossunder(low, MA1) and close > MA1  
buyLoss = closePrice < mdi and close < MA1 and close < MA2

if (inDateRange)
    strategy.entry("Compra", strategy.long, qty=1, when= buySignal)
    strategy.exit("Gain da compra", "Compra", qty=1, profit=20)
    strategy.close("Compra", qty=1, when= buyLoss, comment="Loss na operação")

sellSignal = hunderAverage and closePrice < mdi and crossover(high, MA1) and close < MA1
sellLoss = closePrice > mdi and close > MA1 and close > MA2

if (inDateRange)
    strategy.entry("Venda", strategy.short, qty=1, when= sellSignal)
    strategy.exit("Gain da venda", "Venda", qty=1, profit=20)
    strategy.close("Venda", qty=1, when= sellLoss, comment="Loss na operação")

if (not inDateRange)
    strategy.close_all()