یہ ایک سادہ بریک آؤٹ حکمت عملی ہے جو کسی آلے کے اوپر یا نیچے کی رفتار کو ٹریک کرنے کے لئے دو مختلف صفر تاخیر ای ایم اے کے درمیان فرق کا استعمال کرتی ہے۔ جب فرق ترتیب دینے کے قابل معیاری انحراف کے بولنگر بینڈ کو توڑتا ہے تو ، بنیادی ای ایم اے کی سمت کی بنیاد پر طویل / مختصر سگنل تیار کیے جاتے ہیں۔
اسٹریٹجی میں دو خاص طور پر حساب شدہ ای ایم اے اشارے استعمال کیے جاتے ہیں تاکہ اتار چڑھاؤ کا فرق حاصل کیا جاسکے ، جیسا کہ ذیل کے فارمولوں میں دکھایا گیا ہے:
hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))
dif = (hJumper / lJumper) - 1
فرق فوری طور پر تاخیر کے بغیر قیمتوں میں تیزی سے تبدیلیوں کا جواب دیتا ہے۔
جب ڈیف اوپری بولنگر بینڈ سے اوپر جاتا ہے تو ، انٹری سگنل ٹرگر ہوتا ہے۔ جب ڈیف مڈل بولنگر بینڈ سے نیچے جاتا ہے تو ، آؤٹ سگنل ٹرگر ہوتا ہے۔ بیس ای ایم اے کی سمت طویل یا مختصر کا تعین کرتی ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ بغیر کسی تاخیر کے بریک آؤٹ سگنلز پر تیزی سے ردعمل ظاہر کرتا ہے۔ یہ دو خاص طور پر حساب کتاب والے زیرو لیگ ای ایم اے کا استعمال کرکے حاصل کیا جاتا ہے۔ اس سے حکمت عملی کو فوری طور پر قیمتوں میں بریک آؤٹ کے واقعات کو پکڑنے اور ابھرتے ہوئے رجحانات میں ابتدائی طور پر داخل ہونے کی اجازت ملتی ہے۔
اس حکمت عملی کا ایک اور فائدہ اس کی سادگی ہے۔ اس میں صرف ایک پیرامیٹر lx ہے۔ کم پیرامیٹرز سے اصلاح آسان ہوجاتی ہے اور اوور فٹنگ کا خطرہ کم ہوجاتا ہے۔
اس حکمت عملی کا بنیادی خطرہ سگنلز کا ممکنہ غلط بریک آؤٹ ہے۔ مختلف ادوار کے دوران لگاتار غلط بریک آؤٹ ہوسکتے ہیں۔ اس خطرے کو کم کرنے کے لئے ، ہم سگنل کو زیادہ مستحکم بنانے کے لئے بولنگر بینڈ کے ضرب کو بڑھا سکتے ہیں۔
ایک اور خطرہ ہنگامہ خیز منڈیوں کے دوران کثرت سے چھوٹی جیت / نقصانات ہیں۔ اس کو باہر نکلنے کے طریقہ کار کو ایڈجسٹ کرکے کم کیا جاسکتا ہے ، مثال کے طور پر اسٹاپ نقصان یا منافع کی قیمتوں کی سطح مقرر کرکے۔
ذیل میں اس حکمت عملی کو بہتر بنانے کے لئے کچھ ہدایات ہیں:
داخلہ سگنل کی توثیق اور جھوٹے سگنل کو کم کرنے کے لئے فلٹر اشارے شامل کریں.
تجارت کو بہتر طریقے سے منظم کرنے کے لئے اسٹاپ نقصان اور منافع حاصل کریں.
تجارتی حجم کی تصدیق کی تلاش کریں تاکہ حجم کے عزم کے بغیر جھوٹے بریک آؤٹ سے بچ سکیں۔
مارکیٹ کی اتار چڑھاؤ کی بنیاد پر پیرامیٹرز کو ایڈجسٹ کرنے کے لئے موافقت پذیر بولنگر بینڈ کو اپنائیں۔
مشین لرننگ کی بنیاد پر پیرامیٹرز کو متحرک طور پر بہتر بنائیں۔
خلاصہ یہ ہے کہ ، یہ صفر تاخیر اتار چڑھاؤ توڑنے والی ای ایم اے حکمت عملی بغیر کسی تاخیر کے خصوصی طور پر شمار کردہ ای ایم اے کا استعمال کرکے قیمت کی رفتار کو تیزی سے پکڑتی ہے۔ اگلے مرحلے میں اصلاحات میں فلٹرز ، اسٹاپ نقصان / منافع ، حجم کی تصدیق وغیرہ شامل ہوسکتی ہیں تاکہ حکمت عملی کو مختلف مارکیٹ کے ماحول میں مضبوط بنایا جاسکے۔
/*backtest start: 2024-01-07 00:00:00 end: 2024-01-14 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © wbburgin //@version=5 strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false) tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+ " exposes you to more risk but potentially could generate larger returns." src = input.source(close,"Source") lx = input.int(200,"EMA Difference Length") bbmult = input.float(2.0,"Standard Deviation Multiple") useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1) hJumper = math.max(src,ta.ema(src,lx)) lJumper = math.min(src,ta.ema(src,lx)) dif = (hJumper / lJumper) - 1 [bbm,bbu,bbl] = ta.bb(dif,lx,bbmult) plot(dif,color=color.white,title="Zero lag EMA Difference") plot(bbu,color=color.lime,title="Bollinger Top") plot(bbl,color=color.red,title="Bollinger Bottom") plot(bbm,color=color.yellow,title="Bollinger Middle") sigEnter = ta.crossover(dif,bbu) sigExit = ta.crossunder(dif,bbm) emaBase = ta.ema(src,lx) enterLong = sigEnter and emaBase > emaBase[1] enterShort = sigEnter and emaBase < emaBase[1] plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny) plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny) if enterLong strategy.entry("Long",strategy.long) if enterShort strategy.entry("Short",strategy.short) if not useBinaryStrategy and sigExit strategy.close("Long") strategy.close("Short")