وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ڈونچیان چینلز پر مبنی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2023-10-31 17:44:19
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

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

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

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

فوائد

  • خود بخود رجحانات کو ٹریک کریں اور وقت میں نقصانات کو کم کریں۔ ڈبل چینل ڈھانچہ خود بخود رجحانات کو ٹریک کرسکتا ہے اور رجحانات کے الٹ جانے پر تیزی سے نقصانات کو کم کرسکتا ہے۔

  • کچھ رجحان فلٹرنگ اثر کے ساتھ، pullbacks پر درج کریں. صرف جب قیمت چینل کی حدود سے گزرتی ہے تو اندراجات لینے سے حقیقی رجحان کے بغیر کچھ جھوٹے وقفے کو فلٹر کیا جا سکتا ہے.

  • قابو پانے والا خطرہ۔ قریبی سٹاپ نقصان کا فاصلہ واحد نقصان کو کنٹرول کرسکتا ہے۔

خطرات

  • بڑے کھپت۔ رجحان کی پیروی کرنے والی حکمت عملیوں میں نسبتا large بڑے کھپت ہوسکتے ہیں جس کے لئے نفسیاتی تیاری کی ضرورت ہوتی ہے۔

  • اسٹاپ نقصان بہت قریب ہے۔ فاسٹ چینل کی مدت مختصر ہے لہذا اسٹاپ نقصان قریب ہے ، روکنے کا امکان ہے۔ ہم مناسب طریقے سے فاسٹ چینل کی مدت کو آرام دے سکتے ہیں۔

  • بہت زیادہ تجارت۔ ڈبل چینل ڈھانچہ بہت زیادہ اندراجات پیدا کرسکتا ہے ، جس کی وجہ سے مناسب پوزیشن سائزنگ کی ضرورت ہوتی ہے۔

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

  • انٹری فلٹرز شامل کریں۔ ہم کافی رجحان کی طاقت کے بغیر بریکآؤٹس کو فلٹر کرنے کے لئے انٹری شرائط میں اتار چڑھاؤ وغیرہ شامل کرسکتے ہیں۔

  • چینل کی مدت کے پیرامیٹرز کو بہتر بنائیں۔ ہم چینل پیرامیٹرز کے بہترین مجموعے کو منظم طریقے سے تلاش کرسکتے ہیں۔

  • متعدد ٹائم فریم کو یکجا کرنا۔ زیادہ ٹائم فریم پر اہم رجحان کا تعین کریں اور کم ٹائم فریم پر تجارت کریں۔

  • متحرک سٹاپ نقصان کا فاصلہ۔ مارکیٹ کی اتار چڑھاؤ کی بنیاد پر متحرک طور پر اسٹاپ فاصلہ ایڈجسٹ کریں۔

خلاصہ

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


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy("Noro's RiskTurtle Strategy", shorttitle = "RiskTurtle str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong  = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
risk      = input(2, minval = 0.1, maxval = 99, title = "Risk size, %")
fast      = input(20, minval = 1, title = "Fast channel (for stop-loss)")
slow      = input(50, minval = 1, title = "Slow channel (for entries)")
showof    = input(true, defval = true, title = "Show offset")
showll    = input(true, defval = true, title = "Show lines")
showdd    = input(true, defval = true, title = "Show label (drawdown)")
showbg    = input(true, defval = true, title = "Show background")
fromyear  = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear    = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth   = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday   = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today     = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Donchian price channel fast
hf = highest(high, fast)
lf = lowest(low, fast)
center = (hf + lf) / 2

//Donchian price chennal slow
hs = highest(high, slow)
ls = lowest(low, slow)

//Lines
colorpc = showll ? color.blue : na
colorsl = showll ? color.red : na
offset = showof ? 1 : 0
plot(hs, offset = offset, color = colorpc, title = "Slow channel high")
plot(ls, offset = offset, color = colorpc, title = "Slow channel low")
plot(center, offset = offset, color = colorsl, title = "Fast channel stop-loss")

//Background
size = strategy.position_size
colorbg = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(colorbg, transp = 70)

//Var
loss = 0.0
maxloss = 0.0
equity = 0.0
truetime = true

//Lot size
risksize = -1 * risk
risklong = ((center / hs) - 1) * 100
coeflong = abs(risksize / risklong)
lotlong = (strategy.equity / close) * coeflong
riskshort = ((center / ls) - 1) * 100
coefshort = abs(risksize / riskshort)
lotshort = (strategy.equity / close) * coefshort

//Orders
strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and hs > 0 and truetime)
strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and ls > 0 and truetime)
strategy.exit("LongExit", "Long", stop = center, when = needlong and strategy.position_size > 0)
strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")
    
if showdd

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Max loss size
    equity := strategy.position_size == 0 ? strategy.equity : equity[1]
    loss := equity < equity[1] ? ((equity / equity[1]) - 1) * 100 : 0
    maxloss := min(nz(maxloss[1]), loss)
    
    //Label
    min := round(min * 100) / 100
    maxloss := round(maxloss * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%" + "\nMax.loss " + tostring(maxloss) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*10)
    osy = highest(100)
    // la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)

مزید