لچکدار بینڈوں کے الٹ پر مبنی طویل مدتی مقداری حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-15 11:34:45
ٹیگز:

اس مضمون میں الٹ پلٹ کی نشاندہی کرنے کے لئے اتار چڑھاؤ کی بینڈ کا استعمال کرتے ہوئے طویل مدتی مقداری تجارتی حکمت عملی کی تفصیل سے وضاحت کی گئی ہے۔ جب قیمتیں نیچے کی بینڈ کو توڑتی ہیں تو اوپر کی حرکت پر سوار ہونے کے لئے طویل پوزیشنیں لی جاتی ہیں۔

I. حکمت عملی منطق

بنیادی اشارے اتار چڑھاؤ کے بینڈ ہیں، جو مندرجہ ذیل کے طور پر شمار کیے جاتے ہیں:

  1. درمیانی، اوپری اور نچلی حرکت پذیر اوسط بینڈ کا حساب لگائیں۔

  2. خریدنے کا اشارہ اس وقت پیدا ہوتا ہے جب قیمت نیچے والے بینڈ سے ٹوٹ جاتی ہے۔

  3. جب قیمت اوپری بینڈ کو توڑتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔

  4. باہر نکلنے والے فروخت سگنل یا اوپری بینڈ وقفے پر ہوسکتے ہیں.

  5. سٹاپ نقصان ایک مقررہ فیصد ہے.

اس سے گرنے والے مراحل میں خریدنے کی اجازت ملتی ہے ، پھر منافع لینے کے ذریعے باہر نکلنے یا واپسی پر سرمایہ کاری کرنے کے لئے رک جاتا ہے۔

II۔ اسٹریٹیجی کے فوائد

اس کا سب سے بڑا فائدہ یہ ہے کہ الٹ پوائنٹس کی نشاندہی کرنے کے لئے اتار چڑھاؤ کی بینڈ کا استعمال کیا جاتا ہے ، جو ایک پختہ تکنیکی تجزیہ کی تکنیک ہے۔

ایک اور فائدہ یہ ہے کہ ہر تجارت کے خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا طریقہ کار ہے۔

آخر میں، اہرام سازی بھی واپسی کے بعد منافع میں مرحلے میں مدد ملتی ہے.

III. ممکنہ خطرات

تاہم، کچھ ممکنہ مسائل موجود ہیں:

سب سے پہلے، حرکت پذیر اوسطوں میں تاخیر ہوتی ہے اور بہترین انٹری ٹائمنگ کو یاد کرنے کا سبب بن سکتی ہے۔

دوسرا، منافع لینے اور سٹاپ نقصان کی سطح کو محتاط اصلاح کی ضرورت ہوتی ہے.

آخر میں، طویل عرصے تک برقرار رکھنے کا مطلب ہے کہ کچھ کھپت کا سامنا کرنا پڑتا ہے۔

IV. خلاصہ

خلاصہ یہ کہ ، اس مضمون میں واپسیوں پر سرمایہ کاری کرنے کے لئے اتار چڑھاؤ بینڈ کا استعمال کرتے ہوئے ایک طویل مدتی مقداری تجارتی حکمت عملی کی وضاحت کی گئی ہے۔ یہ طویل مدتی ہولڈنگز کے لئے واپسی کے مواقع کا مؤثر طریقے سے پتہ لگاسکتا ہے۔ لیکن ایم اے لیگز جیسے خطرات کی روک تھام کی ضرورت ہے ، اور باہر نکلنے کے لئے اصلاح کی ضرورت ہے۔ مجموعی طور پر یہ ایک مضبوط طویل مدتی تجارتی نقطہ نظر فراہم کرتا ہے۔


/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-12 04:00:00
period: 14m
basePeriod: 1m
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/
// © ediks123

//strategy logic  has been borrowed from ceyhun  and tweaked the settings for back testing

//@version=4


//SPY 4 hrs settings 8, 13 , 3.33 , 0.9  on 4 hrs chart
//QQQ above settings is good , but 13, 13 has less number of bars 
//QQQ 4 hrs settings 13, 13 , 3.33 , 0.9  on 4 hrs chart

