اتار چڑھاؤ پرائس چینل موونگ ایوریج ٹریڈنگ اسٹریٹجی


تخلیق کی تاریخ: 2023-12-12 11:44:15 آخر میں ترمیم کریں: 2023-12-12 11:44:15
کاپی: 0 کلکس کی تعداد: 552
1
پر توجہ دیں
1621
پیروکار

اتار چڑھاؤ پرائس چینل موونگ ایوریج ٹریڈنگ اسٹریٹجی

جائزہ

یہ حکمت عملی سپر ٹرینڈ انڈیکیٹر اور پرائس چینل انڈیکیٹر پر مبنی ہے ، جس میں یکساں لائن سگنل کے ساتھ تجارت کی جاتی ہے۔ اس کا بنیادی خیال یہ ہے کہ قیمت کے چینل کا استعمال موجودہ قیمت کی غیر معمولی حالت میں ہے یا نہیں ، سپر ٹرینڈ موجودہ رجحان کی سمت کا تعین کرتا ہے ، اور یکساں لائن سگنل کے ساتھ مل کر ٹریڈنگ سگنل پیدا کرتا ہے۔

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

  1. سپر ٹرینڈ اشارے کا حساب لگائیں۔ اس میں اوپر اور نیچے کی لائنیں موجودہ قیمتوں کے علاوہ / کم اے ٹی آر اشارے کے N گنا ہیں۔ جب قیمت اوپر سے زیادہ ہو تو بیعانہ اور جب قیمت نیچے سے کم ہو تو بیعانہ۔

  2. قیمت چینل اشارے کا حساب لگائیں۔ جہاں قیمت چینل لائن قیمت کے N دن کے اندر معیاری فرق کی M گنا ہے۔ قیمت چینل لائن سے اوپر / نیچے غیر معمولی حالت سمجھا جاتا ہے۔

  3. اوسط لکیری کا حساب لگائیں۔ کھلنے ، بند ہونے اور سپر رجحانات کی اوسط لکیری۔

  4. ٹریڈنگ سگنل:

    • خریدنے کا اشارہ: اختتامی قیمت پر سپر ٹرینڈ لائن اور اوپن قیمت کی اوسط لائن سے زیادہ

    • فروخت سگنل: بندش کی قیمت کے نیچے سپر ٹرینڈ لائن کو توڑنا اور اوسط کھلنے والی قیمت سے کم ہونا

  5. اسٹاپ نقصان سٹاپ قیمت چینل قائم کریں۔

حکمت عملی کا تجزیہ

  1. غلط سگنل سے بچنے کے لئے ایک سے زیادہ اشارے کے ساتھ مل کر

  2. قیمتوں کے چینل کا استعمال کرتے ہوئے قیمتوں کی غیر معمولی حالت کا اندازہ لگایا جاسکتا ہے ، جس سے کچھ غیر مطلوبہ داخلے کے مقامات کو فلٹر کیا جاسکتا ہے۔

  3. اوسط لائن رجحان کی سمت کا تعین کرنے کے لئے استعمال کیا جاتا ہے، مخالف آپریشن سے بچنے کے لئے.

  4. خطرے کو کنٹرول کرنے کے لئے سٹاپ نقصان کی حد مقرر کریں.

خطرے کا تجزیہ

  1. پیرامیٹرز کی ترتیب بہت ذہنی ہے اور بہتر بنانے کی ضرورت ہے۔

  2. نقصان کی روک تھام کی حد بہت چھوٹی سیٹ کی جا سکتی ہے۔

  3. قیمت چینل پیرامیٹرز تمام اقسام کے لئے موزوں نہیں ہوسکتے ہیں اور مختلف اقسام کے لئے الگ الگ ٹیسٹ کی ضرورت ہوتی ہے۔

  4. اس کے نتیجے میں ، اس کی قیمتوں میں کمی واقع ہوئی ہے ، اور اس کے نتیجے میں اس کی قیمتوں میں کمی واقع ہوئی ہے۔

اصلاح کی سمت

  1. پیرامیٹرز کو ٹیسٹ میں بہتر بنانے کے لئے ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔

  2. مختلف اوسط لکیری ادوار کی جانچ کریں اور بہترین پیرامیٹرز منتخب کریں۔

  3. ایک سے زیادہ پرجاتیوں کے لئے retesting، کارکردگی کے مطابق پیرامیٹرز کو منتخب کریں

  4. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں تاکہ ایک ہی وقت میں زیادہ سے زیادہ نقصانات سے بچا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Vol ST VM", overlay=true)

source = close
hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)
VPT = spreadvol + cum(spreadvol)
window_len = 28

v_len = 14
price_spread = stdev(high-low, window_len)

v =  spreadvol + cum(spreadvol)
smooth = sma(v, v_len)
v_spread = stdev(v - smooth, window_len)
shadow = (v - smooth) / v_spread * price_spread

out = shadow > 0 ? high + shadow : low + shadow
//
src = out
src1=open
src2=low
src3=high
tf =input(720)
len = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   tf / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7

c = ema(src, len)
plot(c,color=color.red)
o = ema(src1,len)
plot(o,color=color.blue)
//h = ema(src3,len)
//l=ema(src2,len)
//
col=c > o? color.lime : color.orange
vis = true
vl = c
ll = o
m1 = plot(vl, color=col, linewidth=1, transp=60)
m2 = plot(vis ? ll : na,  color=col, linewidth=2, transp=80)

fill(m1, m2,  color=col, transp=70)
//

vpt=ema(out,len)

// INPUTS //
st_mult   = input(1,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(10, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev = vpt - (st_mult * atr(st_period))
dn_lev = vpt + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := close[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( close, st_line) and close>o
sell=crossunder(close, st_line) and close<o
//plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny)
//plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny)
plotshape(buy, title="buy", color=color.green, style=shape.arrowup, location=location.belowbar, size=size.normal, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(sell, title="sell", color=color.red, style=shape.arrowdown, location=location.abovebar, size=size.normal, textcolor=color.white, transp=0)  //plot for sell icon


//
multiplier = input(title="TP", type=input.float, defval=2, minval=1)
src5 = close
len5 = input(title="TP length", defval=150, minval=1)
offset = 0

calcSlope(src5, len5) =>
    sumX = 0.0
    sumY = 0.0
    sumXSqr = 0.0
    sumXY = 0.0
    for i = 1 to len5
        val = src5[len5-i]
        per = i + 1.0
        sumX := sumX + per
        sumY := sumY + val
        sumXSqr := sumXSqr + per * per
        sumXY := sumXY + val * per
        
        
    slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX)
    average = sumY / len5
    intercept = average - slope * sumX / len5 + slope
    [slope, average, intercept]

var float tmp = na
[s, a, i] = calcSlope(src5, len5)

vwap1=(i + s * (len5 - offset))
sdev = stdev(close, len5)
dev = multiplier * sdev
top=vwap1+dev
bott=vwap1-dev

//
z1 = vwap1 + dev
x1 = vwap1 - dev

low1 = crossover(close, x1)  
high1 = crossunder(close, z1) 

plotshape(low1, title="low", text="TP", color=color.red, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(high1, title="high", text="TP", color=color.green, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)  //plot for sell icon



strategy.entry(id="Enter Long MA", long=true, comment="Buy", when=high1)
strategy.entry(id="Short Entry MA", long=false, comment="Sell", when=low1)

/////// Alerts /////
alertcondition(buy,title="buy")
alertcondition(sell,title="sell")
alertcondition(low1,title="sell tp")
alertcondition(high1,title="buy tp")