یہ حکمت عملی MACD (موونگ اوسط کنورجنسی تغیر) اشارے کی متحرک خصوصیات پر تجارتی فیصلوں کی بنیاد رکھتی ہے۔ بنیادی نقطہ نظر ممکنہ سونے اور موت کے کراسوں کی پیش گوئی کرنے کے لئے MACD ہسٹوگرام میں تبدیلیوں کا مشاہدہ کرنے پر مرکوز ہے ، جس سے ابتدائی پوزیشن کے قیام کی اجازت ملتی ہے۔ یہ حکمت عملی روایتی MACD کراس اوور سگنلز سے بالاتر ہے جس میں بہتر انٹری ٹائمنگ حاصل کرنے کے لئے ہسٹوگرام کی متحرک خصوصیات پر زور دیا گیا ہے۔
اس حکمت عملی میں ایک ترمیم شدہ ایم اے سی ڈی اشارے کا نظام استعمال کیا گیا ہے ، جس میں تیز رفتار (ای ایم اے 12) اور سست (ای ایم اے 26) حرکت پذیر اوسط کے درمیان فرق شامل ہے ، اور ساتھ ہی 2 مدت کی سگنل لائن بھی شامل ہے۔ بنیادی تجارتی منطق کئی اہم نکات پر مبنی ہے:
یہ حکمت عملی روایتی ایم اے سی ڈی ٹریڈنگ سسٹم کو بہتر بنانے کے لئے ایم اے سی ڈی ہسٹگرام کی متحرک خصوصیات کو جدید انداز میں استعمال کرتی ہے۔ پیش گوئی کا طریقہ کار ابتدائی اندراج کے سگنل فراہم کرتا ہے ، جبکہ سخت تجارتی حالات اور رسک کنٹرول کے اقدامات حکمت عملی کے استحکام کو یقینی بناتے ہیں۔ مزید اصلاح اور بہتر بنانے کے ساتھ ، یہ حکمت عملی اصل تجارتی حالات میں بہتر کارکردگی کا وعدہ کرتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Demo GPT - Moving Average Convergence Divergence", shorttitle="MACD", commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=2) // Set smoothing line to 2 sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Date inputs start_date = input(title="Start Date", defval=timestamp("2018-01-01T00:00:00")) end_date = input(title="End Date", defval=timestamp("2069-12-31T23:59:59")) // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal // Strategy logic isInDateRange = true // Calculate the rate of change of the histogram hist_change = hist - hist[1] // Anticipate a bullish crossover: histogram is negative, increasing, and approaching zero anticipate_long = isInDateRange and hist < 0 and hist_change > 0 and hist > hist[1] and hist > hist[2] // Anticipate an exit (bearish crossover): histogram is positive, decreasing, and approaching zero anticipate_exit = isInDateRange and hist > 0 and hist_change < 0 and hist < hist[1] and hist < hist[2] if anticipate_long strategy.entry("Long", strategy.long) if anticipate_exit strategy.close("Long") // Plotting hline(0, "Zero Line", color=color.new(#787B86, 50)) plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist > hist[1] ? #26A69A : #B2DFDB) : (hist < hist[1] ? #FF5252 : #FFCDD2))) plot(macd, title="MACD", color=#2962FF) plot(signal, title="Signal", color=#FF6D00) // Plotting arrows when anticipating the crossover plotshape(anticipate_long, title="Long +1", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.tiny, text="Long +1") plotshape(anticipate_exit, title="Short -1", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.tiny, text="Short -1")