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

مصنف:چاؤ ژانگ، تاریخ: 2023-12-25 10:57:52
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا فیصلہ کرنے کا بنیادی اشارے ڈونچیان چینل ہے۔ ڈونچیان چینل میں N دن کی مدت میں سب سے زیادہ اور سب سے کم قیمتوں کی اتار چڑھاؤ کی حد ہوتی ہے۔ اگر قیمت چینل کی اوپری ریل سے ٹکرا جاتی ہے تو ، یہ ایک لمبا سگنل ہوگا؛ اگر یہ چینل کی نچلی ریل سے ٹکرا جاتی ہے تو ، یہ ایک مختصر سگنل ہوگا۔ یہ حکمت عملی سگنل جاری کرنے کے لئے تیز ڈونچیان چینل (10 دن) اور نقصان کو روکنے کے لئے سست ڈونچیان چینل (20 دن) کا استعمال کرتی ہے۔

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

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

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

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

  1. رجحان کی سمت کا تعین کرنے کے لئے Donchian چینل کا استعمال کرتے ہوئے، backtest اثر کامیابی سے بڑے رجحان کو پکڑنے کے لئے بہتر ہے؛

  2. چلتی اوسط کے فلٹر کو شامل کرنے سے کچھ جھوٹے سگنل فلٹر کر سکتے ہیں اور نقصانات سے بچ سکتے ہیں؛

  3. تیز اور سست ڈونچین چینلز اور چلتی اوسط کے امتزاج سے تجارتی تعدد اور سٹاپ نقصان کی درستگی کو متوازن کیا جاسکتا ہے۔

  4. خطرہ ایک ہی نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کے طریقہ کار کے ساتھ اچھی طرح سے کنٹرول کیا جاتا ہے.

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات:

  1. شوک مارکیٹ میں، چھوٹے نقصان دہ احکامات زیادہ ہو سکتے ہیں؛

  2. جب رجحان کی تبدیلی ہوتی ہے تو ، چلتی اوسط کی فلٹرنگ سے افتتاحی لاگت میں اضافہ ہوگا۔

  3. کھڑی منڈیوں میں، سٹاپ نقصان کا پیچھا کیا جا سکتا ہے.

انسداد اقدامات اور حل:

  1. پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں، ڈونچیئن سائیکل کو مختصر کریں، مختلف مارکیٹوں کو اپنانے کے لئے اوسط سائیکل کو کم کریں.

  2. اہم رجحان کے خلاف پوزیشنوں کی تعمیر سے بچنے کے لئے اہم رجحان پر فیصلے میں اضافہ کریں.

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

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

  1. توڑ کی طاقت میں اضافہ کریں ۔ مثال کے طور پر ، حجم متعارف کروائیں ، صرف تب ہی پوزیشنیں کھولیں جب حجم بڑھ جائے۔

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

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

خلاصہ

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


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, 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(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()






مزید