یہ حکمت عملی قیمتوں کی سیریز کو توڑنے اور مختلف تعدد بینڈوں سے خصوصیات کو نکالنے کے لئے تجرباتی موڈ ڈیکومیپشن (ای ایم ڈی) کے طریقہ کار پر مبنی ہے ، جس میں تجارتی سگنل پیدا کرنے کے لئے اوسط شامل ہے۔ یہ بنیادی طور پر درمیانی اور طویل مدتی ہولڈنگز پر لاگو ہوتا ہے۔
یہ حکمت عملی قیمتوں کی سیریز سے خصوصیات کو نکالنے کے لئے تجرباتی موڈ تحلیل کے طریقہ کار کا استعمال کرتی ہے اور نکالے گئے خصوصیات کی بنیاد پر تجارتی سگنل تیار کرتی ہے ، جس سے ایک مستحکم درمیانی اور طویل مدتی تجارتی حکمت عملی کا احساس ہوتا ہے۔ اس حکمت عملی کا فائدہ یہ ہے کہ یہ قیمتوں میں وقتا فوقتا خصوصیات کی مؤثر طریقے سے نشاندہی کرسکتی ہے اور بڑی اتار چڑھاؤ کے دوران تجارتی آرڈرز جاری کرسکتی ہے۔ لیکن کچھ خطرات بھی موجود ہیں ، اور زیادہ پیچیدہ مارکیٹ کے ماحول میں موافقت کے ل further مزید اصلاح کی ضرورت ہے۔
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/04/2017 // The related article is copyrighted material from Stocks & Commodities Mar 2010 // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Empirical Mode Decomposition") Length = input(20, minval=1) Delta = input(0.5) Fraction = input(0.1) reverse = input(false, title="Trade reverse") xPrice = hl2 beta = cos(3.1415 * (360 / Length) / 180) gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2]) xMean = sma(xBandpassFilter, 2 * Length) xPeak = iff (xBandpassFilter[1] > xBandpassFilter and xBandpassFilter[1] > xBandpassFilter[2], xBandpassFilter[1], nz(xPeak[1])) xValley = iff (xBandpassFilter[1] < xBandpassFilter and xBandpassFilter[1] < xBandpassFilter[2], xBandpassFilter[1], nz(xValley[1])) xAvrPeak = sma(xPeak, 50) xAvrValley = sma(xValley, 50) nAvrPeak = Fraction * xAvrPeak nAvrValley = Fraction * xAvrValley pos = iff(xMean > nAvrPeak and xMean > nAvrValley, 1, iff(xMean < nAvrPeak and xMean < nAvrValley, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xMean, color=red, title="Mean") plot(nAvrPeak, color=blue, title="Peak") plot(nAvrValley, color=blue, title="Valley")