
یہ حکمت عملی بروئنگ بینڈ کی دوہری مساوی لائن پر مبنی ہے اور اس میں رجحانات کی پیروی کرنے والے تجارتی فیصلے کیے جاتے ہیں۔ اس میں بروئنگ بینڈ کے نیچے والے ریل کے قریب خریدنے اور اوپر والے ریل کے قریب فروخت کرنے کے لئے بروئنگ بینڈ کے نیچے والے ریل کے قریب خریدنے اور فروخت کرنے کے لئے بروئنگ بینڈ کے نیچے والے ریل کے قریب خریدنے اور پھیلاؤ کا استعمال کیا جاتا ہے۔
اس حکمت عملی میں برین بینڈ کے سادہ اور بڑھا ہوا دونوں ورژن استعمال کیے گئے ہیں۔
سادہ بلین بینڈ اختتامی قیمت کا استعمال کرتے ہوئے ایس ایم اے کے حساب سے وسط ٹریک ، اور مضبوط بلین بینڈ اختتامی قیمت کا استعمال کرتے ہوئے ای ایم اے کے حساب سے وسط ٹریک۔
اوپر اور نیچے کی سلاخوں کو درمیانی سلاخوں ± N گنا معیاری فرق کے ذریعے شمار کیا جاتا ہے۔
حکمت عملی کا تعین کرتا ہے کہ رجحانات کو بروئنگ بینڈ کے اوپر اور نیچے کے درمیان فاصلے پر پھیلاؤ کی بنیاد پر کیا جاتا ہے۔ جب پھیلاؤ طے شدہ حد سے کم ہوتا ہے تو ، اس کا مطلب یہ ہے کہ رجحانات کی حد میں داخل ہو رہا ہے ، اور رجحانات کے ساتھ تجارت کی جاسکتی ہے۔
خاص طور پر ، جب قیمت نیچے کی طرف جارہی ہو تو زیادہ خریدیں ، اور جب قیمت اوپر کی طرف جارہی ہو تو فروخت کریں۔ اسٹاپ نقصان کا طریقہ مقررہ اسٹاپ نقصان کا فیصد ہے ، اور آپ کو ٹریکنگ اسٹاپ نقصان کو چالو کرنے کا اختیار ہے۔
ہدف منافع کا انحصار وسط یا اوپری ریل کے قریب فلیٹ پوزیشن کا انتخاب کرنے پر ہے۔
اس حکمت عملی میں یہ بھی کہا گیا ہے کہ آپ کو صرف اس صورت میں فروخت کرنے کا انتخاب کرنا چاہئے جب آپ کو منافع بخش ہونے کا یقین ہو اور آپ کو نقصان سے بچنے کا موقع ملے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
سادہ برین بینڈ اور بڑھا ہوا برین بینڈ کا استعمال ، دونوں برین بینڈ کے اثرات کا موازنہ کرنے ، بہتر ورژن کا انتخاب کرنے اور فیصلہ سازی کی کارکردگی کو بہتر بنانے کے لئے۔
جب برن کے راستے تنگ ہوتے ہیں تو ، یہ رجحان میں داخل ہونے کا اشارہ کرتا ہے ، اور اس وقت رجحان کی پیروی کرنے کی تجارت میں زیادہ کامیابی ہوتی ہے۔
فکسڈ فی صد سٹاپ نقصان کا استعمال کرتے ہوئے انفرادی نقصانات کو کنٹرول کرنے کے لئے. اس کے ساتھ ساتھ درمیانی ریل یا اپر ریل کے قریب اسٹاپ کا انتخاب کیا جاسکتا ہے ، اور مزید منافع کو لاک کرنے کے لئے ٹریکنگ اسٹاپ کو چالو کرنا۔
صرف اس صورت میں فروخت کی جائے جب منافع کو یقینی بنایا جائے ، تاکہ نقصانات میں اضافہ نہ ہو۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
رجحانات کے ساتھ ٹریڈنگ خود ہی واپسی کا خطرہ ہے اور مسلسل نقصانات کے نفسیاتی دباؤ کی ضرورت ہے۔
جب بورن کی پٹی وسیع ہوتی ہے تو ، اس کا مطلب یہ ہے کہ مارکیٹ میں ہلچل پڑ سکتی ہے ، اس وقت اس حکمت عملی کی تجارت غیر موثر ہوتی ہے اور رجحان کی بحالی کا انتظار کرنے کے لئے تجارت کو روکنے کی ضرورت ہوتی ہے۔
فکسڈ فی صد اسٹاپ ممکنہ طور پر بہت زیادہ جارحانہ ہے اور اسے زیادہ نرم اسٹاپ طریقوں جیسے اے ٹی آر اسٹاپ میں ایڈجسٹ کرنے کی ضرورت ہے۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
مختلف اوسط لائن پیرامیٹرز، معیاری فرق کے ضارب کی جانچ پڑتال کی جاسکتی ہے ، تاکہ مختلف مارکیٹوں کے لئے بہتر طور پر مناسب برن بینڈ پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔
برین بینڈ سگنل کی بنیاد پر ، MACD ، KD اور دیگر اشارے کے فلٹرز کو شامل کیا جاسکتا ہے ، جس سے مارکیٹ میں اتار چڑھاؤ کی تجارت کو کم کیا جاسکتا ہے۔
مختلف متحرک سٹاپ طریقوں کی جانچ پڑتال کی جاسکتی ہے ، یا طول و عرض ، اے ٹی آر اور دیگر اشارے کی بنیاد پر اسٹاپ نقصان کو بہتر بنایا جاسکتا ہے۔
ہر تجارت کے لئے پوزیشن مینجمنٹ کو بہتر بنائیں اور مختلف پوزیشننگ حکمت عملی کی جانچ کریں۔
اس حکمت عملی میں ڈبل برن بینڈ اشارے کے فوائد کو مربوط کیا گیا ہے۔ اس حکمت عملی میں برن بینڈ چینل کی چوڑائی کی بنیاد پر رجحانات کی پیمائش کی گئی ہے۔ رجحانات کے دوران کم جذب اور اعلی ٹرانسمیشن ٹریڈنگ۔ اس کے ساتھ ساتھ ، اس حکمت عملی میں خطرات کو کنٹرول کرنے کے لئے سائنسی اسٹاپ نقصان کا طریقہ کار بھی ترتیب دیا گیا ہے۔ اس حکمت عملی میں پیرامیٹرز کو بہتر بنانے اور دوسرے اشارے کے فلٹرنگ کے ساتھ مل کر استحکام کو مزید بڑھا دیا جاسکتا ہے۔
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
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/
// © JCGMarkets
//@version=4
strategy("B.Bands | Augmented | Intra-range | Long-Only", shorttitle = "BB|A|IR|L", initial_capital=5000, commission_value=0.075, slippage = 1, overlay = true)
//Technical Indicators Data
show_simp = input(false, title="Trade on Simple Bollinger Bands ", type= input.bool, group="Select Strategy System")
show_augm = input(true, title="Trade on Augmented Bollinger Bands", type= input.bool, group="Select Strategy System")
periods = input(20, title="Periods for Moving Average", type =input.integer, minval = 2, step = 1, group="Technical Inputs")
std = input(2, title="Std", type = input.float, minval=0.1 , step = 0.1, group="Technical Inputs")
// Strategy data
max_spread_bb = input(20000.0, title="Max Spread Tolerance Beetween Bands", type=input.float, step=0.1, group="Strategy Inputs")
entry_source = input(close, title="Entry data source", type=input.source, group="Strategy Inputs")
exit_source = input(high, title="Exit data source", type=input.source, group="Strategy Inputs")
take_profit = input("middle", title = "Profit to band:", options = ["middle", "opposite"], group="Strategy Inputs")
stop_loss = input(3.00, title="Stop Loss %", type=input.float, step=0.05, group="Strategy Inputs")
trailing = input(false, title="Activate trailing stop?", type = input.bool, group="Strategy Inputs")
stop_perc = input(6.00, title="Trailing %", type=input.float, step=0.125, group="Strategy Inputs") * 0.01
sell_profit = input(false, title="Only sell in profit (Stop Loss still active) ", type= input.bool, group="Strategy Inputs")
var SL = 0.0
var SLT= 0.0
//Simple BB Calculation -> adapt if needed with different std for upper-lower, sma-ema, etc
middle_sim = sma(close, periods)
//Augmented BB Calculation -> adapt if needed with different std for upper lower, etc
middle_augm = ema(close, periods)
middle_upp = ema(high, periods)
middle_low = ema(low, periods)
//Multiplier
dev = stdev(close, periods) * std
//Upper & Lower Bands
upper = (middle_sim + dev)
lower = (middle_sim - dev)
//Augmented Bands
upper_augm = (middle_upp + dev)
lower_augm = (middle_low - dev)
//Bands Spread
spread = upper - lower
spread_augm = upper_augm - lower_augm
//From date
filter_from = input( true, title="===> From", group="Date Control")
from_y = input( 2010, title = "from year", group="Date Control")
from_m = input( 1, title = "from month", minval =1, maxval=12, group="Date Control")
from_d = input( 1, title = "from day", minval=1, maxval=31, group="Date Control")
//To date
filter_to = input( true, title="===> To", group="Date Control")
to_y = input( 2030, title = "To year", group="Date Control")
to_m = input( 1, title = "To month", minval =1, maxval=12, group="Date Control")
to_d = input( 1, title = "To day", minval=1, maxval=31, group="Date Control")
// Date Condition
In_date() => true
in_position = strategy.position_size > 0
// Trailing stop
SLT := if in_position and In_date()
stop_inicial = entry_source * (1 - stop_perc)
max(stop_inicial, SLT[1])
else
0
slts = (low <= SLT) and (trailing == true)
//Essential Trade logics
entry_long = (entry_source <= lower) and (spread < max_spread_bb)
entry_long_augm = (entry_source <= lower_augm) and (spread_augm < max_spread_bb)
// Simple Bollinger Conditions
if (not in_position and show_simp and In_date())
if entry_long
// Trigger buy order
position_size = round( strategy.equity / close ) // All available equity for this strategy example
strategy.entry("Entry", strategy.long, qty = position_size )
SL := close * (1 - (stop_loss / 100)) // You could determine wether or not implement stop loss with bool input and if condition here.
if in_position and show_simp and not sell_profit and In_date()
//Exits if not sell in profit
if take_profit == "middle"
strategy.exit("Target", "Entry", limit = middle_sim, stop = SL, comment="Exit")
if take_profit == "opposite"
strategy.exit("Target", "Entry", limit = upper, stop = SL, comment="Exit")
if in_position and show_simp and sell_profit and In_date()
//Exits if sell in profit
if take_profit == "middle"
strategy.exit("Target", "Entry", limit = (strategy.openprofit > 0 ? middle_sim: na), stop = SL, comment="Exit")
if take_profit == "opposite"
strategy.exit("Target", "Entry", limit = (strategy.openprofit > 0 ? upper: na), stop = SL, comment="Exit")
if in_position and show_simp and slts and In_date()
//Trailing activation
strategy.close("Entry", comment="SLT")
if not In_date()
//Exit due out of date range
strategy.close("Entry", comment="Out of date range")
// Augmented Bollinger Conditions
if (not in_position and show_augm and In_date())
if entry_long_augm
// Trigger buy order
position_size = round( strategy.equity / close )
strategy.entry("Entry_A", strategy.long, qty = position_size )
SL := close * (1 - (stop_loss / 100) )
if in_position and show_augm and not sell_profit and In_date()
//Exits and not sell in profit
if take_profit == "middle"
strategy.exit("Target", "Entry_A", limit = middle_augm, stop = SL, comment="Exit")
if take_profit == "opposite"
strategy.exit("Target", "Entry_A", limit = upper_augm, stop = SL, comment="Exit")
if in_position and show_augm and sell_profit and In_date()
//Exit only in profit
if take_profit == "middle"
strategy.exit("Target", "Entry_A", limit = (strategy.openprofit > 0 ? middle_augm:na), stop = SL, comment="Exit")
if take_profit == "opposite"
strategy.exit("Target", "Entry_A", limit = (strategy.openprofit > 0 ? upper_augm: na) , stop = SL, comment="Exit")
if in_position and show_augm and slts and In_date()
//Trigger trailing
strategy.close("Entry_A", comment="SLT")
if not In_date()
//Out of date trigger
strategy.close("Entry_A", comment= "Out of date range")
// Plotting
plot(in_position ? SL > 0 ? SL : na : na , style = plot.style_circles, color = color.red, title = "Stop Loss")
plot(in_position ? trailing ? SLT > 0 ? SLT : na : na : na , style = plot.style_circles, color = color.blue, title = "Trailing Stop" )
s = plot(show_simp ? upper : na , color = color.aqua)
plot(show_simp ? middle_sim : na , color=color.red)
i = plot(show_simp ? lower : na , color = color.aqua)
fill(s,i, color=color.new(color.aqua,90))
plot(show_augm ? middle_augm : na , color=color.blue)
s_a = plot( show_augm ? upper_augm : na, color=color.orange)
i_a = plot( show_augm ? lower_augm : na, color= color.orange)
fill(s_a,i_a, color=color.new(color.orange, 90))