یہ حکمت عملی MACD اشارے کے دوہری حرکت پذیر اوسط کے کراس اوور کا حساب لگاکر خرید اور فروخت کے اشاروں کی نشاندہی کرتی ہے۔ یہ تجارتی اشاروں کی نشاندہی کرنے کے لئے چارٹ پر تیروں کو پلاٹ کرتی ہے۔
حکمت عملی سب سے پہلے فاسٹ لائن (12 پیریڈ ای ایم اے) ، سست لائن (26 پیریڈ ای ایم اے) اور ایم اے سی ڈی فرق کا حساب لگاتی ہے۔ اس کے بعد یہ تیز اور سست لائنوں کے کراس اوور کے ساتھ ساتھ ایم اے سی ڈی فرق کی مثبت / منفی قیمت کے مطابق طویل اور مختصر سگنل کا تعین کرتی ہے۔
جھوٹے سگنل کو فلٹر کرنے کے لئے ، کوڈ پچھلے موم بتی کے سگنل کی بھی جانچ کرتا ہے۔ موجودہ سگنل صرف اس صورت میں متحرک ہوتا ہے جب پچھلے موم بتی کے مخالف سگنل (خرید vs فروخت یا اس کے برعکس) ہوں۔
اس کے علاوہ، چارٹ پر اشارے خریدنے اور فروخت کرنے کے لئے تیر کی شکلیں دکھائی جاتی ہیں.
اس حکمت عملی کے فوائد میں شامل ہیں:
اس حکمت عملی کے کچھ خطرات:
حکمت عملی کو بہتر بنانے کے کچھ طریقے:
دوہری حرکت پذیر اوسط کراس اوور تیر کی حکمت عملی کافی آسان اور عملی ہے۔ دو حرکت پذیر اوسط اور ایم اے سی ڈی فرق فلٹرنگ کے کراس اوور کا استعمال کرتے ہوئے ، یہ درمیانی اور طویل مدتی رجحانات کے دوران اندراجات اور خارجی راستوں کی نشاندہی کرتا ہے ، جس سے قیمتوں میں ردوبدل سے گریز ہوتا ہے۔ تیر کے اشارے آپریشن کی واضح رہنمائی بھی فراہم کرتے ہیں۔ پیرامیٹر ٹیوننگ ، اضافی فلٹرز اور موافقت پذیر اصلاح کے ذریعے استحکام اور منافع میں مزید بہتری حاصل کی جاسکتی ہے۔
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Daniels stolen code strategy(shorttitle="Daniels Stolen Code", title="Daniels Stolen Code", overlay=true, calc_on_order_fills=true, pyramiding=0) //Define MACD Variables fast = 12, slow = 26 fastMACD = ema(hlc3, fast) slowMACD = ema(hlc3, slow) macd = fastMACD - slowMACD signal = sma(macd, 9) hist = macd - signal currMacd = hist[0] prevMacd = hist[1] currPrice = hl2[0] prevPrice = hl2[1] buy = currPrice > prevPrice and currMacd > prevMacd sell = currPrice < prevPrice and currMacd < prevMacd neutral = (currPrice < prevPrice and currMacd > prevMacd) or (currPrice > prevPrice and currMacd < prevMacd) //Plot Arrows timetobuy = buy==1 and (sell[1]==1 or (neutral[1]==1 and sell[2]==1) or (neutral[1]==1 and neutral[2]==1 and sell[3]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and sell[4]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and sell[5]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and neutral[5]==1 and sell[6]==1)) timetosell = sell==1 and (buy[1]==1 or (neutral[1]==1 and buy[2]==1) or (neutral[1]==1 and neutral[2]==1 and buy[3]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and buy[4]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and buy[5]==1) or (neutral[1]==1 and neutral[2]==1 and neutral[3]==1 and neutral[4]==1 and neutral[5]==1 and buy[6]==1)) plotshape(timetobuy, color=blue, location=location.belowbar, style=shape.arrowup) plotshape(timetosell, color=red, location=location.abovebar, style=shape.arrowdown) //plotshape(neutral, color=black, location=location.belowbar, style=shape.circle) //Test Strategy // strategy.entry("long", true, 1, when = timetobuy and time > timestamp(2017, 01, 01, 01, 01)) // buy by market if current open great then previous high // strategy.close("long", when = timetosell and time > timestamp(2017, 01, 01, 01, 01)) strategy.order("buy", true, 1, when=timetobuy==1 and time > timestamp(2019, 01, 01, 01, 01)) strategy.order("sell", false, 1, when=timetosell==1 and time > timestamp(2019, 01, 01, 01, 01)) // strategy.entry(id = "Short", long = false, when = enterShort()) // strategy.close(id = "Short", when = exitShort()) //strategy.entry("long", true, 1, when = open > high[1]) // enter long by market if current open great then previous high // strategy.exit("exit", "long", profit = 10, loss = 5) // ge