یہ حکمت عملی چینل بریکآؤٹ تھیوری کی بنیاد پر ڈیزائن کی گئی ایک ٹرینڈ ٹریکنگ حکمت عملی ہے۔ یہ ایک خاص مدت کے دوران سب سے زیادہ قیمت اور سب سے کم قیمت کا استعمال کرتے ہوئے ایک چینل بناتا ہے اور جب قیمت چینل سے باہر نکلتی ہے تو تجارتی سگنل تیار کرتا ہے۔ یہ حکمت عملی رجحان سازی کی منڈیوں کے لئے موزوں ہے اور رجحان ٹریکنگ کے لئے قیمت کی رجحان کی سمت کو پکڑ سکتی ہے۔
حکمت عملی سب سے پہلے چینل کے اوپری بینڈ اور نچلے بینڈ کی تعمیر کے لئے لمبائی کی مدت میں سب سے زیادہ قیمت اور سب سے کم قیمت کا حساب لگاتی ہے۔ جب اختتامی قیمت اوپری بینڈ کو توڑتی ہے تو ، ایک لمبی پوزیشن کھولی جاتی ہے۔ جب اختتامی قیمت نچلی بینڈ کو توڑتی ہے تو ، ایک مختصر پوزیشن کھولی جاتی ہے۔ جب قیمت چینل میں واپس آجاتی ہے تو پوزیشن بند ہوجائے گی۔
حکمت عملی میں رجحان کی سمت کا تعین کرنے کے لئے لمبائی * 2 کے ساتھ ایک ای ایم اے اشارے کا بھی خاکہ تیار کیا گیا ہے۔ جب قیمت اوپری بینڈ کو توڑتی ہے ، اگر ای ایم اے اوپر کی طرف رجحان میں ہے تو ، طویل فیصلہ مضبوط ہوجاتا ہے۔
خلاصہ یہ ہے کہ ، یہ رجحانات کو پکڑنے کے لئے چینل بریکآؤٹس پر مبنی ایک سادہ رجحان ٹریکنگ حکمت عملی ہے۔ اس میں رجحانات کو پکڑنے کی مضبوط صلاحیت ہے اور یہ رجحاناتی منڈیوں میں اچھی واپسی حاصل کرسکتا ہے۔ لیکن اس میں کچھ خطرات بھی ہیں اور استحکام کو بہتر بنانے کے لئے مزید اصلاح کی ضرورت ہے۔ پیرامیٹر ٹیوننگ ، اسٹاپ نقصان کی ترتیب اور دوسرے اشارے کے ساتھ مل کر ، اس حکمت عملی کو براہ راست تجارت میں لاگو کیا جاسکتا ہے۔
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 initial_capital = 1000, default_qty_value = 90, default_qty_type = strategy.percent_of_equity, pyramiding = 0, commission_value = 0.002, commission_type = strategy.commission.percent, calc_on_every_tick = true length_val = 2 max_bars_back = 1440 risk_max_drawdown = 9 strategy("Channel Break",max_bars_back=max_bars_back,initial_capital = initial_capital,default_qty_value = default_qty_value,default_qty_type = default_qty_type,pyramiding = pyramiding,commission_value = commission_value,commission_type = commission_type,calc_on_every_tick = calc_on_every_tick) // strategy.risk.max_drawdown(risk_max_drawdown, strategy.percent_of_equity) length = input(title="Length", minval=1, maxval=1000, defval=length_val) upBound = highest(high, length) downBound = lowest(low, length) //plot (upBound) //plot (downBound) //plot (close, color=red) //plot (ema(close,length * 2), color=green) // if (not na(close[length]) and time>timestamp(2018, 02, 24, 0, 00) ) strategy.entry("Buy", strategy.long, stop=upBound + syminfo.mintick, comment="Buy") strategy.entry("Short", strategy.short, stop=downBound - syminfo.mintick, comment="Short") position = strategy.position_size //plot(position , title="equity", color=red,style=cross,linewidth=4) plot(variance(position,2)>0?1:0,style=circles,linewidth=4) message = "" if (position > 0) message = "BTCUSD L: " + tostring(strategy.position_size) na(position) if (position < 0) message = "BTCUSD S: " + tostring(strategy.position_size) na(position) alertcondition(variance(strategy.position_size,2) > 0, "test", message )