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

دوہری حرکت پذیر اوسط کراس اوور ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-02 14:21:24
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

کچھ جھوٹے سگنلوں کو فلٹر کرنے کے لئے ، حکمت عملی میں کراس اوور کاؤنٹر شامل ہوتا ہے جسے کراس کاؤنٹ کہا جاتا ہے۔ سگنل صرف اس وقت ٹرگر ہوتے ہیں جب بیک بیک مدت (ڈیفالٹ 25 دن) میں فاسٹ ایم اے کے لئے کراس کی تعداد زیادہ سے زیادہ نہیں ہوتی ہے۔

اس کے علاوہ، حکمت عملی میں ایک توثیقی طریقہ کار ہے، جہاں سگنل بھی تصدیق کی جاتی ہے اگر قیمت ابتدائی سگنل کے بعد دو چلتی اوسط کے درمیان دوبارہ داخل ہوتی ہے.

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

فوائد کا تجزیہ

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

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

  2. تصدیق کے طریقہ کار سے جھوٹے بھاگنے کی طرف سے جعلی ہونے سے روکتا ہے.

  3. فلوٹنگ اے ٹی آر سٹاپ نقصان سے منافع کو زیادہ سے زیادہ کرنے میں مدد ملتی ہے جبکہ ڈراؤنڈ کو محدود کیا جاتا ہے۔

  4. اس میں بہت کم بہتر پیرامیٹرز ہیں اور اس پر عمل درآمد کرنا آسان ہے۔

  5. کریپٹو اور روایتی اثاثوں سمیت تمام مارکیٹوں پر لاگو ہوتا ہے۔

  6. استحکام کے لئے متعدد تکنیکی اشارے کو یکجا کرتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے اہم خطرات میں شامل ہیں:

  1. رینج محدود ادوار کے دوران ایم اے کے بار بار عبور کرنے سے متعدد نقصانات ہو سکتے ہیں۔

  2. ATR پیرامیٹر کی غلط ترتیب کے نتیجے میں رکاوٹیں بہت وسیع یا بہت تنگ ہوسکتی ہیں۔

  3. بڑے خلا براہ راست رکنے کا سبب بن سکتے ہیں.

  4. بڑی خبروں کی وجہ سے بہت زیادہ اتار چڑھاؤ بھی پوزیشنوں کو روک سکتا ہے۔

  5. ایم اے کے ناکافی پیرامیٹرز کے نتیجے میں رجحانات کی کمی یا بہت سے غلط سگنل ہوسکتے ہیں۔

  6. حالیہ قیمت کی حرکت سے اے ٹی آر اسٹاپز پرانی ہو سکتی ہیں۔

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

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:

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

  2. بہتر سٹاپ فاصلے تلاش کرنے کے لئے مختلف ATR ادوار کی جانچ کریں.

  3. اضافی فلٹرز شامل کریں جیسے حجم کی چوٹی، اشارے کی عدم استحکام سگنل کے معیار کو بہتر بنانے کے لئے.

  4. رجحان کی پیمائش کو شامل کریں تاکہ متضاد مارکیٹوں میں وِچساؤ سے بچ سکیں۔

  5. بیک ٹسٹنگ کے ذریعے پیرامیٹرز کو خودکار طور پر بہتر بنانے کے لئے مشین لرننگ الگورتھم شامل کریں۔

  6. قلیل مدتی شور سے بچنے کے لیے زیادہ لمبے وقت کے فریم پر مزید تصدیق کی تلاش کریں۔

  7. منافع بخش پوزیشنوں سے باہر پیمانے کے لئے مرحلہ وار منافع لینے کے قوانین کو لاگو کریں.

خلاصہ

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("QuantCat Intraday Strategy (15M)", overlay=true)

//MA's for basic signals, can experiment with these values

fastEMA = sma(close, 25)
slowEMA = sma(close, 100)

//Parameters for validation of position

lookback_value = 25
maxNoCross=10 //value used for maximum number of crosses on a certain MA to mitigate noise and maximise value from trending markets

//Amount of crosses on MA to filter out noise

ema25_crossover = (cross(close, fastEMA)) == true ? 1 : 0
ema25_crossover_sum = sum(ema25_crossover, lookback_value) ///potentially change lookback value to alter results
crossCount = (ema25_crossover_sum <= maxNoCross)

//Entries long

agrLong =  ((crossover(fastEMA, slowEMA)) and (crossCount == true)) ? true : false
consLong = ((close < fastEMA) and (close > slowEMA) and (fastEMA > slowEMA) and (crossCount == true)) ? true : false

//Entries short

agrShort =  ((crossunder(fastEMA, slowEMA)) and (crossCount == true)) ? true : false
consShort = ((close > fastEMA) and (close < slowEMA) and (fastEMA < slowEMA) and (crossCount == true)) ? true : false

//ATR

atrLkb = input(14, minval=1, title='ATR Stop Period')
atrRes = input("15",  title='ATR Resolution')
atr = request.security(syminfo.tickerid, atrRes, atr(atrLkb))

//Strategy

longCondition = ((agrLong or consLong) == true)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ((agrShort or consShort) == true)
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Stop multiplier 

stopMult = 4

//horizontal stoplosses

longStop = na
longStop :=  shortCondition ? na : longCondition and strategy.position_size <=0 ? close - (atr * stopMult) : longStop[1] 
shortStop = na
shortStop := longCondition ? na : shortCondition and strategy.position_size >=0 ? close + (atr * stopMult) : shortStop[1]

//Strategy exit functions

strategy.exit("Long ATR Stop", "Long", stop=longStop)
strategy.exit("Short ATR Stop", "Short", stop=shortStop)

//Plots 

redgreen = (fastEMA > slowEMA) ? green : red
    
p1 = plot(fastEMA, title="Fast EMA", color=redgreen, linewidth=2) 
p2 = plot(slowEMA, title="Slow EMA", color=redgreen, linewidth=2) 
fill(p1, p2, color=redgreen)

s1 = plot(longStop, style=linebr, color=red, linewidth=2,     title='Long ATR Stop')
s2 = plot(shortStop, style=linebr, color=red, linewidth=2,  title='Short ATR Stop')

fill(p2, s1, color=red, transp=95)
fill(p2, s2, color=red, transp=95)





    




مزید