ڈونچیان چینلز پر مبنی کچھی ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-26 14:35:02
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا بنیادی منطق یہ ہے:

  1. فاسٹ ڈونچیئن چینل کا حساب لگائیں: اوپری بینڈ ماضی کے فاسٹ بارز پر سب سے زیادہ اونچا ہے ، نچلی بینڈ سب سے کم نچلی ہے ، اور وسط بینڈ اوپری اور نچلی بینڈ کا اوسط ہے۔

  2. سست ڈونچیئن چینل کا حساب لگائیں: اوپری بینڈ پچھلے سست سلاخوں پر سب سے زیادہ اعلی ہے، نچلے بینڈ سب سے کم کم ہے.

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

  4. پوزیشن کھولنے کے بعد، فاسٹ چینل کا وسط بینڈ سٹاپ نقصان کے طور پر استعمال کیا جاتا ہے۔

  5. پوزیشن بند کریں جب ہولڈنگ کی مدت کے دوران افتتاحی سگنل کے برعکس سگنل موجود ہو۔

فوائد کا تجزیہ

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

  1. سادہ قوانین کو لاگو کرنے کے لئے آسان. Donchian چینلز اور منتقل سٹاپ نقصان سمجھنے کے لئے آسان ہیں، beginners کے لئے موزوں.

  2. مرضی کے مطابق پیرامیٹرز۔ صارفین مختلف مارکیٹ کے ماحول کو اپنانے کے لئے تجارتی مصنوعات اور ٹائم فریم پر مبنی پیرامیٹرز کو ایڈجسٹ کرسکتے ہیں۔

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

  4. خودکار اسٹاپ نقصان کا انتظام۔ تیز چینل مڈل بینڈ پر مبنی حرکت پذیر اسٹاپ نقصان واحد تجارت پر نقصانات کو محدود کرسکتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے خطرات میں شامل ہیں:

  1. جب رجحان واضح نہیں ہوتا ہے تو زیادہ اسٹاپ نقصان ہوتا ہے۔ اس سے حکمت عملی کی منافع بخشتا پر اثر پڑتا ہے۔

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

  3. پیرامیٹر کی غلط ترتیبات سے زیادہ جارحیت یا زیادہ سے زیادہ تحفظ پیدا ہوتا ہے۔ مناسب اقدار کو بار بار بیک ٹیسٹنگ کے ذریعے تلاش کرنے کی ضرورت ہے۔

  4. خودکار تجارت پر بہت زیادہ انحصار۔ خودکار تجارت میں ناکامی کا باعث بننے والے استثناء سے بچنے کے لئے سرور کا استحکام ضروری ہے۔

مذکورہ بالا خطرات کو کم کرنے کے لئے ، پیرامیٹرز کو بہتر بنایا جاسکتا ہے ، پوزیشن کا سائز مناسب حد تک محدود کیا جاسکتا ہے ، اور رسک مینجمنٹ ماڈیولز شامل کیے جاسکتے ہیں۔

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

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

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

  2. مختلف تجارتی آلات کو بہتر بنانے کے لئے چینل کی مدت اور پوزیشن سائزنگ جیسے پیرامیٹرز کو بہتر بنائیں۔

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

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

نتیجہ

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


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

//Noro
//2020

//@version=4
strategy("Noro's SimpleTurtle Strategy", shorttitle = "SimpleTurtle 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")
sizelong  = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot long, %")
sizeshort = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot short, %")
fast      = input(20, minval=1)
slow      = input(50, minval=1)
showof    = input(true, defval = true, title = "Show offset")
showll    = input(true, defval = true, title = "Show lines")
showdd    = input(false, 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)
plot(ls, offset = offset, color = colorpc)
plot(center, offset = offset, color = colorsl)

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

//Orders
truetime = true
lotlong = 0.0
lotshort = 0.0
lotlong := size != size[1] ? strategy.equity / close * sizelong / 100 : lotlong[1]
lotshort := size != size[1] ? strategy.equity / close * sizeshort / 100 : lotshort[1]

//Orders
strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and truetime)
strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and truetime)
strategy.exit("Long", stop = center, when = needlong and strategy.position_size > 0)
strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0)
if true
    strategy.close_all()
    strategy.cancel("fast L")
    strategy.cancel("fast S")
    strategy.cancel("slow L")
    strategy.cancel("slow S")
    
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]))
    
    //Label
    min := round(min * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%"
    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)

مزید