حکمت عملی کے بعد موافقت کا رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-01-15 14:20:32
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا بنیادی اشارے بولنگر بینڈ ہے۔ بولنگر بینڈ میں ایک درمیانی بینڈ ، ایک اوپری بینڈ اور ایک نچلی بینڈ شامل ہیں۔ درمیانی بینڈ این ڈے سادہ چلتی اوسط ہے ، اوپری بینڈ درمیانی بینڈ + کے گنا این ڈے معیاری انحراف ہے ، اور نچلی بینڈ درمیانی بینڈ ہے - کے گنا این ڈے معیاری انحراف۔ یہاں ہم بولنگر بینڈ کی تعمیر کے لئے 20 دن کی درمیانی بینڈ اور 2 گنا معیاری انحراف کا انتخاب کرتے ہیں۔

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

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

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

حکمت عملی کے فوائد

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

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

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

  3. درست اندراج کا وقت۔ اوپری اور نچلی ریلوں کا توڑ مؤثر طریقے سے مارکیٹ کے شور کو فلٹر کرسکتا ہے اور رجحانات کے افتتاح کو پکڑنے کا ایک اعلی امکان یقینی بناتا ہے۔

  4. اسٹاپ نقصان کا طریقہ کار۔ بلٹ ان اسٹاپ نقصان کا طریقہ کار مؤثر طریقے سے واحد نقصان کو کنٹرول کرسکتا ہے ، جو اس حکمت عملی کا ایک بڑا فائدہ ہے۔

حکمت عملی کے خطرات

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. پیرامیٹرز کی اعلی حساسیت۔ بولنگر بینڈ کے دورانیہ n اور ضرب کار k کے نتائج پر بہت زیادہ اثر پڑتا ہے ، لہذا پیرامیٹرز کا بہترین مجموعہ تلاش کرنے کے لئے بار بار جانچ کی ضرورت ہوتی ہے۔

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

  3. کبھی کبھار جھوٹے سگنل۔ بولنگر بینڈ کی حکمت عملی کامل نہیں ہیں ، اس میں بھی ایک خاص مقدار میں جھوٹے سگنل پیدا ہوں گے ، جس سے متعلقہ نقصانات برداشت کرنا ضروری ہے۔

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

حکمت عملی کی اصلاح کی ہدایات

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

  1. مختلف کرنسیوں اور سائیکل پیرامیٹرز کے اثرات کی جانچ کریں۔ حکمت عملی کی موافقت کو بہتر بنانے کے ل the حکمت عملی کے پیرامیٹرز کو مختلف کرنسیوں اور سائیکلوں کے لئے بہتر بنایا جاسکتا ہے۔

  2. اسٹاپ نقصان کے طریقہ کار کو بہتر بنائیں۔ اسٹاپ نقصان کو زیادہ ذہین بنانے کے لئے اسٹاپ نقصان کو منتقل کرنا ، اسٹاپ نقصان کو ہلکا کرنا ، اسٹاپ نقصان کو پیچھے چھوڑنا وغیرہ متعارف کرایا جاسکتا ہے۔

  3. انٹری سگنلز کو فلٹر کرنے کے لئے دوسرے اشارے شامل کریں۔ ضمنی طور پر دوڑتے ہوئے بازاروں میں بولنگر بینڈ سے غلط سگنل سے بچنے کے لئے ایم اے سی ڈی ، کے ڈی جے وغیرہ جیسے اشارے شامل کیے جاسکتے ہیں۔

  4. پوزیشن مینجمنٹ میکانزم شامل کریں۔ حکمت عملیوں کی منافع بخش کو بہتر بنانے کے لئے ٹریکنگ اسٹاپ منافع ، پرامڈ ٹریڈنگ ، فکسڈ تناسب پوزیشن وغیرہ کے انتظام کے طریقوں کو نافذ کریں۔

  5. بیک ٹسٹ کی اصلاح کریں۔ بیک ٹسٹ ٹائم فریم کو بڑھا کر ، پیرامیٹرز کو ایڈجسٹ کرکے ، بیک ٹسٹ رپورٹس کا تجزیہ کرکے وغیرہ کو بہترین پیرامیٹرز تلاش کرنے کے ل strategy حکمت عملی کے نتائج کا جامع جائزہ لیں۔

