ڈبل موونگ ایوریج کراس اوور ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2023-11-02 14:21:24 آخر میں ترمیم کریں: 2023-11-02 14:21:24
کاپی: 0 کلکس کی تعداد: 657
1
پر توجہ دیں
1617
پیروکار

ڈبل موونگ ایوریج کراس اوور ٹریڈنگ کی حکمت عملی

جائزہ

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

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

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

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

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

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

طاقت کا تجزیہ

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

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

  2. تصدیق کے طریقہ کار کو بڑھانا تاکہ جعلی دراندازی سے بچایا جاسکے۔

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

  4. آسان اصلاح کے لئے کم پیرامیٹرز اور آسان عمل درآمد۔

  5. ڈیجیٹل کرنسیوں اور روایتی بنیادی مارکیٹوں سمیت متعدد مارکیٹوں میں قابل اطلاق۔

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

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات شامل ہیں:

  1. ایک بار جب آپ کو ایک بار پھر نقصان کا سامنا کرنا پڑتا ہے تو، آپ کو ایک بار پھر نقصان کا سامنا کرنا پڑتا ہے.

  2. اے ٹی آر پیرامیٹرز کی غلط ترتیب سے اسٹاپ نقصان بہت زیادہ نرمی یا بہت سخت ہوسکتا ہے۔

  3. بڑے پیمانے پر چھلانگ یا Gap براہ راست سٹاپ نقصان کا سبب بن سکتا ہے.

  4. اچانک اہم واقعات کی وجہ سے قیمتوں میں شدید اتار چڑھاؤ بھی براہ راست نقصان کا سبب بن سکتا ہے۔

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

  6. قیمتوں میں حالیہ اتار چڑھاو کی حد میں تبدیلی سے اے ٹی آر اسٹاپ نقصان کی فاصلے میں عدم موافقت پیدا ہوسکتی ہے۔

اصلاح کی سمت

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔

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

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

  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)