
یہ حکمت عملی MACD آسکیلیٹر کو تشکیل دینے کے لئے تیز رفتار EMA اور سست رفتار EMA کے فرق کا حساب لگاتا ہے ، اور پھر MACD کی اوسط لائن کا حساب لگاتا ہے تاکہ سگنل لائن تشکیل دی جاسکے ، اس طرح ایک ڈبل فلٹر سسٹم بنایا جاسکے۔ جب MACD لائن نیچے سے سگنل لائن کو عبور کرتی ہے تو خریدنے کا اشارہ پیدا ہوتا ہے ، اور جب MACD لائن اوپر سے نیچے سے سگنل لائن کو عبور کرتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے ، قیمتوں میں قلیل مدتی وسط مدتی اتار چڑھاو کا فائدہ اٹھاتے ہوئے۔
اس حکمت عملی کا بنیادی اشارے MACD کمپریسر ہے ، جس کا حساب کتاب تیز رفتار EMA ((عام طور پر 12 دن کا EMA) سے کم سست رفتار EMA ((عام طور پر 26 دن کا EMA) سے کیا جاتا ہے۔ تیز رفتار EMA زیادہ حساس ہے ، جو قیمتوں میں آنے والے قلیل مدتی اتار چڑھاؤ کو پکڑ سکتا ہے۔ سست رفتار EMA قیمتوں میں ہونے والی تبدیلیوں کا جواب دینے میں زیادہ آہستہ ہے۔ دونوں کو کم کرکے ایک کمپریسر تشکیل دیا جاسکتا ہے جو قلیل مدتی اور درمیانی مدت کی قیمتوں میں تبدیلی کے فرق کی نمائندگی کرتا ہے۔ اس کے بعد MACD کمپریسر کے حساب سے اس کی EMA ((عام طور پر 9 دن کی ترتیب) ، سگنل لائن حاصل کی جاتی ہے۔ جب MACD سگنل لائن سے نیچے کی طرف سے گزرتا ہے تو ، مختصر مدت کے رجحانات کی طرف اشارہ کرتا ہے جو درمیانی مدت کے رجحانات سے زیادہ مضبوط ہوتا ہے ، خریدنے کا اشارہ پیدا کرتا ہے۔ جب MACD سگنل لائن سے نیچے کی طرف سے گزرتا ہے تو ، مختصر مدت کے رجحانات کی طرف اشارہ کرتا ہے جو درمیانی مدت کے رجحانات سے زیادہ مضبوط
اس حکمت عملی میں ان پٹ پیرامیٹرز کو ترتیب دیا گیا ہے: فوری لائن کی لمبائی ، سست لائن کی لمبائی ، قیمت کا ماخذ ، سگنل لائن کی لمبائی ہموار دورے۔ مختلف مارکیٹوں کے مطابق پیرامیٹرز کو ایڈجسٹ کرکے ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔ پس منظر کا رنگین بلاک پیمائش کے وقت کی حد کو ظاہر کرتا ہے۔ حکمت عملی اس وقت کی حد کے باہر پوزیشن کھولتی ہے ، اس سے باہر کام نہیں کرتی ہے۔
MACD اشارے کلاسیکی اور سمجھنے میں آسان ہیں ، جو مختصر اور درمیانی مدت کے الٹ پھانسی کے مواقع کو مؤثر طریقے سے استعمال کرسکتے ہیں۔
ڈبل ای ایم اے کے ساتھ تعمیر کردہ ایم اے سی ڈی سسٹم میں سنگل ایم اے سسٹم کے مقابلے میں بہتر ہموار ہے۔
زیادہ سے زیادہ پیرامیٹرز کو ایڈجسٹ کیا جا سکتا ہے، مختلف مارکیٹوں کے لئے پیرامیٹرز کو بہتر بنایا جا سکتا ہے.
اعلی معیار کے سگنل کو شناخت کرنے کے لئے مشترکہ ٹرانسمیشن اشارے.
زلزلے کے حالات میں ، MACD اشارے زیادہ غلط سگنل پیدا کرتا ہے۔
ٹرینڈ کا اندازہ نہیں لگایا جاسکتا ہے اور اس سے کراس ٹرینڈ کے نقصانات ہوسکتے ہیں۔
تاہم ، اس کے باوجود ، اس کے باوجود ، اس کے باوجود ، اس کے باوجود ، اس کے باوجود ، اس کے باوجود۔
پیرامیٹرز کی ترتیب کو بہتر بنانے کے لئے زیادہ سے زیادہ مارکیٹ کے اعداد و شمار کو یکجا کرنے کی ضرورت ہے، دوسری صورت میں مارکیٹ کے ایک حصے کو زیادہ سے زیادہ کیا جا سکتا ہے.
رجحان کا فیصلہ کرنے والے اشارے کے ساتھ مل کر ، اسٹاپ نقصان کا طریقہ کار ترتیب دے کر خطرے کو کنٹرول کیا جاسکتا ہے۔ اس کے ساتھ ساتھ پیرامیٹرز کی اصلاح کے لئے ریٹرننگ اسکوپ اور مارکیٹ کے نمونے لینے کی جگہ کو بڑھا دیا جاسکتا ہے۔
قیمتوں کے مختلف ذرائع جیسے اختتامی قیمت، اوسط قیمت، ری سیٹ قیمت وغیرہ کی جانچ کریں۔
مزید تاریخی اعداد و شمار کی بنیاد پر بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
دیگر اشارے کو ضم کر کے سگنل کے معیار کا تعین کریں۔ مثال کے طور پر ٹریفک سگنل۔
رجحانات اور طول و عرض کے فیصلے کے ساتھ مل کر ، رجحانات کے ساتھ بڑے تنازعات سے بچنے کے لئے۔
یہ حکمت عملی ڈبل ای ایم اے فلٹرز کی تعمیر کے ذریعے ، قیمتوں میں مختصر لکیری دورانیے کے الٹ پھانسی کے رجحان کو پکڑنے کے لئے ، کلاسیکی اور عملی وقت کی حکمت عملی میں سے ایک ہے۔ پیرامیٹرز کی اصلاح ، سگنل فلٹرنگ ، اور نقصان کو روکنے کے ذریعہ خطرے کو کنٹرول کیا جاسکتا ہے۔ اس کے ساتھ ساتھ رجحان کے فیصلے کے اشارے کے ساتھ مل کر ، نیچے کی چوٹی کو روکنے سے بچنے کے لئے ، مستحکم منافع حاصل کیا جاسکتا ہے۔
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="MACD Histogram Backtest", shorttitle="MACD")
// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
grow = (hist[1] < hist)
fall = (hist[1] > hist) and hist >= 0
stop = (hist[1] > hist)
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
//Strategy Testing
// Component Code Start
// Example usage:
// if testPeriod()
// strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Code Stop
//Entry and Close settings
if testPeriod()
strategy.entry("grow", true, 10, when = grow, limit = close)
strategy.close("grow", when = fall)
strategy.close("grow", when = stop)
//if testPeriod()
// strategy.entry("fall", false, 1000, when = fall, limit = close)
// strategy.close("fall", when = grow)