نتیجہ

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


/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[Th] Adaptive Trend v1", shorttitle="[TH] Adaptive Trend", overlay=true)

Pd=input(2, minval=1,maxval = 100, title="Period")
Bw=input(50, minval=1,maxval = 100, title="Bandwidth")
minFactor = input(0.5, minval=0.1, maxval=1.0, step=0.1, title="Minimum Factor")
maxFactor = input(3.00, minval=0.2, maxval=5.0, step=0.1, title="Maximum Factor")
plot_trend=input(true, title="Plot trend")

plot_losscut = input(true, title="Plot losscut")

/////////////// Calculate the BB's ///////////////
basisBB = ema(close, 20)
devBB     = 2 * stdev(close, 20)
upperBB = basisBB + devBB
lowerBB = basisBB - devBB
//plot(upperBB)
//plot(lowerBB)

///////////// Trend ////////////////////////////

rawFactor = ((upperBB-lowerBB)/basisBB)*Bw
Factor = rawFactor > minFactor ? (rawFactor > maxFactor ? maxFactor : rawFactor) : minFactor

Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
TrendUpPlot=plot(plot_trend?TrendUp:na, style=line, color=green, linewidth=1)
TrendDownPlot=plot(plot_trend?TrendDown:na, style=line, color=red, linewidth=1)
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
fill(TrendUpPlot,TrendDownPlot, color=Trend == 1 ? green : red, transp=80)
sig_trend_long = Trend[1] == -1 and Trend == 1
sig_trend_short = Trend[1] == 1 and Trend == -1

///////////// Loss Cut ////////////////////////////
price_cut = sig_trend_long[1] or sig_trend_short[1] or sig_reentry_long[1] or sig_reentry_short[1] ? open : price_cut[1] 
current_trend = sig_trend_long[1] ? 1 : (sig_trend_short[1] ? -1 : current_trend[1])

sig_loss_cut = sig_trend_long or sig_trend_short ? false : ( current_trend == 1 ? (price_cut > low) : (current_trend == -1 ? (price_cut < high) : false) )
has_position = sig_loss_cut ? false : ((sig_trend_long[1] or sig_trend_short[1] or sig_reentry_long[1] or sig_reentry_short[1]) ? true : has_position[1])
sig_reentry_long = not has_position and current_trend == 1 and low > price_cut
sig_reentry_short = not has_position and current_trend == -1 and high < price_cut

bgcolor(plot_losscut and ( not has_position or sig_loss_cut ) ? silver : white, transp=70)
plotshape(plot_losscut and sig_loss_cut and current_trend == 1? 1 : na, color=green, style=shape.xcross, location=location.belowbar ,size=size.tiny)
plotshape(plot_losscut and sig_loss_cut and current_trend == -1? 1 : na, color=red, style=shape.xcross, location=location.abovebar ,size=size.tiny)

LossCutPlot = plot(plot_losscut ? price_cut : na, linewidth=4, color=black, transp=60)
fill(TrendDownPlot, LossCutPlot, color=silver, transp=90)

plotshape(sig_trend_long or sig_reentry_long ? Trend : na, title="Up Entry Arrow", color=green, style=shape.triangleup, location=location.belowbar, size=size.tiny)
plotshape(sig_trend_short or sig_reentry_short ? Trend : na, title="Down Entry Arrow",color=red, style=shape.triangledown, size=size.tiny)
    
    
///////////// Strategy //////////////////////////// 
if true

    strategy.entry('long', long=strategy.long, comment='Long', when=sig_trend_long or sig_reentry_long)
    strategy.entry('short', long=strategy.short, comment='Short', when=sig_trend_short or sig_reentry_short)
    
    if(current_trend == 1)
        strategy.close('long', when=sig_loss_cut == true) 
        //strategy.exit('lc',from_entry='long', stop=price_cut)
    
    if( current_trend == -1 )
        strategy.close('short', when=sig_loss_cut == true) 
        //strategy.exit('sc',from_entry='short', stop=price_cut)


مزید