
یہ حکمت عملی ایک ترمیم شدہ ٹرانزیکشن حجم آسکیولر اشارے کی بنیاد پر تجارت کرنے کی ایک رجحان سے باخبر رہنے کی حکمت عملی ہے۔ یہ تجارت کی اوسط لائن کا استعمال کرتا ہے ، تجارت میں اضافے کے سگنل کی نشاندہی کرتا ہے ، تاکہ پوزیشن میں داخل ہونے یا باہر نکلنے کا فیصلہ کیا جاسکے۔ اس کے ساتھ ساتھ قیمت کے رجحان کا فیصلہ بھی کیا جاتا ہے ، تاکہ قیمت کے اتار چڑھاؤ کے دوران غلط سگنل پیدا نہ ہوں۔
ان خطرات کو پیرامیٹرز کو ایڈجسٹ کرکے کنٹرول کیا جاسکتا ہے ، انڈیکیٹرز کے حساب کتاب کے طریقہ کار کو بہتر بنایا جاسکتا ہے ، اور دیگر اشارے کے ساتھ مل کر تصدیق کی جاسکتی ہے۔
اس حکمت عملی میں بہتر ٹرانزیکشن حجم آسکیولر ، قیمت کے رجحانات کا اندازہ کرنے میں معاون ہے ، اور دو حدیں کھولی اور بند کردی گئی ہیں۔ مجموعی طور پر ، یہ ایک زیادہ مستحکم رجحانات کی پیروی کرنے والی حکمت عملی ہے۔ اصلاح کی جگہ بنیادی طور پر پیرامیٹرز کی ایڈجسٹمنٹ ، سگنل فلٹرنگ اور اسٹاپ نقصان کی حکمت عملی کے لحاظ سے ہے۔ مجموعی طور پر ، اس حکمت عملی میں کچھ عملی قدر ہے ، جس میں مزید تحقیق اور اصلاح کے قابل ہے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy('Volume Advanced', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0)
_testPeriod() =>
iff(time >= startP and time <= end, true, false)
source = close
vol_length = input(34, title = "Volume - Length")
vol_smooth = input(200,title = "Volume - Smoothing")
volriselen = input(21, title = "Volume - Risinglength")
volfalllen = input(13, title = "Volume - Fallinglength")
threshold = input(1,"threshold")
threshold2 = input(1.2,step=0.1, title="Threshold 2")
direction = input(13,"amount of bars")
volsum = sum(volume, vol_length) / (sum(volume, vol_smooth) / (vol_smooth / vol_length))
LongEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close > close[direction]
ShortEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close < close[direction]
LongExit1 = falling (volsum,volfalllen)
ShortExit1 = falling (volsum,volfalllen)
LongExit2= (crossover(volsum, threshold2) and close < close[direction])
_state = 0
_prev = nz(_state[1])
_state := _prev
if _prev == 0
if LongEntry
_state := 1
_state
if ShortEntry
_state := 2
_state
if _prev == 1
if ShortEntry or LongExit1
_state := 0
_state
if _prev == 2
if LongEntry or ShortExit1
_state := 0
_state
_bLongEntry = _state == 1
_bLongClose = _state == 0
long_condition = _bLongEntry and close > close[direction]
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = _bLongClose or LongExit2
strategy.close('BUY', when=short_condition)
plot(volsum, color = color.green, title="Vol_Sum")
plot(threshold, color = color.fuchsia, transp=50, title="Threshold")
plot(threshold2, color=color.white, transp = 50, title="Threshold 2")