متحرک خرید/فروخت والیوم میں اتار چڑھاؤ بریک آؤٹ حکمت عملی


تخلیق کی تاریخ: 2023-12-26 11:15:31 آخر میں ترمیم کریں: 2023-12-26 11:15:31
کاپی: 0 کلکس کی تعداد: 634
1
پر توجہ دیں
1623
پیروکار

متحرک خرید/فروخت والیوم میں اتار چڑھاؤ بریک آؤٹ حکمت عملی

جائزہ

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

حکمت عملی کا اصول

  1. اپنی مرضی کے مطابق وقت کے دورانیے کے اندر اندر خرید و فروخت کے حجم کے اشارے کا حساب لگائیں
  • BV: خرید، کم قیمتوں پر خریدنے سے پیدا ہونے والی مقدار
  • ایس وی: فروخت کی مقدار، فروخت کی اعلی سطح سے پیدا ہونے والی مقدار
  1. خرید و فروخت کی مقدار پر کارروائی
  • 20 سائیکل ای ایم اے کا استعمال کرتے ہوئے ہموار
  • پروسیسنگ کے بعد خرید و فروخت کی مقدار کو مثبت اور منفی علیحدگی
  1. اشارے کی سمت کا تعین
  • 0 سے بڑا اشارے اوپر کی طرف، 0 سے چھوٹا اشارے نیچے کی طرف
  1. وی ڈبلیو اے پی اور برین بینڈ کے فیصلے کے ساتھ
  • قیمتیں VWAP سے اوپر ہیں اور اشارے زیادہ سگنل کے طور پر دیکھ رہے ہیں
  • قیمت VWAP سے نیچے ہے اور اشارے میں کمی کا نشانہ بنایا گیا ہے
  1. متحرک سٹاپ نقصان
  • فی دن ATR سیٹ اسٹاپ نقصان کا فیصد

اسٹریٹجک فوائد

  1. خرید و فروخت کی مقدار مارکیٹ کی حقیقی طاقت کی عکاسی کرتی ہے ، رجحان کی ممکنہ توانائی کو پکڑتی ہے
  2. مدار وی ڈبلیو اے پی نے بڑے دورانیہ کے رجحان کی سمت کا فیصلہ کیا ، برن بینڈ نے بریک سگنل کا فیصلہ کیا
  3. متحرک اے ٹی آر اسٹاپ نقصان کی ترتیب ، زیادہ سے زیادہ منافع کو لاک کرنے اور زیادہ تر ایڈجسٹمنٹ سے بچنے کے لئے

اسٹریٹجک رسک

  1. خرید و فروخت کے اعداد و شمار میں کچھ غلطیاں ہیں جو غلط فیصلے کا سبب بن سکتی ہیں۔
  2. ایک ہی اشارے کے ساتھ فیصلے، غلط سگنل پیدا کرنے کے لئے آسان
  3. بریلن بینڈ پیرامیٹر کی غلط ترتیب ، مؤثر کامیابی کو کم کرتی ہے

حکمت عملی کی اصلاح کی سمت

  1. کثیر دورانیہ خرید و فروخت کے اشارے کو بہتر بنایا گیا
  2. معاون اشارے فلٹر کریں ، جیسے تجارت میں اضافہ
  3. متحرک طور پر برن بینڈ پیرامیٹرز کو ایڈجسٹ کریں ، جس سے توڑنے کی کارکردگی میں اضافہ ہوتا ہے

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
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/
// © original author ceyhun
//@ exlux99 update

//@version=5
strategy('Buying Selling Volume Strategy', format=format.volume, precision=0, overlay=false)

weekly_vwap = request.security(syminfo.tickerid, "W", ta.vwap(hlc3))

vi = false
customTimeframe = input.timeframe("60", group="Entry Settings")

allow_long = input.bool(true, group="Entry Settings")
allow_short = input.bool(false, group="Entry Settings")

xVolume = request.security(syminfo.tickerid, customTimeframe, volume)
xHigh = request.security(syminfo.tickerid, customTimeframe, high)
xLow = request.security(syminfo.tickerid, customTimeframe, low)
xClose = request.security(syminfo.tickerid, customTimeframe, close)

BV = xHigh == xLow ? 0 : xVolume * (xClose - xLow) / (xHigh - xLow)
SV = xHigh == xLow ? 0 : xVolume * (xHigh - xClose) / (xHigh - xLow)

vol = xVolume > 0 ? xVolume : 1
TP = BV + SV
BPV = BV / TP * vol
SPV = SV / TP * vol
TPV = BPV + SPV

