یہ حکمت عملی سائیبر سائیکل تھیوری کی بنیاد پر ہموار قیمت سگنل کا حساب لگاتی ہے جو ایلرز نے ہموار تجارتی سگنل کے ساتھ تجارتی حکمت عملی تیار کرنے کے لئے تجویز کی ہے۔ یہ مؤثر طریقے سے مارکیٹ شور کو فلٹر کرسکتا ہے اور زیادہ قابل اعتماد تجارتی سگنل تیار کرسکتا ہے۔
ہموار سگنل حاصل کرنے کے لئے دوسرے آرڈر ہموار کے ساتھ اصل قیمت سگنل src ہموار.
ہموار سگنل کی بنیاد پر سائیکلک اشارے کے سائیکل کا حساب لگائیں۔ حساب کتاب کا طریقہ یہ ہے: سائیکل:= (1 -.5الفا) (1 - .5 الفا)(ہموار - 2)ہموار[1] + ہموار[2]) + 2(1 - الفا)سائیکل[1] - (1 - الفا)(1 - الفا) * سائیکل [2]
جہاں α ہموار پیرامیٹر ہے.
حتمی ٹریڈنگ سگنل سگنل حاصل کرنے کے لئے پہلے آرڈر ہموار کے ساتھ تیزی سے ہموار کرنے والے اشارے کو ہموار کریں۔ حساب کتاب کا طریقہ یہ ہے: سگنل:= الفا2سائیکل + (1 - الفا 2)nz ((سگنل[1])
جہاں α2 پہلی ترتیب ہموار پیرامیٹر ہے.
طویل جب سگنل سگنل پر عبور کرتا ہے [1]؛ مختصر جب سگنل سگنل کے نیچے عبور کرتا ہے۔ [1]
قیمت سگنل کی دوسری ترتیب کی ہموار کاری مؤثر طریقے سے ہائی فریکوئنسی شور کو فلٹر کر سکتی ہے اور تجارتی سگنل کو زیادہ قابل اعتماد بنا سکتی ہے۔
ایہلرز کے سائبر سائیکل تھیوری کا اطلاق مارکیٹ کے رجحانات کے موڑ کا نقطہ زیادہ درست طریقے سے طے کرسکتا ہے۔
پہلے آرڈر کی ایکسپونینشل ہموار کرنے سے زیادہ قابل اعتماد ٹریڈنگ سگنل پیدا کرنے کے لئے سائیکلک اشارے میں کچھ شور فلٹر ہوتا ہے۔
حکمت عملی کا سارا عمل معقول اور سائنسی ہے ، جس میں پیرامیٹر کی اصلاح کی بڑی گنجائش اور عمدہ اصل کارکردگی ہے۔
دیگر تکنیکی اشارے کی حکمت عملیوں کی طرح ، یہ حکمت عملی بھی نظام کے بازار کے خطرے کے لئے نسبتا sensitive حساس ہے۔ یہ سیاہ سوان کے واقعات کی صورت میں بڑے نقصانات کا سامنا کرسکتا ہے۔
پیچیدہ حساب کتاب کے عمل کی وجہ سے ، پیرامیٹر کی غلط ترتیبات حساب کتاب میں تاخیر کا سبب بن سکتی ہیں ، جس سے اصل کارکردگی متاثر ہوتی ہے۔ سائنسی اور معقول ترتیبات کو یقینی بنانے کے لئے پیرامیٹرز کو احتیاط سے جانچنے کی ضرورت ہے۔
ہموار پروسیسنگ کے نتیجے میں بھی تجارتی سگنل میں تاخیر ہوتی ہے ، جو مارکیٹ کے موڑ کے مقامات کو وقت پر حاصل کرنے میں ناکام ہوسکتے ہیں ، اس طرح مواقع سے محروم ہوجاتے ہیں۔ ہموار پیرامیٹرز کی ترتیب میں توازن پیدا کرنے کی ضرورت ہے۔
ہموار کرنے کے الگورتھم کی مختلف اقسام کا تجربہ کیا جاسکتا ہے ، جیسے پہلے آرڈر کی افادیت پسند ہموار کرنا ، اوسط ہموار کرنا ، وغیرہ ، تاکہ ہموار کرنے کا بہترین نظام مل سکے۔
مارکیٹ کے حالات کی بنیاد پر پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے کے لئے ایک انکولی پیرامیٹر ٹوننگ میکانزم متعارف کرایا جاسکتا ہے تاکہ حکمت عملی کی مضبوطی کو بہتر بنایا جاسکے۔
سٹاپ نقصان اور منافع لینے کی حکمت عملیوں کو ایک ہی وقت میں واحد نقصان کے خطرے کو کم کرنے اور منافع میں مقفل کرنے کے لئے ڈیزائن کیا جا سکتا ہے.
یہ ماڈل پورٹ فولیو حاصل کرنے کے لئے دیگر مشین لرننگ ماڈلز کے ساتھ مل کر کیا جاسکتا ہے اور تجارتی سگنل کو فلٹر کرنے کے لئے دیگر ماڈلز کا استعمال کرسکتا ہے۔
یہ حکمت عملی قیمت سگنل ہموار کرنے اور ایہلرز سائبر سائیکل اشارے کے حساب کے ذریعہ ایہلرز سائبر سائیکل ٹریڈنگ حکمت عملی کو ہموار کرنے والے تجارتی سگنل کا ڈیزائن کرتی ہے۔ یہ شور کو مؤثر طریقے سے فلٹر کرسکتا ہے اور زیادہ قابل اعتماد تجارتی سگنل تیار کرسکتا ہے۔ اسی وقت ، پیرامیٹر کی جگہ بڑی ہے اور اصل کارکردگی اچھی ہے۔ موافقت پذیر میکانزم ، اسٹاپ نقصان کی حکمت عملی اور دیگر اصلاحات متعارف کرانے سے ، حکمت عملی کے استحکام اور تاثیر کو مزید بڑھا سکتا ہے۔
/*backtest start: 2024-01-19 00:00:00 end: 2024-02-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Ehlers Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1) src = input(hl2, title = "Source") alpha = input(.07, title = "Alpha") lag = input(9, title = "Lag") smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6 cycle = na if na(cycle[7]) cycle := (src - 2 * src[1] + src[2]) / 4 else cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2] alpha2 = 1 / (lag + 1) signal = na signal := alpha2 * cycle + (1 - alpha2) * nz(signal[1]) oppositeTrade = input(true) barsSinceEntry = 0 barsSinceEntry := nz(barsSinceEntry[1]) + 1 if strategy.position_size == 0 barsSinceEntry := 0 if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1])) strategy.entry("Long", strategy.long) barsSinceEntry := 0 if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1])) strategy.entry("Short", strategy.short) barsSinceEntry := 0 if strategy.openprofit < 0 and barsSinceEntry > 8 strategy.close_all() barsSinceEntry := 0 plot(0, title="ZeroLine", color=gray) plotSrc = signal cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue) triggerPlot = plot(plotSrc[1], title = "Trigger", color = green) fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)