strategy(title="Volatility Bands Reversal Strategy",  shorttitle="VolatilityBandReversal" , overlay=true, pyramiding=2,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,


av = input(8, title="Band Average")
vp = input(13, title="Volatility Period")
df = input(3.33,title="Deviation Factor",minval=0.1)
lba = input(0.9,title="Lower Band Adjustment",minval=0.1)

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(6,title="Stop Loss",minval=1)

exitOn=input(title="Exit on", defval="touch_upperband", options=["Sell_Signal", "touch_upperband"])



src = hlc3
typical = src >= src[1] ? src - low[1] : src[1] - low
deviation = sum( typical , vp )/ vp * df
devHigh = ema(deviation, av)
devLow = lba * devHigh
medianAvg = ema(src, av)

emaMediaAvg=ema(medianAvg, av)

upperBandVal= emaMediaAvg + devHigh
lowerbandVal= emaMediaAvg - devLow
MidLineVal=sma(medianAvg, av)

UpperBand = plot ( upperBandVal, color=#EE82EE, linewidth=2, title="UpperBand")
LowerBand = plot ( lowerbandVal , color=#EE82EE, linewidth=2, title="LowerBand")
MidLine = plot (MidLineVal, color=color.blue, linewidth=2, title="MidLine")
buyLine = plot ( (lowerbandVal + MidLineVal )/2  , color=color.blue, title="BuyLine")

up=ema(medianAvg, av) + devHigh
down=ema(medianAvg, av) - devLow


ema50=ema(hlc3,50)
plot ( ema50, color=color.orange, linewidth=2, title="ema 50")

//outer deviation

//deviation1 = sum( typical , vp )/ vp * 4
//devHigh1 = ema(deviation, av)
//devLow1 = lba * devHigh
//medianAvg1 = ema(src, av)

//UpperBand1 = plot (emaMediaAvg + devHigh1, color=color.red, linewidth=3, title="UpperBand1")
//LowerBand1 = plot (emaMediaAvg - devLow1, color=color.red, linewidth=3, title="LowerBand1")
//



///Entry Rules
//1)First candle close below the Lower Band of the volatility Band
//2)Second candle close above the lower band
//3)Third Candle closes above previous candle
Buy = close[2] < down[2] and close[1]>down[1] and close>close[1]
//plotshape(Buy,color=color.blue,style=shape.arrowup,location=location.belowbar, text="Buy")
//barcolor(close[2] < down[2] and close[1]>down[1] and close>close[1] ? color.blue :na )
//bgcolor(close[2] < down[2] and close[1]>down[1] and close>close[1] ? color.green :na )

///Exit Rules
//1)One can have a static stops initially followed by an trailing stop based on the risk the people are willing to take
//2)One can exit with human based decisions or predefined target exits. Choice of deciding the stop loss and profit targets are left to the readers.
Sell = close[2] > up[2] and close[1]<up[1] and close<close[1]
//plotshape(Sell,color=color.red,style=shape.arrowup,text="Sell")
barcolor(close[2] > up[2] and close[1]<up[1] and close<close[1] ? color.yellow :na )
bgcolor(close[2] > up[2] and close[1]<up[1] and close<close[1] ? color.red :na )

//Buyer = crossover(close,Buy)
//Seller = crossunder(close,Sell)

//alertcondition(Buyer, title="Buy Signal", message="Buy")
//alertcondition(Seller, title="Sell Signal", message="Sell")


//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1

strategy.entry(id="vbLE", long=true, qty=qty1, when=Buy)

bgcolor(strategy.position_size>=1 ? color.blue : na)
// stop loss exit
stopLossVal = strategy.position_size>=1 ?  strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
//draw initil stop loss
plot(strategy.position_size>=1 ? stopLossVal : na, color = color.purple , style=plot.style_linebr,  linewidth = 2, title = "stop loss") //, trackprice=true)


strategy.close(id="vbLE", comment="SL exit Loss is  "+tostring(close - strategy.position_avg_price,  "###.##") , when=abs(strategy.position_size)>=1 and close < stopLossVal )   




//close on Sell_Signal
strategy.close(id="vbLE", comment="Profit is : "+tostring(close - strategy.position_avg_price,  "###.##") , when=strategy.position_size>=1 and  exitOn=="Sell_Signal"  and Sell)

//close on touch_upperband
strategy.close(id="vbLE", comment="Profit is : "+tostring(close - strategy.position_avg_price,  "###.##") , when=strategy.position_size>=1 and  exitOn=="touch_upperband"  and (crossover(close, up) or crossover(high, up)))

مزید