ڈبل موونگ ایوریج اسٹوکاسٹک حکمت عملی میں چلتی اوسط اشارے اور اسٹوکاسٹک آسکیلیٹر کے امتزاج کا استعمال کرتے ہوئے تجارتی مواقع کی نشاندہی کرنے کی کوشش کی جاتی ہے۔ جب تیز EMA سست SMA کے اوپر یا نیچے عبور کرتا ہے تو یہ تجارتی سگنل تیار کرتا ہے ، جبکہ مارکیٹ میں زیادہ توسیع ہونے پر سگنل کو فلٹر کرنے کے لئے اسٹوکاسٹک٪ K ویلیو کا بھی استعمال کرتا ہے۔
یہ حکمت عملی بنیادی طور پر دو تکنیکی اشارے پر مبنی ہے:
حرکت پذیر اوسط: یہ مختلف پیرامیٹرز کا استعمال کرتے ہوئے تیز EMA ، سست SMA اور سست VWMA کا حساب لگاتا ہے ، اور جب تیز EMA سست SMA کو عبور کرتا ہے تو تجارتی سگنل تیار کرتا ہے۔
اسٹوکاسٹک آسکیلیٹر: یہ %K قدر کا حساب لگاتا ہے اور جب %K پہلے سے طے شدہ اوپری یا نچلی حد کی سطح کو عبور کرتا ہے تو مارکیٹ کو زیادہ خرید یا فروخت سمجھتا ہے ، اس کا استعمال کچھ حرکت پذیر اوسط سگنلز کو فلٹر کرنے کے لئے کرتا ہے۔
خاص طور پر، سگنل کی پیداوار کے لئے منطق یہ ہے:
جب تیز ای ایم اے سست ایس ایم اے سے اوپر کی طرف بڑھتا ہے، اور %K oversold سطح سے نیچے ہے، تو طویل ہو جاتا ہے۔ جب تیز ای ایم اے سست ایس ایم اے سے نیچے کی طرف بڑھتا ہے، اور %K oversold سطح سے اوپر ہے، تو مختصر ہو جاتا ہے۔
موجودہ لانگ پوزیشنوں کے لئے، جب %K اوور بک زون میں دوبارہ داخل ہو یا قیمت اسٹاپ نقصان کو توڑ دے تو بند کریں۔ مختصر پوزیشنوں کے لئے، جب %K اوور سیل زون میں دوبارہ داخل ہو یا قیمت اسٹاپ نقصان کو توڑ دے تو بند کریں۔
چلتی اوسط اور اسٹوکاسٹک آسکیلیٹر کو ملا کر ، حکمت عملی تجارت میں داخل ہونے کے لئے اعلی امکان چلتی اوسط سگنل پوائنٹس کی نشاندہی کرنے کی کوشش کرتی ہے ، جبکہ غلط سگنل میں سے کچھ کو فلٹر کرنے کے لئے اسٹوکاسٹک کا استعمال کرتی ہے۔
اس حکمت عملی کے اہم فوائد یہ ہیں:
کچھ خطرات بھی ہیں:
تخفیف:
اصلاح کے اہم مواقع یہ ہیں:
ڈبل موونگ ایوریج اسٹوکاسٹک حکمت عملی ایک مضبوط رجحان کے بعد کے نظام کو ڈیزائن کرنے کے لئے چلتی اوسط اور اسٹوکاسٹک آسکیلیٹر کے امتزاج کا استعمال کرتی ہے ، لیکن پیرامیٹرز ، اسٹاپس وغیرہ کے ارد گرد کچھ بہتری کے مواقع موجود ہیں۔ اضافی اشارے اور اصلاحات جیسے مزید اصلاحات ممکنہ طور پر زیادہ مستقل الفا فراہم کرسکتی ہیں۔
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("TVIX MEAN REV V2 TREND", overlay=true) length = input(16, minval=1) OverBought = input(80) OverSold = input(20) TradeLong = input (true) TradeShort = input (true) OverBoughtClose = input(80) OverSoldClose = input(20) smoothK = 3 smoothD = 3 trail_points = input(50) k = sma(stoch(close, high, low, length), smoothK) d = sma(k, smoothD) k2 = sma(stoch(close, high, low, length), smoothK) d2 = sma(k, smoothD) // === GENERAL INPUTS === // short Ema maFastSource = input(defval=close, title="Fast EMA Source") maFastLength = input(defval=1, title="Fast EMA Period", minval=1) // long Sma maSlowSource = input(defval=close, title="Slow SMA Source") maSlowLength = input(defval=100, title="Slow SMA Period", minval=1) // longer Sma maSlowerSource = input(defval=close, title="Slower SMA Source") maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1) //ATR Stop Loss Indicator by Keith Larson atrDays = input(7, "ATR Days Lookback") theAtr = atr(atrDays) atrModifier = input(5.0, "ATR Modifier") //plot(atr * atrModifier, title="ATR") LstopLoss = close - (theAtr * atrModifier) SstopLoss = close + (theAtr * atrModifier) // === SERIES SETUP === /// a couple of ma's.. maFast = ema(maFastSource, maFastLength) maSlow = sma(maSlowSource, maSlowLength) maSlower = vwma(maSlowerSource, maSlowerLength) rsi = rsi(maSlowerSource, maSlowerLength) // === PLOTTING === fast = plot(maFast, title="Fast MA", color=color.red, linewidth=2, style=plot.style_line, transp=30) slow = plot(maSlow, title="Slow MA", color=color.green, linewidth=2, style=plot.style_line, transp=30) slower = plot(maSlower, title="Slower MA", color=color.teal, linewidth=2, style=plot.style_line, transp=30) // === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross LongFilter = maFast > maSlow ShortFilter = maSlow > maFast BUY=crossover(k, d) and k < OverSold SELL=crossunder(k, d) and k > OverBought SELLCLOSE=crossover(k, d) and k < OverSoldClose BUYCLOSE=crossunder(k, d) and k > OverBoughtClose Open = open if not na(k) and not na(d) if crossover(k, d) and k < OverSold and LongFilter and TradeLong strategy.entry("$", strategy.long, limit = Open, comment="Long") strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss ) ///strategy.close("$",when = open < LstopLoss ) if not na(k) and not na(d) if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort strategy.entry("$1", strategy.short, limit = Open, comment="S") strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss ) ///strategy.close ("$1", when = open < SstopLoss)