وسائل لوڈ ہو رہے ہیں... لوڈنگ...

اتار چڑھاؤ قیمت چینل منتقل اوسط ٹریڈنگ کی حکمت عملی

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

img

جائزہ

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

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

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

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

  3. چلتی اوسطوں کا حساب لگائیں۔ بالترتیب کھلی قیمت ، بند قیمت اور سپر ٹرینڈ کی اوسط لائنیں لیں۔

  4. تجارتی سگنل پیدا کریں:

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

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

  5. سٹاپ نقصان مقرر کریں اور منافع کی قیمت چینل لے لو.

فوائد کا تجزیہ

  1. متعدد اشارے کو یکجا کرنے سے غلط سگنل سے بچنے میں مدد ملتی ہے۔

  2. غیر معمولی قیمتوں کی حالتوں کا فیصلہ کرنے کے لئے قیمت چینل کا استعمال کرتے ہوئے کچھ ناپسندیدہ اندراج پوائنٹس کو فلٹر کر سکتا ہے.

  3. رجحان کی سمت کا فیصلہ کرنے کے ساتھ مل کر اوسط چلنے سے رجحان کے خلاف تجارت سے بچیں.

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

خطرے کا تجزیہ

  1. پیرامیٹر کی ترتیبات بہت ذہنی ہیں اور اصلاح کی ضرورت ہے.

  2. سٹاپ نقصان اور منافع لینے کی حد بہت وسیع یا بہت تنگ مقرر کی جا سکتی ہے۔

  3. قیمت چینل پیرامیٹرز تمام مصنوعات کے لئے موزوں نہیں ہو سکتا، علیحدہ ٹیسٹنگ کی ضرورت ہے.

  4. شدید رجحان کی تبدیلیوں کے دوران اہم نقصانات ہوسکتے ہیں۔

اصلاح کی ہدایات

  1. بہترین مجموعے تلاش کرنے کے لئے پیرامیٹرز کی جانچ اور اصلاح کریں.

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

  3. متعدد مصنوعات پر بیک ٹسٹ کریں اور کارکردگی کے مطابق پیرامیٹرز کا انتخاب کریں۔

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

نتیجہ

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


/*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")

مزید