یہ حکمت عملی برن بینڈ کے توڑنے کے اصول پر مبنی ہے ، جب قیمت مکمل طور پر ٹریک یا نیچے ٹریک سے ٹکرا جاتی ہے تو اس میں ریورس آپریشن ہوتا ہے۔ یہ غیر معمولی اتار چڑھاؤ کے بعد واپسی کی مساوی حرکت کو پکڑ سکتا ہے ، جو فعال تاجروں کے لئے موثر منافع کے حصول کے لئے موزوں ہے۔
اس حکمت عملی کا استعمال کرتے ہوئے بُرین بینڈ کی وضاحت کی گئی ہے موجودہ مارکیٹ میں اتار چڑھاؤ کی حد۔ جب قیمتوں میں مکمل طور پر سورج کا ستون یا چاند کا ستون بن جاتا ہے ، اور بُرین بینڈ کو مکمل طور پر ٹوٹ جاتا ہے ، تو یہ اشارہ کرتا ہے کہ مارکیٹ میں اعلی اتار چڑھاؤ کی حالت ہے ، اور قیمتوں میں واپسی ہوگی۔
خاص طور پر ، حکمت عملی 20 K لائنوں کے اختتامی قیمتوں کے ساتھ برین بینڈ کے وسط ریل ، اوپری ریل اور نچلے ریل کا حساب لگاتی ہے۔ جب قیمت نچلے ریل سے کم ہو اور اختتامی قیمت کھلنے کی قیمت سے کم ہو تو ، ایک کثیر سگنل پیدا ہوتا ہے۔ جب قیمت اوپری ریل سے زیادہ ہو اور اختتامی قیمت کھلنے کی قیمت سے زیادہ ہو تو ، ایک خالی سگنل پیدا ہوتا ہے۔ اس کے بعد ، توڑ پھوڑ کو اسٹاپ نقصان کے طور پر استعمال کیا جاتا ہے ، اور وسط ریل کو پہلے ہدف کی قیمت کی سطح کے طور پر استعمال کیا جاتا ہے۔
اس حکمت عملی کے اہم فوائد یہ ہیں:
برن بینڈ کا استعمال مارکیٹ میں اتار چڑھاؤ کی حد کا تعین کرنے اور غیر معمولی حالات کی مؤثر شناخت کرنے کے لئے کیا جاتا ہے۔
بریک پوائنٹس کو سٹاپ نقصان کے طور پر استعمال کیا جاتا ہے، جو خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے۔
واپس مڈل ٹریک مناسب ہدف کی پوزیشن مقرر کریں، اور زیادہ سے زیادہ پیچھا کرنے سے بچیں.
مکمل K لائن فلٹر جعلی توڑ، سگنل کے معیار کو بہتر بنانے کے لئے.
سادہ پیرامیٹرز کی ترتیب، لاگو کرنے اور بہتر بنانے کے لئے آسان.
اس کے علاوہ، یہ ایک بہت ہی آسان اور آسان زبان ہے.
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
غلط برن بینڈ پیرامیٹرز کی وجہ سے ناکامی کا سبب بن سکتا ہے۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کی تبدیلیوں کے نتیجے میں بہت سے لوگوں کی زندگیاں بدل سکتی ہیں ، اور ان میں سے بہت سے لوگوں کی زندگیاں بدل سکتی ہیں۔
مڈل آرٹل ٹارگٹ پوزیشن بہت زیادہ قدامت پسند ہوسکتی ہے اور مستقل منافع بخش نہیں ہوسکتی ہے۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس منصوبے کے تحت ، ایک بڑی تعداد میں بڑے پیمانے پر منصوبے مکمل نہیں کیے جاسکتے ہیں ، جس میں سلائڈنگ کا خطرہ ہے۔
اس کے نتیجے میں ، غیر ضروری تجارت کی کثرت کا سبب بن سکتا ہے۔
اس حکمت عملی کو بہتر بنانے کے لئے مندرجہ ذیل نکات پر غور کیا جاسکتا ہے:
رجحان کی طاقت کا اندازہ لگانا ، پیرامیٹرز کو ایڈجسٹ کرنا یا تجارت کی تعدد۔
دوسرے اشارے کے ساتھ مل کر ، بہترین داخلے کا وقت طے کریں۔
اسٹاپ نقصان کی حد کو اتار چڑھاؤ کی سطح کے مطابق ایڈجسٹ کریں۔
آپ کی پہلی منزل کی ترتیب کو بہتر بنانا اور منافع بخش بنانا۔
دوبارہ داخلہ کے نظام میں شامل ہوں اور منافع کو بہتر بنائیں۔
ٹرانزیکشن کی غلطیوں سے بچنے کے لئے ٹرانزیکشن کی ساکھ کا جائزہ لیں.
یہ حکمت عملی برن بینڈ توڑنے کے اصول پر مبنی ہے ، جو قلیل مدتی منافع کے حصول کے لئے متحرک تاجروں کے لئے موزوں ہے۔ اس کی خوبی یہ ہے کہ خطرے پر قابو پانے کی وضاحت ہے ، اس کی خرابی یہ ہے کہ اس سے پہلے ہی باہر نکلنے اور منافع کی جگہ محدود ہوسکتی ہے۔ پیرامیٹرز کی اصلاح ، معاون اشارے اور دیگر طریقوں سے اثر کو بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 3h
basePeriod: 15m
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/
// © Bishnu103
//@version=4
strategy(title="Full Candle Outside BB [v1.0][Bishnu103]",shorttitle="OUTSIDE BB",overlay=true,calc_on_every_tick=true,backtest_fill_limits_assumption=2)
// ***********************************************************************************************************************
// input variables
buy_session = input(title="Buy Session", type=input.session, defval="0915-1430")
exit_inraday = input(title="Exit Intraday?", type=input.bool, defval=true)
entry_distance = input(title="Entry distance from alert", minval=1, maxval=10, defval=3)
show_bb_switch = input(title="Show BB", type=input.bool, defval=true)
//
bbLength = input(title="BB Length", minval=1, defval=20)
bbStdDev = input(title="BB StdDev", minval=1, defval=2)
// ***********************************************************************************************************************
// global variables
long_entry = false
short_entry = false
long_exit = false
short_exit = false
// variable values available across candles
var entry_price = 0.0
var sl_price = 0.0
var exit_price = 0.0
var candle_count = 0
// ***********************************************************************************************************************
// function to return bollinger band values based on candle poition passed
getBB(pos) => [mBB, uBB, lBB] = bb(close[pos], bbLength, bbStdDev)
// function returns true if current time is within intraday byuing session set in input
BarInSession(sess) => time(timeframe.period, sess) != 0
// ***********************************************************************************************************************
// strategy
//
// get current bb value
[mBB_0,uBB_0,lBB_0] = getBB(0)
// check if full candle outside upper BB
outside_uBB = low > uBB_0 and close <= open
outside_lBB = high < lBB_0 and close >= open
// ***********************************************************************************************************************
// entry conditions
long_entry := outside_lBB
short_entry := outside_uBB
// keep candle count since the alert generated so that order can be cancelled after N number of candle calling it out as invalid alert
candle_count := candle_count + 1
if long_entry or short_entry
candle_count := 0
// ***********************************************************************************************************************
// risk management
//
// decide entry and sl price
if long_entry
entry_price := high
if short_entry
entry_price := low
if long_entry
sl_price := low
if short_entry
sl_price := high
// first exit is when price hits middle BB, gets updated for each candle based on it's middle BB value
exit_price := mBB_0
// ***********************************************************************************************************************
// position sizing
price = if close[0] > 25000
25000
else
price = close[0]
qty = 25000/price
// ***********************************************************************************************************************
// entry
//if long_entry and strategy.position_size == 0
// strategy.entry("BUY", strategy.long, qty, stop=entry_price, comment="BUY @ "+ tostring(entry_price))
if long_entry and strategy.position_size == 0
strategy.order("BUY", strategy.long, qty, stop=entry_price, comment="BUY @ "+ tostring(entry_price))
//if short_entry and strategy.position_size == 0
// strategy.entry("SELL", strategy.short, qty, stop=entry_price, comment="SELL @ "+ tostring(entry_price))
if short_entry and strategy.position_size == 0
strategy.order("SELL", strategy.short, qty, stop=entry_price, comment="SELL @ "+ tostring(entry_price))
// cancel an order if N number of candles are completed after alert candle
strategy.cancel_all(candle_count > entry_distance)
// if current time is outside byuing session then do not enter intraday trade
strategy.cancel_all(timeframe.isintraday and not BarInSession(buy_session))
// ***********************************************************************************************************************
// exit
if strategy.position_size > 0
strategy.cancel("EXIT at MBB", true)
strategy.cancel("EXIT at SL", true)
strategy.order("EXIT at MBB", strategy.short, abs(strategy.position_size), limit=exit_price, comment="EXIT TG @ "+ tostring(exit_price))
strategy.order("EXIT at SL", strategy.short, abs(strategy.position_size), stop=sl_price, comment="EXIT SL @ "+ tostring(sl_price))
if strategy.position_size < 0
strategy.cancel("EXIT at MBB", true)
strategy.cancel("EXIT at SL", true)
strategy.order("EXIT at MBB", strategy.long, abs(strategy.position_size), limit=exit_price, comment="EXIT TG @ "+ tostring(exit_price))
strategy.order("EXIT at SL", strategy.long, abs(strategy.position_size), stop=sl_price, comment="EXIT SL @ "+ tostring(sl_price))
// if intraday trade, close the trade at open of 15:15 candle //!!!!!!!!!!!!!!!!!!!!! TO BE CORRECTED !!!!!!!!!!!!!!!!!!!!!!!
if timeframe.isintraday and exit_inraday and hour == 15 and minute == 00
strategy.close("BUY", when=strategy.position_size > 0, qty=strategy.position_size, comment="EXIT @ "+ tostring(close))
strategy.close("SELL", when=strategy.position_size < 0, qty=strategy.position_size, comment="EXIT @ "+ tostring(close))
// ***********************************************************************************************************************
// plots
//
// plot BB
[mBBp,uBBp,lBBp] = getBB(0)
p_mBB = plot(show_bb_switch ? mBBp : na, color=color.teal)
p_uBB = plot(show_bb_switch ? uBBp : na, color=color.teal)
p_lBB = plot(show_bb_switch ? lBBp : na, color=color.teal)
fill(p_uBB,p_lBB,color=color.teal,transp=95)