ڈبل بیٹم ریورسنگ میڈین ریورسنگ ڈی سی اے گرڈ حکمت عملی بنیادی طور پر اوسط ریورسنگ قیمت اور ڈی سی اے حکمت عملی کو بتدریج پوزیشن بلڈنگ کو نافذ کرنے کے لئے لاگو کرتی ہے۔ یہ ڈبل بیٹم ریورسنگ پیٹرن کی بنیاد پر ریورسنگ کے مواقع کا تعین کرتی ہے۔ ایک بار ریورسنگ پیٹرن ٹرگر ہوجانے کے بعد ، یہ ڈی سی اے کے ساتھ مل کر مختلف قیمتوں پر متعدد حد کے احکامات کا استعمال کرتا ہے تاکہ بتدریج گرڈ پوزیشن قائم کی جاسکے۔
حکمت عملی سب سے پہلے چیک کرتی ہے کہ آیا شمع دان کے چارٹ پر نیچے کے برابر دو لگاتار اختتامی قیمتیں ہیں ، جسے
خاص طور پر ، حالیہ 14 موم بتیوں پر اے ٹی آر اشارے کو پہلے ٹی اے ٹی آر کے ذریعہ حاصل کیا جاتا ہے۔ پھر حالیہ 5 موم بتیوں پر قیمت کی اتار چڑھاؤ کا حساب لگایا جاتا ہے۔ یہ گرڈ زون کا تعین کرنے کے لئے استعمال ہونے والے اہم پیرامیٹرز ہیں۔ گرڈ میں 4 قیمت کی سطح ہوتی ہے - نیچے کی قیمت + اتار چڑھاؤ ، نیچے کی قیمت + 0.75 * اتار چڑھاؤ ، اور اسی طرح۔ ایک بار جب ڈبل نیچے کی حالت ٹرگر ہوجاتی ہے تو ، اس فارمولے کے مطابق برابر سائز کے 4 حد کے احکامات دیئے جائیں گے۔ کئی موم بتیوں کے بعد غیر تکمیل شدہ احکامات منسوخ کردیئے جائیں گے۔
اس کے علاوہ ، حکمت عملی میں اسٹاپ نقصان کی قیمت اور منافع کی قیمت بھی طے کی جاتی ہے۔ اسٹاپ نقصان کی قیمت ڈبل نیچے مائنس ایک ٹِک سائز کی سب سے کم قیمت پر طے کی جاتی ہے ، جبکہ منافع کی قیمت داخلہ قیمت کے علاوہ 5 گنا اے ٹی آر پر طے کی جاتی ہے۔ جب پوزیشن کا سائز 0 سے زیادہ ہوتا ہے تو یہ دونوں قیمتیں حقیقی وقت میں اپ ڈیٹ ہوجاتی ہیں۔
اس حکمت عملی کے اہم فوائد یہ ہیں:
اہم خطرات:
کچھ ایسے شعبے جن میں بہتری آسکتی ہے:
ڈبل نیچے الٹ مطلب الٹ ڈی سی اے گرڈ حکمت عملی قیمت کے پیٹرن ، اشارے کی تکنیک اور گرڈ ٹریڈنگ کو مستحکم کرتی ہے۔ اس میں عین مطابق وقت ، قابل کنٹرول لاگت کی بنیاد اور ڈراؤنڈ پروٹیکشن ہے۔ ابھی بھی اصلاح کی گنجائش ہے اور تحقیق کے قابل ہے۔ مناسب طریقے سے تشکیل شدہ ، رینج سے منسلک مارکیٹوں میں اچھے نتائج حاصل کرسکتے ہیں۔
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cherepanovvsb //@version=5 strategy("Reversal (only long)", overlay=true, margin_long=1, margin_short=1,initial_capital=1000,commission_type = strategy.commission.percent,commission_value =0.1,currency='USD', process_orders_on_close=true) plotshape(low == low[1], style=shape.triangleup, location=location.belowbar, color=color.blue, title="1 Setup") plotshape(low == low[1] and low[1]==low[2], style=shape.triangleup, location=location.belowbar, color=color.red, title="Triple Setup") ATRlenght = input.int(title="ATR length for taking profit", defval=14, group="Strategy Settings") rewardMultiplier= input.int(title="ATR multiplier", defval=5, group="Strategy Settings") Volatility_length=input.int(title='Volatility length',defval=5,group="Strategy Settings") Volatility_multiplier=input.float(title='Volatility multiplier',defval=0.5,step=0.1, group="Strategy Settings") Candles_to_wait=input.int(title='How many candles to wait after placing orders grid?',defval=4,group="Strategy Settings") // Get ATR atr1 = ta.atr(ATRlenght) //Get volatility values (not ATR) float result = 0 for i = 0 to Volatility_length result+=high[i]-low[i] volatility=result*Volatility_multiplier/Volatility_length //Validate entrance points validlow = low [2]== low[1] and not na(atr1) validlong = validlow and strategy.position_size == 0 and low[1]<low // Calculate SL/TP longStopPrice = low[1]-syminfo.mintick longStopDistance = close - longStopPrice longTargetPrice = close + (longStopDistance * rewardMultiplier) strategy.initial_capital = 50000 //Assign all variables var tradeStopPrice = 0.0 var tradeTargetPrice = 0.0 var point1=0.0 var point2=0.0 var point3=0.0 var point4=0.0 var contracts = int(strategy.initial_capital/close)/4 if validlong tradeStopPrice := longStopPrice tradeTargetPrice := longTargetPrice point1:=low[1]+volatility point2:=low[1]+volatility*0.75 point3:=low[1]+volatility*0.5 point4:=low[1]+volatility*0.25 strategy.entry ("Long1", strategy.long,limit=point1,qty=contracts, when=validlong) strategy.entry ("Long2", strategy.long,limit=point2,qty=contracts, when=validlong) strategy.entry ("Long3", strategy.long,limit=point3,qty=contracts, when=validlong) strategy.entry ("Long4", strategy.long,limit=point4,qty=contracts, when=validlong) stopcondition = ta.barssince(validlong) == Candles_to_wait strategy.cancel("Long1",when=stopcondition) strategy.cancel("Long2",when=stopcondition) strategy.cancel("Long3",when=stopcondition) strategy.cancel("Long4",when=stopcondition) strategy.exit(id="Long Exit", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size > 0) plot(strategy.position_size != 0 or validlong ? tradeStopPrice : na, title="Trade Stop Price", color=color.red, style=plot.style_linebr, linewidth=3) plot(strategy.position_size != 0 or validlong ? tradeTargetPrice : na, title="Trade Target Price", color=color.green, style=plot.style_linebr, linewidth=3) plot(strategy.position_size != 0? point1 : na, title="Long1", color=color.green, style=plot.style_linebr, transp=0) plot(strategy.position_size != 0? point2 : na, title="Long2", color=color.green, style=plot.style_linebr, transp=0) plot(strategy.position_size != 0? point3 : na, title="Long3", color=color.green, style=plot.style_linebr, transp=0) plot(strategy.position_size != 0? point4 : na, title="Long4", color=color.green, style=plot.style_linebr, transp=0)