یہ حکمت عملی مشہور ٹرٹل ٹریڈنگ سسٹم پر مبنی ہے ، جس میں بریکآؤٹس کی نشاندہی کرنے کے لئے ڈونچیان چینل اور رجحان کی پیروی کرنے کے لئے اسٹاپ نقصان کی ترتیب کے لئے اے ٹی آر کا استعمال کیا جاتا ہے۔ فائدہ یہ ہے کہ ایک ہی تجارت کے نقصان کو مؤثر طریقے سے محدود کرکے ڈراؤڈاؤن کنٹرول کی مضبوط صلاحیت ہے۔ تاہم ، مختلف تجارتی آلات میں موافقت کمزور ہے اور پیرامیٹر ٹیوننگ کی ضرورت ہے۔ مجموعی طور پر ، ٹرٹل ٹریڈنگ سسٹم کے تعارفی ورژن کے طور پر ، اس حکمت عملی کا استعمال ٹرٹل ٹریڈنگ کے قوانین کی تاثیر کی توثیق کے لئے کیا جاسکتا ہے اور بنیادی مقداری تجارتی حکمت عملی کے طور پر بھی کام کرسکتا ہے۔
یہ حکمت عملی بنیادی طور پر دو اشارے پر مبنی ہے: ڈونچیان چینل اور اے ٹی آر۔
ڈونچیان چینل سب سے زیادہ اعلی اور سب سے کم کم کی طرف سے تعمیر کیا جاتا ہے۔ ڈیفالٹ چینل کی لمبائی 20 دن ہے ، جو 20 دن کی سب سے زیادہ اونچائی اور سب سے کم کم کے ساتھ پلاٹ کی گئی ہے۔ جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو خرید سگنل تیار ہوتا ہے ، اور جب قیمت نچلی بینڈ سے نیچے ٹوٹ جاتی ہے تو فروخت سگنل تیار ہوتا ہے۔
اے ٹی آر مارکیٹ کی اتار چڑھاؤ کی پیمائش کرتا ہے اور اسے اسٹاپ نقصان کی ترتیب کے لئے استعمال کیا جاتا ہے۔ ڈیفالٹ اے ٹی آر کی مدت 20 دن ہے۔ حکمت عملی اسٹاپ نقصان کی سطح کے طور پر 2 این اے ٹی آر کا استعمال کرتی ہے۔
تجارتی منطق مندرجہ ذیل ہے:
جب قیمت اوپری بینڈ سے اوپر نکلتی ہے تو طویل سفر کریں۔
کم قیمت پر سٹاپ نقصان مقرر کریں minus 2N ATR.
جب قیمت نچلی بینڈ سے نیچے ہوتی ہے تو طویل پوزیشن بند کریں۔
جب قیمت نچلی بینڈ سے نیچے نکلتی ہے تو مختصر ہوجائیں۔
داخلہ پر اعلی قیمت پر سٹاپ نقصان مقرر کریں + 2N ATR.
جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو مختصر پوزیشن بند کریں۔
خلاصہ میں، حکمت عملی ڈونچیان چینل کے ساتھ رجحان کی سمت اور داخلہ سگنل کی نشاندہی کرتی ہے، اور رجحانات کی پیروی کرنے کے لئے اے ٹی آر پر مبنی سٹاپ نقصان کے ساتھ خطرے کو کنٹرول کرتی ہے.
اس حکمت عملی کے اہم فوائد یہ ہیں:
مضبوط ڈراؤنڈ کنٹرول کی صلاحیت۔ اے ٹی آر اسٹاپ نقصان مؤثر طریقے سے ایک ہی تجارت کے نقصان کو محدود کرسکتا ہے۔
رجحانات کی پیروی کرنے کی صلاحیت۔ ڈونچیان چینل مؤثر طریقے سے توڑ اور رجحان کی تبدیلیوں کی نشاندہی کرسکتا ہے۔
اعلی اتار چڑھاؤ والے آلات کے لئے قابل اطلاق ہے۔ اے ٹی آر اسٹاپ نقصان کی ترتیب میں مارکیٹ کی اتار چڑھاؤ کو مدنظر رکھتا ہے۔
سادہ اور واضح منطق، سمجھنے اور لاگو کرنے کے لئے آسان.
پائیتھون زبان کے ساتھ بہتر بنانے کے لئے لچک.
اس حکمت عملی کے کچھ خطرات کو نوٹ کرنا:
چینل پیرامیٹرز مختلف آلات اور وقت کے فریم کے لئے اصلاح کی ضرورت ہے.
مسلسل سٹاپ نقصان کا خطرہ۔ متغیر مارکیٹ کے حالات میں متعدد سٹاپ نقصان ٹرگرز ہو سکتے ہیں۔
اے ٹی آر پیرامیٹر کو بیک ٹسٹنگ کی ضرورت ہے۔ اے ٹی آر اسٹاپ نقصان کو براہ راست متاثر کرتا ہے اور اس میں اتار چڑھاؤ کی بنیاد پر ایڈجسٹ کیا جانا چاہئے۔
ممکنہ طور پر بہت زیادہ ٹریڈنگ فریکوئینسی۔ بہت سے وِپسا سگنل رینج سے منسلک مارکیٹ کے تحت ہو سکتے ہیں۔
محدود منافع کی صلاحیت۔ حکمت عملی اسٹاپ نقصان پر مرکوز ہے اور رجحان کے فوائد کو مکمل طور پر حاصل نہیں کرسکتی ہے۔
غیر مستحکم حرکتوں کے دوران ناکافی اسٹاپ نقصان۔ قیمت کے فرق براہ راست اسٹاپ نقصان کو متحرک کرسکتے ہیں۔
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
مختلف آلات کے لئے چینل پیرامیٹرز کو بہتر بنائیں.
رینج سے منسلک مارکیٹ کے تحت بہت زیادہ سگنل سے بچنے کے لئے فلٹرز شامل کریں۔ توڑنے کی شدت یا حجم فلٹرز پر غور کریں۔
ATR مدت پیرامیٹر اور سٹاپ نقصان پر ٹیسٹ کے اثرات کو بہتر بنائیں.
رجحان کے فوائد کو زیادہ سے زیادہ کرنے کے لئے پوزیشن کا سائز بڑھانے کے لئے پرامڈ انٹری شامل کریں.
غلط سگنل سے بچنے کے لئے دیگر اشارے جیسے MACD، KD شامل کریں.
سلائڈ اور کمیشن کی لاگت کی بنیاد پر سٹاپ نقصان کو ایڈجسٹ کریں۔
مختلف آلات میں موافقت کی جانچ کریں اور پیرامیٹرز کو بہتر بنائیں۔
ٹرٹل ٹریڈنگ سسٹم کا تعارفی ورژن ہونے کے ناطے ، اس حکمت عملی میں سادہ اور واضح منطق ، مضبوط ڈراؤنڈ کنٹرول کی صلاحیت ہے ، اور یہ ٹرٹل ٹریڈنگ کے اصولوں کو مؤثر طریقے سے درست کرسکتا ہے۔ لیکن آلات میں موافقت کمزور ہے اور پیرامیٹرز کو مخصوص آلات کی بنیاد پر ٹیون کرنے کی ضرورت ہے۔ پیرامیٹر ٹیوننگ ، فلٹرز کا اضافہ جیسے اصلاحات کے ساتھ ، یہ مقداری تجارت کے لئے بنیادی رجحان کی پیروی کرنے والی حکمت عملی کے طور پر کام کرسکتا ہے۔
/*backtest start: 2022-10-10 00:00:00 end: 2023-10-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Based on Turtle traders strategy: buy/sell on Donchian breakouts and stop loss on ATR 2x // initial version considerations : //// 1. Does not consider filter for avoiding new entries after winning trades (filtering rule from Turtle Strategy on 20 day breakout strategy) //// 2. Does not consider pyramiding (aditional entries after 1N price movements) strategy("Turtle trading strategy (Donchian/ATR)", overlay=true) enter_period = input(20, minval=1, title="Enter Channel") exit_period = input(10, minval=1, title="Exit Channel") offset_bar = input(0,minval=0, title ="Offset Bars") direction = input("Long",options=["Long","Short"],title="Direction") max_length = max(enter_period,exit_period) atrmult = input(2,title="ATR multiplier (Stop Loss)") atrperiod = input(20,title="ATR Period") closed_pos = false dir_long = direction == "Long"? true : false atr = atr(atrperiod) upper = dir_long ? highest(enter_period): highest(exit_period) lower = dir_long ? lowest(exit_period): lowest(enter_period) atrupper = close + atr atrlower = close - atr plotted_atr = dir_long ? atrlower : atrupper //basis = avg(upper, lower) l = plot(lower, style=line, linewidth=3, color=lime, offset=1) u = plot(upper, style=line, linewidth=3, color=lime, offset=1) a = plot(plotted_atr, style=line,linewidth=2,color=red,offset=1) //plot(basis, color=yellow, style=line, linewidth=1, title="Mid-Line Average") //break upper Donchian (with 1 candle offset) (buy signal) break_up = (close >= upper[1]) //break lower Donchian (with 1 candle offset) (sell signal) break_down = (close <= lower[1]) stop_loss = dir_long ? (close<=plotted_atr[1]) : (close>=plotted_atr[1]) if break_up and dir_long strategy.entry("buy", strategy.long, 1) closed_pos :=false if (break_down or stop_loss) and dir_long strategy.close("buy") if break_down and not dir_long strategy.entry("sell", strategy.short, 1) closed_pos :=false if (break_up or stop_loss) and not dir_long strategy.close("sell") closed_pos :=true losing_trade = strategy.equity[0]<strategy.equity[1] //plotshape(losing_trade,text="Losing!") plotshape(stop_loss,style=dir_long?shape.labeldown:shape.labelup,text="Stop!") //plot(strategy.equity)