ڈونچیئن چینل ٹرینڈ ٹریکنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-06 15:52:56
ٹیگز:

img

جائزہ

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

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

حکمت عملی سب سے پہلے backtesting وقت کی حد مقرر کرتا ہے، اور پھر طویل اور مختصر اندراج کے قوانین کی وضاحت.

لانگ پوزیشنوں کے لئے، جب قیمت ڈونچین چینل کے اوپری بینڈ سے اوپر ہو تو لانگ کھولیں؛ جب قیمت نچلی بینڈ سے نیچے ہو تو بند کریں.

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

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

خاص طور پر، طویل سٹاپ نقصان داخلہ قیمت کم سے کم ATR سٹاپ نقصان کی قیمت ہے؛ مختصر سٹاپ نقصان داخلہ قیمت زائد ATR سٹاپ نقصان کی قیمت ہے.

اسٹریٹجی میں ڈونچیئن چینل کے اوپری اور نچلے بینڈ اور اے ٹی آر اسٹاپ نقصان لائن کو بھی ایک مکمل تجارتی نظام بنانے کے لئے پلاٹ کیا گیا ہے۔

فوائد

  • رجحان کی سمت کا تعین کرنے کے لئے ڈونچیان چینل کا استعمال کریں، کچھ رجحان کی نگرانی کی صلاحیت کے ساتھ.

  • ڈونچیئن چینل ہموار پیرامیٹر سایڈست ہے ، جس سے پیرامیٹر کی اصلاح کو بہترین پیرامیٹر مجموعہ تلاش کرنے کی اجازت ملتی ہے۔

  • اے ٹی آر کے ساتھ سٹاپ نقصان کا طریقہ کار مؤثر طریقے سے خطرات کو کنٹرول کرسکتا ہے۔

  • طویل اور مختصر تجارتی قواعد آسان اور سمجھنے میں آسان ہیں، ابتدائیوں کے لئے موزوں ہیں.

  • کوڈ کا ڈھانچہ واضح اور سمجھنے اور تبدیل کرنے میں آسان ہے۔

خطرات

  • ڈونچیان چینل میں رینج سے منسلک قیمتوں میں اتار چڑھاؤ کے دوران کچھ وِپسا تجارت ہوسکتی ہے۔

  • غلط ATR سٹاپ نقصان رینج کی ترتیب بہت وسیع یا بہت حساس سٹاپ نقصان کا سبب بن سکتا ہے.

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

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

  • تجارتی اخراجات پر بھی غور کرنے کی ضرورت ہے، اعلی لاگت کے ماحول میں پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہوسکتی ہے۔

بہتر مواقع

  • بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے Donchian چینل کی مدت پیرامیٹرز کو بہتر بنائیں.

  • بہترین سٹاپ نقصان کی حد تلاش کرنے کے لئے مختلف ATR گتانک آزمائیں.

  • منافع میں مقفل کرنے کے لئے ATR سٹاپ نقصان کے اوپر پیچھے سٹاپ نقصان متعارف کرانے کی کوشش کریں.

  • مارکیٹ کے حالات کی بنیاد پر طویل / مختصر پوزیشن تناسب کو ایڈجسٹ کریں.

  • جنرک پیرامیٹرز تلاش کرنے کے لیے مختلف مصنوعات پر پیرامیٹرز کی مضبوطی کا تجربہ کریں۔

  • استحکام کو بہتر بنانے کے لئے ایم اے سی ڈی اور دیگر فلٹرز کو شامل کرنے کا مطالعہ.

  • مختلف ٹریڈنگ لاگت کے ماحول کے تحت پیرامیٹر کی موافقت کی جانچ کریں.

خلاصہ

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


/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © kriswaters

//@version=4
strategy("Donchian Channels Strategy by KrisWaters", overlay=true ) 

// Date filter
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2017, title = "From Year", minval = 1900)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Strategy Settings
canEnterLong = input(true, title="Can Enter Long Position")
canEnterShort = input(false, title="Can Enter Short Position")

showLongChannel = input(true, title="Show Donchian Long Channels")
showShortChannel = input(false , title="Show Donchian Short Channels")

useAtrAsStopRule = input(false, title="Enable ATR Stop Rule") 

// DonCcian Channel Lengths
longUpperLength = input(20, minval=1)
longLowerLength = input(10, minval=1)

shortUpperLength = input(10, minval=1)
shortLowerLength = input(20, minval=1)

// Donchian indicator calculations
longUpperValue = highest(high,longUpperLength)
longLowerValue = lowest(low,longLowerLength)

shortUpperValue = highest(high,shortUpperLength)
shortLowerValue = lowest(low,shortLowerLength)

// Plot Donchian Channels
uLong = plot(showLongChannel ? longUpperValue : na, color=color.green, offset=1)
lLong = plot(showLongChannel ? longLowerValue : na, color=color.green, offset=1)

uShort = plot(showShortChannel ? shortUpperValue : na, color=color.red, offset=1)
lShort = plot(showShortChannel ? shortLowerValue : na, color=color.red, offset=1)

// Styling
fill(uLong,lLong, color=color.green, transp=95, title="Long Arkaplan")
fill(uShort,lShort, color=color.red, transp=95, title="Short Arkaplan")

// Stop-loss value calculations
atrMultiplier = 2.0
atrValue = atr(20)
longStopValue = open - (atrMultiplier*atrValue)
shortStopValue = open + (atrMultiplier*atrValue)

// Plot stop-loss line
plot(useAtrAsStopRule ? longStopValue : na, color=color.red, linewidth=2, offset=1)
plot(useAtrAsStopRule ? shortStopValue : na, color=color.red, linewidth=2, offset=1)

// Long and Short Position Rules
if canEnterLong and na(longUpperValue) != true and na(longLowerValue) != true and window()
    strategy.entry("Long", true, stop=longUpperValue)
    strategy.exit("Long Exit", "Long", stop=useAtrAsStopRule ? max(longLowerValue,longStopValue) : longLowerValue)
    
if canEnterShort and na(shortUpperValue) != true and na(shortLowerValue) != true and window()
    strategy.entry("Short", false, stop=shortLowerValue)
    strategy.exit("Short Exit", "Short", stop=useAtrAsStopRule ? min(shortUpperValue,shortStopValue) : shortUpperValue)
    


مزید