تھری بار اور فور بار بریک آؤٹ ریورس کی حکمت عملی تین یا چار K لائن باروں کی نشاندہی کرتی ہے جن میں مضبوط رفتار ہوتی ہے ، اور کئی چھوٹے رینج K باروں کی حمایت / مزاحمت کی سطحوں کی تشکیل اور الٹ سگنل سامنے آنے کے بعد مخالف رجحان کی تجارت کرتی ہے۔ یہ اوسط الٹ کی حکمت عملی سے تعلق رکھتا ہے۔
اس حکمت عملی کی بنیادی شناخت کے منطق میں شامل ہیں:
بڑی رینج بار (گیپ بار) کو پہچانیں: توڑ 1.5 ایکس اے ٹی آر ، جس میں جسم کا فیصد 65٪ سے زیادہ ہے۔ ان کو مضبوط رفتار سمجھا جاتا ہے۔
کم رینج باروں کو پہچانیں (جمع کرنے والی سلاخیں): گیپ باروں کے بعد ایک یا دو بعد کے چھوٹے رینج بار ، جس میں گیپ باروں کے قریب اعلی / کم سطح ہوتی ہے۔ وہ رفتار اور استحکام کو سست کرنے کی نمائندگی کرتے ہیں ، جو سپورٹ / مزاحمت کی سطح تشکیل دیتے ہیں۔
ریورس سگنل باروں کو پہچانیں: اگر ایک بار مضبوطی کے بعد پچھلے باروں کے اعلی / کم سے گزرتا ہے تو ، اسے ریورس سگنل سمجھا جاسکتا ہے۔ ہم سگنل بار کی سمت کی بنیاد پر پوزیشن لیتے ہیں۔
اسٹاپ نقصان اور منافع لیں: گیپ بار کے کم / اعلی پوائنٹس سے نیچے / اس سے اوپر اسٹاپ نقصان مقرر کریں۔ منافع لینے کا تعین اسٹاپ نقصان کے فاصلے سے خطرہ انعام تناسب کو ضرب دینے سے کیا جاتا ہے۔
اس حکمت عملی کے اہم فوائد:
خام قیمت کی کارروائی کا استعمال کرتے ہوئے رجحانات اور تبدیلیوں کی نشاندہی کریں، کوئی اشارے کی ضرورت نہیں ہے.
گیپ بارز اور مجموعی بارز پر سخت قوانین حقیقی رجحانات اور استحکام کو پکڑنے میں درستگی کو یقینی بناتے ہیں.
جسموں کی طرف سے ریورس بار کا فیصلہ غلط سگنل کو کم کرتا ہے.
ہر تجارت میں صرف تین سے چار بار لگتے ہیں۔ مختصر ہولڈنگ مدت کے ساتھ اعلی تعدد۔
سٹاپ نقصان اور منافع لینے کے بارے میں واضح قوانین خطرے کے انتظام کو آسان بناتے ہیں۔
اہم خطرات:
پیرامیٹر کی ترتیبات پر انحصار کرتا ہے۔ لوز پیرامیٹرز غلط سگنل اور کھونے والی تجارت میں اضافہ کرتے ہیں۔
جعلی فرار کے لئے کمزور اور تمام جھوٹے سگنل کو فلٹر کرنے کے قابل نہیں.
ناکامی سے بچنے کی کوششوں کے بعد استحکام میں پھنس جانے کا خطرہ۔ ایسے معاملات میں نقصانات کو کم کرنا مشکل ہے۔
وسیع سٹاپ نقصان کی حد کا مطلب ہے کہ جب پھنس جاتے ہیں تو کبھی کبھار بڑے نقصانات ہوتے ہیں۔
خطرات کو کم کرنے کے لئے:
گیپ بارز اور جمع کرنے والے بارز کی شناخت کے لئے پیرامیٹرز کو بہتر بنائیں.
پوزیشنوں کو داخل کرنے سے پہلے تصدیق بار جیسے فلٹرز شامل کریں.
سٹاپ نقصان کے الگورتھم کو بہتر بنائیں تاکہ وہ زیادہ موافقت پذیر ہوں۔
اصلاح کی اہم سمتیں:
جعلی بریک آؤٹ سے بچنے کے لئے مرکب فلٹر شامل کریں، مثال کے طور پر حجم میں اضافہ کی ضرورت ہے.
چلتی اوسط کے ساتھ مل کر، صرف اس وقت سگنل لیتے ہیں جب کلیدی ایم اے کی سطح توڑ دی جاتی ہے.
تجارت میں داخل ہونے سے پہلے متعدد ٹائم فریموں میں اتفاق کی ضرورت ہوتی ہے۔
مارکیٹ کی اتار چڑھاؤ اور خطرے کی ترجیح کی بنیاد پر منافع کے اہداف کو متحرک طور پر ایڈجسٹ کریں۔
مارکیٹ کے نظام کی نشاندہی کے نظام کے ساتھ مل کر، صرف رجحان ماحول میں حکمت عملی کو چالو کریں.
یہ اصلاحات استحکام اور منافع کو مزید بہتر بنا سکتی ہیں۔
تھری بار اور فور بار بریک آؤٹ ریورس کی حکمت عملی کا مقصد اعلی معیار کے رجحان کی نقل و حرکت اور الٹ ٹریڈز کو پکڑنا ہے۔ اس کا فائدہ مختصر ہولڈنگ پیریڈ اور اعلی تعدد ہے۔ اس کے ساتھ ساتھ اندرونی خطرات بھی ہیں جن کو مسلسل اصلاح کے ذریعے کم کرنے کی ضرورت ہے۔ خام قیمت کی کارروائی سے خود مختار رجحان اور الٹ سگنل کی موثر شناخت کرکے ، یہ حکمت عملی مزید تحقیق اور درخواست کی ضمانت دیتی ہے۔
/*backtest start: 2023-12-10 00:00:00 end: 2023-12-17 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Three (3)-Bar and Four (4)-Bar Plays Strategy", shorttitle="Three (3)-Bar and Four (4)-Bar Plays Strategy", overlay=true, calc_on_every_tick=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity) frommonth = input(defval = 1, minval = 01, maxval = 12, title = "From Month") fromday = input(defval = 1, minval = 01, maxval = 31, title = "From day") fromyear = input(defval = 2021, minval = 1900, maxval = 2100, title = "From Year") tomonth = input(defval = 12, minval = 01, maxval = 12, title = "To Month") today = input(defval = 31, minval = 01, maxval = 31, title = "To day") toyear = input(defval = 2100, minval = 1900, maxval = 2100, title = "To Year") garBarSetting1 = input(defval = 1.5, minval = 0.0, maxval = 100.0, title = "Gap Bar Size", type = input.float) garBarSetting2 = input(defval = 0.65, minval = 0.0, maxval = 100.0, title = "Gap Bar Body Size", type = input.float) TopSetting = input(defval = 0.10, minval = 0.0, maxval = 100.0, title = "Bull Top Bar Size", type = input.float) profitMultiplier = input(defval = 2.0, minval = 1.0, maxval = 100.0, title = "Profit Multiplier", type = input.float) // ========== 3-Bar and 4-Bar Play Setup ========== barSize = abs(high - low) bodySize = abs(open - close) gapBar = (barSize > (atr(1000) * garBarSetting1)) and (bodySize >= (barSize * garBarSetting2)) // find a wide ranging bar that is more than 2.5x the size of the average bar size and body is at least 65% of bar size bullTop = close > close[1] + barSize[1] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (first collecting bull bar) bullTop2 = close > close[2] + barSize[2] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (first collecting bear bar) bearTop = close < close[1] - barSize[1] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (second collecting bull bar) bearTop2 = close < close[2] - barSize[2] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (second collecting bear bar) collectingBarBull = barSize < barSize[1] / 2 and low > close[1] - barSize[1] / 2 and bullTop // find a collecting bull bar collectingBarBear = barSize < barSize[1] / 2 and high < close[1] + barSize[1] / 2 and bearTop // find a collecting bear bar collectingBarBull2 = barSize < barSize[2] / 2 and low > close[2] - barSize[2] / 2 and bullTop2 // find a second collecting bull bar collectingBarBear2 = barSize < barSize[2] / 2 and high < close[2] + barSize[2] / 2 and bearTop2 // find a second collecting bear bar triggerThreeBarBull = close > close[1] and close > close[2] and high > high[1] and high > high[2] // find a bull trigger bar in a 3 bar play triggerThreeBarBear = close < close[1] and close < close[2] and high < high[1] and high < high[2] // find a bear trigger bar in a 3 bar play triggerFourBarBull = close > close[1] and close > close[2] and close > close[3] and high > high[1] and high > high[2] and high > high[3] // find a bull trigger bar in a 4 bar play triggerFourBarBear = close < close[1] and close < close[2] and close < close[3] and high < high[1] and high < high[2] and high < high[3] // find a bear trigger bar in a 4 bar play threeBarSetupBull = gapBar[2] and collectingBarBull[1] and triggerThreeBarBull // find 3-bar Bull Setup threeBarSetupBear = gapBar[2] and collectingBarBear[1] and triggerThreeBarBear // find 3-bar Bear Setup fourBarSetupBull = gapBar[3] and collectingBarBull[2] and collectingBarBull2[1] and triggerFourBarBull // find 4-bar Bull Setup fourBarSetupBear = gapBar[3] and collectingBarBear[2] and collectingBarBear2[1] and triggerFourBarBear // find 4-bar Bear Setup labels = input(title="Show Buy/Sell Labels?", type=input.bool, defval=true) plotshape(threeBarSetupBull and labels, title="3-Bar Bull", text="3-Bar Play", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.green, textcolor=color.white, transp=0) plotshape(threeBarSetupBear and labels, text="3-Bar Bear", title="3-Bar Play", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.red, textcolor=color.white, transp=0) plotshape(fourBarSetupBull and labels, title="4-Bar Bull", text="4-Bar Play", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.green, textcolor=color.white, transp=0) plotshape(fourBarSetupBear and labels, text="4-Bar Bear", title="4-Bar Play", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.red, textcolor=color.white, transp=0) alertcondition(threeBarSetupBull or threeBarSetupBear or fourBarSetupBull or fourBarSetupBear, title="3-bar or 4-bar Play", message="Potential 3-bar or 4-bar Play") float sl = na float tp = na sl := nz(sl[1], 0.0) tp := nz(tp[1], 0.0) plot(sl==0.0?na:sl,title='SL', color = color.red) plot(tp==0.0?na:tp,title='TP', color = color.green) if (true) if threeBarSetupBull and strategy.position_size <=0 strategy.entry("3 Bar Long", strategy.long, when=threeBarSetupBull) sl :=low[1] if threeBarSetupBear and strategy.position_size >=0 strategy.entry("3 Bar Short", strategy.short, when=threeBarSetupBull) sl :=high[1] if fourBarSetupBull and strategy.position_size <=0 strategy.entry("4 Bar Long", strategy.long, when=fourBarSetupBull) sl :=min(low[1], low[2]) if fourBarSetupBear and strategy.position_size >=0 strategy.entry("4 Bar Short", strategy.short, when=fourBarSetupBear) sl :=max(high[1], high[2]) if sl !=0.0 if strategy.position_size > 0 tp := strategy.position_avg_price + ((strategy.position_avg_price - sl) * profitMultiplier) strategy.exit(id="Exit", limit=tp, stop=sl) if strategy.position_size < 0 tp := strategy.position_avg_price - ((sl - strategy.position_avg_price) * profitMultiplier) strategy.exit(id="Exit", limit=tp, stop=sl)