ڈبل باٹم ریورسل موونگ ایوریج DCA گرڈ اسٹریٹجی


تخلیق کی تاریخ: 2024-02-20 11:09:33 آخر میں ترمیم کریں: 2024-02-20 11:09:33
کاپی: 3 کلکس کی تعداد: 839
1
پر توجہ دیں
1617
پیروکار

ڈبل باٹم ریورسل موونگ ایوریج DCA گرڈ اسٹریٹجی

جائزہ

ڈبل نیچے ریورس اوسط لائن ڈی سی اے گرڈ حکمت عملی بنیادی طور پر اوسط لائن قیمت ریورس اور ڈی سی اے حکمت عملی پر لاگو ہوتی ہے تاکہ گرڈ کو تدریجی طور پر پوزیشن بنایا جاسکے۔ یہ ڈبل نیچے ریورس شکل کی بنیاد پر ریورس مواقع کا فیصلہ کرتا ہے۔ ایک بار جب ریورس شکل کو متحرک کیا جاتا ہے تو ، متعدد مختلف قیمتوں کے احکامات کا استعمال کرتے ہوئے ، ڈی سی اے کے ساتھ مل کر گرڈ کی پوزیشنوں کو تدریجی طور پر قائم کریں۔

حکمت عملی کا اصول

حکمت عملی سب سے پہلے یہ فیصلہ کرتی ہے کہ کیا K لائن میں دو بار لگاتار بند ہونے والی قیمتوں کے برابر نچلے حصے پائے جاتے ہیں ، جس کو جھاڑو ڈبل نیچے کہا جاتا ہے۔ اگر ڈبل نیچے کا پتہ لگایا جاتا ہے تو ، یہ سمجھا جاتا ہے کہ قیمتوں میں الٹ ہونے کا موقع ہوسکتا ہے۔ اس وقت ، حکمت عملی نچلے حصے کے قریب ایک سے زیادہ محدود قیمت کے احکامات رکھتی ہے ، جس کی قیمتیں اے ٹی آر اور اتار چڑھاؤ کی شرح کے حساب سے ایک گرڈ زون بناتی ہیں۔ اس سے ڈی سی اے کا اثر ہوتا ہے ، جس سے تاجر مختلف قیمتوں پر الٹ جانے والے مقامات پر تدریجی طور پر پوزیشن بنا سکتا ہے۔

خاص طور پر ، پہلے ta.atr کے ذریعہ تازہ ترین 14 K لائنوں کے لئے اے ٹی آر اشارے کا حساب لگائیں ، اور پھر تازہ ترین 5 K لائنوں کے ساتھ قیمت کی اتار چڑھاؤ کی شرح کا حساب لگائیں ، جو کہ گرڈ بینڈ کی شناخت کے لئے اہم پیرامیٹرز ہیں۔ گرڈ بینڈ کو 4 قیمت پوائنٹس میں تقسیم کیا گیا ہے ، بالترتیب نیچے کی قیمت + اتار چڑھاؤ کی شرح ، نیچے کی قیمت + 0.75 گنا اتار چڑھاؤ کی شرح ، اور اسی طرح۔ جب ڈبل نیچے کی شرائط کو متحرک کیا جاتا ہے تو ، اس حساب کتاب کے فارمولے کے مطابق ، اس قیمت پر 4 حد کے احکامات مرتب کیے جاتے ہیں ، ہر ایک کے برابر مقدار میں۔ غیر منقولہ منسلک واحد خود بخود آرڈر کو واپس لے جائے گا جب مقرر کردہ انگوٹھے کی تعداد طے ہوجائے گی۔

اس کے علاوہ ، حکمت عملی میں ایک اسٹاپ نقصان اور ایک اسٹاپ آؤٹ پوزیشن بھی رکھی جاتی ہے۔ اسٹاپ نقصان کی قیمت ڈبل نیچے کی کم از کم قیمت ہے - کم سے کم بیئرنگ کی قیمت ، اور اسٹاپ قیمت انٹری کی قیمت + اے ٹی آر اشارے سے 5 گنا ہے۔ جب پوزیشن کی پوزیشن 0 نہیں ہوتی ہے تو ، دونوں قیمتیں اصل وقت میں اپ ڈیٹ ہوجاتی ہیں۔

