
یہ حکمت عملی MACD (موبائل ایوریج کنورجنس اور اسپریڈ اشارے) کی متحرک تبدیلی کی خصوصیات پر مبنی ٹریڈنگ کے فیصلے کرتی ہے۔ حکمت عملی کا بنیادی مقصد MACD کالم گراف (ہسٹگرام) میں تبدیلی کے رجحان کو دیکھ کر ممکنہ سنہری فورکس اور ڈیڈ فورکس کی پیش گوئی کرنا ہے ، تاکہ تجارت کو پہلے سے ترتیب دیا جاسکے۔ یہ حکمت عملی صرف روایتی MACD اشارے کے کراس سگنل پر ہی توجہ نہیں دیتی ، بلکہ کراس سگنل کو پہلے سے طے کرنے کے ذریعہ بہتر انٹری ٹائم حاصل کرنے کے لئے کالم گراف کی متحرک تبدیلی کی خصوصیات پر زیادہ توجہ دیتی ہے۔
حکمت عملی میں ایک بہتر MACD اشارے کا نظام استعمال کیا گیا ہے جس میں تیزی سے چلنے والی اوسط ((EMA12) اور آہستہ چلنے والی اوسط ((EMA26) کے فرق کی گنتی اور 2 دوروں پر مبنی سگنل لائن شامل ہیں۔ بنیادی ٹریڈنگ منطق مندرجہ ذیل اہم نکات پر مبنی ہے:
اس حکمت عملی میں MACD کالم گراف کی متحرک تبدیلی کی خصوصیات کا جدید استعمال کیا گیا ہے۔ اس حکمت عملی میں روایتی MACD ٹریڈنگ سسٹم کی بہتری اور اصلاح کی گئی ہے۔ حکمت عملی کے پیشگی فیصلے کے طریقہ کار سے پہلے داخلے کا اشارہ ملتا ہے ، جبکہ سخت تجارتی شرائط اور خطرے سے متعلق اقدامات حکمت عملی کی استحکام کو یقینی بناتے ہیں۔ مزید اصلاح اور بہتری کے ذریعہ ، اس حکمت عملی کو حقیقی تجارت میں بہتر کارکردگی کا مظاہرہ کرنے کی امید ہے۔
/*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")