
بولنگر بینڈ توڑنے اور اتار چڑھاؤ کی شرح فلٹرنگ حکمت عملی ایک تجارتی حکمت عملی ہے جو بولنگر بینڈ اشارے پر مبنی ہے۔ یہ بولنگر کو استعمال کرتا ہے تاکہ قیمتوں کے بارے میں فیصلہ کیا جاسکے کہ وہ کہاں اور کس طرح متحرک اوسط کے مقابلہ میں ہیں ، تاکہ پوزیشن کھولنے اور پوزیشن لینے کا فیصلہ کیا جاسکے۔ اس حکمت عملی کی ایک خاص بات یہ ہے کہ اس میں اتار چڑھاؤ کا فلٹر استعمال کیا گیا ہے ، جس میں مارکیٹ میں زیادہ اتار چڑھاؤ کے وقت تجارت میں داخل ہونے سے بچنے کے لئے مسلسل K لائنوں میں اضافے اور کمی کا پتہ لگایا گیا ہے۔ اس کے علاوہ ، اس حکمت عملی میں منافع کی حفاظت اور خطرے کو کنٹرول کرنے کے لئے اسٹاپ اور نقصان کی شرائط بھی رکھی گئی ہیں۔
اس حکمت عملی کا مرکز بولنگ بینڈ اشارے کا حساب لگانا ہے۔ بولنگ بینڈ تین لائنوں پر مشتمل ہوتا ہے: درمیانی سٹرنگ ایک سادہ حرکت پذیر اوسط ہے ، اور اوپر اور نیچے کی سٹرنگیں درمیانی سٹرنگ کی بنیاد پر کچھ معیاری فرق کو کم کرتی ہیں۔ معیاری فرق کی مقدار کو پیرامیٹرز کے ذریعہ کنٹرول کیا جاتا ہے۔
حکمت عملی کی پوزیشن کھولنے کی شرائط پولنگ بینڈ کے سلسلے میں اختتامی قیمت کی پوزیشن پر مبنی ہوتی ہیں۔ اگر تجارت کی سمت زیادہ کرنے کے لئے ترتیب دی گئی ہے ((tradeDirection> = 0) ، اور اختتامی قیمت نیچے کی طرف ایک خاص تناسب سے گرتی ہے ((lower_breakout_pct) ، تو زیادہ پوزیشن کھولیں؛ اگر تجارت کی سمت کم کرنے کے لئے ترتیب دی گئی ہے ((tradeDirection< = 0) ، اور اختتامی قیمت ایک خاص تناسب سے ٹوٹ جاتی ہے ((upper_breakout_pct) ، تو خالی پوزیشن کھولیں۔ یہاں توڑنے کا تناسب پیرامیٹر رجحان کی تصدیق کے لئے پولنگ بینڈ کو تھوڑا سا توڑنے کے لئے پوزیشن کھولنے کی اجازت دیتا ہے۔
دوسری طرف ، اگر لگاتار دو K لائنوں میں گرنے اور گرنے کی شرح متوقع اتار چڑھاؤ کی حد سے تجاوز کر جاتی ہے (Volatility) ، تو یہ سمجھا جاتا ہے کہ موجودہ مارکیٹ میں اتار چڑھاؤ بہت زیادہ ہے ، اور حکمت عملی نئی پوزیشن نہیں کھولے گی۔ یہ اتار چڑھاؤ فلٹر کسی حد تک شدید اتار چڑھاؤ والے بازار کے ماحول سے بچ سکتا ہے۔
فلیٹ پوزیشن کی طرف سے، اگر کثیر پوزیشن کی بندش کی قیمت اوپر کے علاقے کے قریب پہنچ جاتی ہے*long_win_pct) ، یا خالی پوزیشن کی بندش کی قیمت نیچے کی ریل کے قریب ((lower+area*short_win_pct) ، حکمت عملی منافع کے لئے متعلقہ پوزیشنوں کو ختم کردیتی ہے۔ اس کے علاوہ ، اگر پوزیشن رکھنے والے کے فلوٹنگ نقصانات پہلے سے طے شدہ زیادہ سے زیادہ واپسی کی شرح ((max_drawdown_percent) سے زیادہ ہیں تو حکمت عملی بھی پوزیشن کو ختم کردیتی ہے۔
بولنگ بینڈ ایک پختہ اور وسیع پیمانے پر استعمال ہونے والا تکنیکی اشارے ہے جو چلتی اوسط اور قیمتوں میں اتار چڑھاؤ کی معلومات کو جوڑتا ہے۔ بولنگ بینڈ کو ٹریڈنگ کی حکمت عملی بنانے کے لئے استعمال کیا جاتا ہے ، جس سے رجحانات اور اتار چڑھاؤ میں تبدیلیوں کو پکڑا جاسکتا ہے۔
اس حکمت عملی میں ایک ہی وقت میں کھلے اور کھلے فاریکس ٹریڈنگ کے فوائد اور نقصانات کی منطق شامل ہے ، جس سے دو طرفہ مارکیٹوں میں لچکدار مواقع کا فائدہ اٹھایا جاسکتا ہے۔ بولنگر بینڈ بریکنگ پوائنٹس کی ترتیب حکمت عملی کے داخلے کے نقطہ کو زیادہ تصدیق بخش بناتی ہے۔
اتار چڑھاؤ کے فلٹرز شدید اتار چڑھاؤ والی مارکیٹوں میں پوزیشن کھولنے سے گریز کرتے ہیں ، جس سے بار بار تجارت اور بیعانہ کا خطرہ کچھ حد تک کم ہوتا ہے۔
اس حکمت عملی میں اسٹاپ اور اسٹاپ نقصان کا طریقہ کار استعمال کیا گیا ہے ، جس سے پوزیشنوں کو فعال طور پر کنٹرول کیا جاسکتا ہے ، اور جب قیمت ایک اہم مقام پر واپس آجاتی ہے تو اس کی پوزیشنوں کو صاف کردیا جاتا ہے۔ یہ منافع کی حفاظت اور واپسی کو کنٹرول کرنے میں مددگار ہے۔
بولنگر بینڈ بنیادی طور پر ایک پیچھے رہ جانے والا اشارے ہے ، جس میں مارکیٹ کے ردعمل کے بارے میں کچھ تاخیر ہے۔ رجحان کی تبدیلی یا رجحان کی تبدیلی کے اہم لمحات میں ، حکمت عملی میں داخل ہونے کا بہترین وقت ضائع ہوسکتا ہے۔
حکمت عملی کے پیرامیٹرز کی ترتیب مختلف مارکیٹ کی حالتوں کے لئے ضروری نہیں ہے۔ جیسے اتار چڑھاؤ کی شرح فلٹر کی حد کی ترتیب ، رجحان اور جھٹکے والے حالات میں فرق کی ضرورت ہوسکتی ہے۔ مقررہ پیرامیٹرز کی وجہ سے حکمت عملی کچھ حالات میں پوزیشن کھولنے سے قاصر ہوسکتی ہے یا پوزیشن کھولنے میں زیادہ کثرت سے ہوتی ہے۔
اگرچہ اسٹاپ نقصان کی تدابیر موجود ہیں ، لیکن جب مارکیٹ میں خلا پیدا ہوتا ہے تو حکمت عملی ممکنہ طور پر پہلے سے طے شدہ قیمت پر تجارت نہیں کرسکتی ہے ، جس سے زیادہ نقصان ہوتا ہے۔
حکمت عملی میں پوزیشن کھولنے کے بعد کوئی چلتی روک یا ٹریکنگ روک قائم نہیں کی گئی ہے ، جس سے ممکنہ طور پر منافع میں سے کچھ کی واپسی ہوسکتی ہے۔
مزید تکنیکی اشارے یا مارکیٹ کی حالت کا تعین کرنے پر غور کیا جاسکتا ہے ، جیسے اے ٹی آر ، رجحان اشارے ، اتار چڑھاؤ کے اشارے وغیرہ ، حکمت عملی کے فلٹرنگ شرائط کے طور پر ، پوزیشن کھولنے کے معیار اور وقت کو بہتر بنانے کے لئے۔
اتار چڑھاؤ کی شرح کے فلٹر کے لئے، آپ کو متحرک thresholds کے استعمال کرنے کی کوشش کر سکتے ہیں، مختلف اقسام یا مختلف وقت کی مدت کے مطابق ایڈجسٹ کرنے کے لئے، فلٹرنگ کی کارکردگی کو بہتر بنانے کے لئے.
اسٹاپ اسٹاپ کے معاملے میں ، آپ کو ایک متحرک اسٹاپ یا ٹریکنگ اسٹاپ کا طریقہ کار متعارف کرایا جاسکتا ہے ، تاکہ حکمت عملی رجحان کے جاری رہنے پر پوزیشن رکھ سکے ، بجائے اس کے کہ وہ جلد سے جلد فلیٹ ہوجائے۔ اس کے علاوہ ، آپ کو اسٹاپ اسٹاپ کا ایک مختلف تناسب ترتیب دینے پر غور کرنا چاہئے ، جس سے آپ کے خطرے سے فائدہ اٹھانے کا تناسب بہتر ہوجائے گا۔
پوزیشن مینجمنٹ کو مزید بہتر بنایا جاسکتا ہے ، رجحان کی طاقت ، اتار چڑھاؤ کی شرح ، خطرے کی سطح جیسے اشارے کے مطابق پوزیشن کھولنے کے تناسب کو متحرک طور پر ایڈجسٹ کیا جاسکتا ہے ، اور واپسی کو کنٹرول کیا جاسکتا ہے۔ اس کے علاوہ ، پوزیشن میں اضافے ، پوزیشن میں کمی اور دیگر کارروائیوں کے ذریعہ فنڈز کا بہتر استعمال بھی کیا جاسکتا ہے۔
بولنگر بینڈ توڑنے اور اتار چڑھاؤ کی شرح فلٹرنگ حکمت عملی نے بولنگر بینڈ کی قیمت کی پوزیشن اور اتار چڑھاؤ کے نقشے کا استعمال کرتے ہوئے ایک دو طرفہ تجارت کی حکمت عملی تشکیل دی ہے۔ اس حکمت عملی کی منفرد بات یہ ہے کہ اتار چڑھاؤ کی شرح فلٹر شدید اتار چڑھاؤ والی مارکیٹ میں تجارت سے گریز کرتا ہے ، جبکہ اس کے ساتھ ساتھ اسٹاپ نقصان کی شرائط کو روکنے کے لئے آسان ہے۔ مجموعی طور پر ، اس حکمت عملی میں پوزیشن کھولنے کے منطق اور رسک کنٹرول کو زیادہ مکمل طور پر شامل کیا گیا ہے ، لیکن مارکیٹ میں تبدیلی ، پیرامیٹرز کی قابل اطلاق ، اور اسٹاپ نقصانات کے اثر وغیرہ کے جواب میں مزید اصلاحات کی گنجائش ہے۔ اگر مزید تکنیکی اشارے ، متحرک پیرامیٹرز اور پوزیشن مینجمنٹ کی اصلاحات متعارف کروائی جائیں تو اس حکمت عملی کی استحکام اور منافع میں اضافہ ہوسکتا ہے۔
/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("[Oppen Chow] Super BBS 1.0", default_qty_type = strategy.percent_of_equity, default_qty_value =100, initial_capital=500, commission_type=strategy.commission.percent, commission_value=0.08, pyramiding=2 )
// Input parameters
length = 20
mult = 2
max_drawdown_percent = input(5.5, "Maximum Acceptable Drawdown") / 100
upper_breakout_pct = input(50, "Short Entry Breakout Percentage") / 100
lower_breakout_pct = input(25, "Long Entry Breakout Percentage") / 100
tradeDirection = input(1, title="Trade Direction")
Volatility = input(0.5, title="Volatility") / 100
long_win_pct = input(-0.15, title = "Long Settlement Rate Near Boll Upper Limit")
short_win_pct = input(0.4, title = "Short Settlement Rate Near Boll Lower Limit")
// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
area = upper - lower
// Calculate the rate of change for two consecutive candlesticks
var float change1 = na
var float change2 = na
change1 := change2
change2 := ((close - open) / open)
// Check for two or more consecutive candlesticks with a change rate greater than 0.5%
var bool highVolatility = false
highVolatility := change2 > Volatility
// Trading logic
var float highestPriceSinceOpen = na
var float lowestPriceSinceOpen = na
var int profitableDrawbackCount = 1
// Entry logic - In the absence of high volatility
if not highVolatility and strategy.position_size == 0
if (tradeDirection >= 0) and (close < lower - area * lower_breakout_pct)
strategy.entry("Long", strategy.long)
highestPriceSinceOpen := close
profitableDrawbackCount := 0
if (tradeDirection <= 0) and (close > upper + area * upper_breakout_pct)
strategy.entry("Short", strategy.short)
lowestPriceSinceOpen := close
profitableDrawbackCount := 0
if strategy.position_size > 0 and close > upper - area * long_win_pct
strategy.close("Long", comment = "Take Profit")
if strategy.position_size < 0 and close < lower + area * short_win_pct
strategy.close("Short", comment = "Take Profit")
// Stop loss logic - Based on drawdown percentage
if strategy.position_size > 0
if (strategy.position_avg_price - close)/strategy.position_avg_price >= max_drawdown_percent
strategy.close("Long", comment = "Drawdown Stop Loss")
else if strategy.position_size < 0
if (close - strategy.position_avg_price)/strategy.position_avg_price >= max_drawdown_percent
strategy.close("Short", comment = "Drawdown Stop Loss")