طاقت کا تجزیہ

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. ڈبل نیچے کا استعمال کرتے ہوئے ، پلٹ کے وقت کا تعین کرنے سے ، جعلی توڑ سے بچنے کے لئے موثر ہے۔
  2. ڈی سی اے گرڈ ڈیزائن کیا گیا ہے تاکہ تاجروں کو پوزیشن کی لاگت کو کم کرنے کے لئے مختلف قیمتوں پر پوزیشنوں کو کم کرنے کی اجازت دی جاسکے۔
  3. اے ٹی آر اور اتار چڑھاؤ کی شرح پیرامیٹرز مارکیٹ میں تبدیلیوں کے مطابق گرڈ اور اسٹاپ اسپیس کو متحرک طور پر ایڈجسٹ کرسکتے ہیں۔
  4. خود کار طریقے سے نقصان کو روکنے کا طریقہ کار مؤثر طریقے سے انفرادی نقصان کو کنٹرول کرسکتا ہے۔

خطرے کا تجزیہ

اہم خطرات:

  1. قیمتوں میں ردوبدل نہیں ہوسکتا ہے ، براہ راست ڈبل نیچے کی حمایت کی سطح سے نیچے گر جاتا ہے۔ اس وقت اسٹاپ نقصان کو متحرک کیا جاتا ہے ، جس سے نقصان ہوتا ہے۔ آپ اسٹاپ نقصان کی فاصلے کو مناسب طریقے سے بڑھا سکتے ہیں۔
  2. ڈی سی اے گرڈ کی جگہ کا تعین غلط ہے ، زیادہ تر ٹرانزیکشن غیر فعال ہیں۔ مختلف پیرامیٹرز کی جانچ کی جاسکتی ہے تاکہ ٹرانزیکشن کی شرح کو یقینی بنایا جاسکے۔
  3. جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے تو ، اسٹاپ بار بار ٹرگر کیا جاسکتا ہے۔ اسٹاپ ضرب کو مناسب طریقے سے بڑھانے پر غور کیا جاسکتا ہے۔

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:

  1. رجحانات کا اندازہ لگانے میں اضافہ کریں ، صرف زیادہ تر رجحانات کو دیکھنے کے لئے الٹا کام کریں ، تاکہ بڑے رجحانات سے محروم نہ ہوں۔
  2. پہلی واحد پوزیشن کو بڑھانے پر غور کریں ، بعد میں گرڈ پوزیشن کو آہستہ آہستہ کم کریں ، فنڈز کے استعمال کی کارکردگی کو بہتر بنائیں۔
  3. مختلف پیرامیٹرز کے مجموعے کی جانچ کریں ، بہترین پیرامیٹرز تلاش کریں۔ متحرک پیرامیٹرز کو ڈیزائن کیا جاسکتا ہے ، جو مارکیٹ کے مطابق حقیقی وقت میں ایڈجسٹ ہوتا ہے۔
  4. اعلی درجے کی پلیٹ فارم میں مشین لرننگ کو ضم کرنے کے لئے پیرامیٹرز کو خود کار طریقے سے بہتر بنانے کے لئے.

خلاصہ کریں۔

ڈبل نیچے ریورس اوسط لائن ڈی سی اے گرڈ حکمت عملی میں متعدد تکنیکی ذرائع جیسے قیمت کی شکل ، اوسط لائن اشارے ، اور گرڈ ٹریڈنگ کا استعمال کیا گیا ہے۔ اس میں فیصلے کے وقت کی درستگی ، لاگت پر قابو پانے ، اور واپسی کے تحفظ جیسے فوائد ہیں۔ اس حکمت عملی کو بہتر بنانے کی گنجائش بہت بڑی ہے ، جو گہری تحقیق اور اطلاق کے قابل ہے۔ اگر پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کیا جائے تو ، زلزلے کی صورت حال میں اچھے نتائج حاصل کیے جاسکتے ہیں۔

حکمت عملی کا ماخذ کوڈ
/*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)