tavol20 = request.security(syminfo.tickerid, customTimeframe, ta.ema(vol, 20))
tabv20= request.security(syminfo.tickerid, customTimeframe, ta.ema(BV, 20))
tasv20= request.security(syminfo.tickerid, customTimeframe, ta.ema(SV, 20))
VN = vol / tavol20
BPN = BV / tabv20 * VN * 100
SPN = SV / tasv20 * VN * 100
TPN = BPN + SPN

xbvp = request.security(syminfo.tickerid, customTimeframe,-math.abs(BPV))
xbpn = request.security(syminfo.tickerid, customTimeframe,-math.abs(BPN))
xspv = request.security(syminfo.tickerid, customTimeframe,-math.abs(SPV))
xspn = request.security(syminfo.tickerid, customTimeframe,-math.abs(SPN))

BPc1 = BPV > SPV ? BPV : xbvp
BPc2 = BPN > SPN ? BPN : xbpn
SPc1 = SPV > BPV ? SPV : xspv
SPc2 = SPN > BPN ? SPN : xspn
BPcon = vi ? BPc2 : BPc1
SPcon = vi ? SPc2 : SPc1


minus = BPcon + SPcon
plot(minus, color = BPcon > SPcon  ? color.green : color.red , style=plot.style_columns) 

length = input.int(20, minval=1, group="Volatility Settings")
src = minus//input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev", group="Volatility Settings")
xtasma = request.security(syminfo.tickerid, customTimeframe, ta.sma(src, length))
xstdev = request.security(syminfo.tickerid, customTimeframe, ta.stdev(src, length))
basis = xtasma
dev = mult * xstdev
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color=#FF6D00, offset = 0)
p1 = plot(upper, "Upper", color=#2962FF, offset = 0)
p2 = plot(lower, "Lower", color=#2962FF, offset = 0)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// Original a
longOriginal = minus > upper and BPcon > SPcon and close > weekly_vwap
shortOriginal = minus > upper and BPcon < SPcon and close< weekly_vwap



high_daily = request.security(syminfo.tickerid, "D", high)
low_daily  = request.security(syminfo.tickerid, "D", low)
close_daily = request.security(syminfo.tickerid, "D", close)

true_range = math.max(high_daily - low_daily, math.abs(high_daily - close_daily[1]), math.abs(low_daily - close_daily[1]))
atr_range = ta.sma(true_range*100/request.security(syminfo.tickerid, "D", close), 14)

ProfitTarget_Percent_long = input.float(100.0, title='TP Multiplier for Long entries ', step=0.5, step=0.5, group='Dynamic Risk Management')
Profit_Ticks_long = close + (close * (atr_range * ProfitTarget_Percent_long))/100
LossTarget_Percent_long = input.float(1.0, title='SL Multiplier for Long entries', step=0.5, group='Dynamic Risk Management')
Loss_Ticks_long = close - (close * (atr_range * LossTarget_Percent_long ))/100

ProfitTarget_Percent_short = input.float(100.0, title='TP Multiplier for Short entries ', step=0.5, step=0.5, group='Dynamic Risk Management')
Profit_Ticks_short = close - (close * (atr_range*ProfitTarget_Percent_short))/100
LossTarget_Percent_short = input.float(5.0, title='SL Multiplier for Short entries', step=0.5, group='Dynamic Risk Management')
Loss_Ticks_short = close + (close * (atr_range*LossTarget_Percent_short))/100



var longOpened_original = false
var int timeOfBuyLong = na
var float tpLong_long_original = na
var float slLong_long_original = na
long_entryx = longOriginal

longEntry_original = long_entryx and not longOpened_original 


if longEntry_original
    longOpened_original := true
    tpLong_long_original := Profit_Ticks_long
    slLong_long_original := Loss_Ticks_long
    timeOfBuyLong := time
    //lowest_low_var_sl := lowest_low

     
tpLong_trigger = longOpened_original[1] and ((close > tpLong_long_original) or (high > tpLong_long_original)) //or high > lowest_low_var_tp
slLong_Trigger = longOpened_original[1] and ((close < slLong_long_original) or (low < slLong_long_original)) //or low < lowest_low_var_sl

longExitSignal_original =   shortOriginal or tpLong_trigger or slLong_Trigger 


if(longExitSignal_original)
    longOpened_original := false
    tpLong_long_original := na
    slLong_long_original := na


if(allow_long)
    strategy.entry("long", strategy.long, when=longOriginal) 
    strategy.close("long", when= longExitSignal_original) //or shortNew

if(allow_short)
    strategy.entry("short", strategy.short, when=shortOriginal ) 
    strategy.close("short", when= longOriginal) //or shortNew