
ایک سپر ٹرینڈ وی حکمت عملی ایک مختصر لائن ٹریڈنگ حکمت عملی ہے جو چلتی اوسط اور معیاری فرق پر مبنی ہے۔ یہ سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے قیمت کی رجحان کی سمت کا تعین کرتا ہے ، اور اس میں شامل ہونے کے لئے چلتی اوسط کی تشکیل کی حمایت اور مزاحمت کا استعمال کرتا ہے۔ اس کے ساتھ ہی ، یہ معیاری فرق چینل کا استعمال کرتا ہے جس میں قیمت کی ممکنہ حمایت اور مزاحمت کے علاقوں کی پیش گوئی کی جاتی ہے ، قیمت کی حد مقرر کی جاتی ہے جس میں اسٹاپ نقصان ہوتا ہے ، رجحان کی پیروی اور موثر باہر نکلنے کے لئے مختصر لائن ٹریڈنگ حکمت عملی۔
اس حکمت عملی میں سب سے پہلے سپر ٹرینڈ اشارے کا حساب لگایا جاتا ہے۔ سپر ٹرینڈ اشارے اے ٹی آر اور قیمتوں کے مابین تعلقات کا استعمال کرتے ہوئے رجحان کی سمت کا فیصلہ کرتے ہیں۔ جب قیمت اوپر کی طرف بڑھتی ہے تو اس کا فائدہ ہوتا ہے ، اور جب قیمت نیچے کی طرف بڑھتی ہے تو اس کا نقصان ہوتا ہے۔
پھر قیمت کے لئے EMA اور کھلنے والی قیمت کے لئے EMA کا حساب لگایا جاتا ہے ، جب قیمت اوپر کی طرف بڑھتی ہے اور کھلنے والی قیمت سے زیادہ ہوتی ہے تو خریدنے کا اشارہ ہوتا ہے ، اور جب قیمت نیچے کی طرف بڑھتی ہے اور کھلنے والی قیمت سے کم ہوتی ہے تو فروخت کا اشارہ ہوتا ہے۔
اس کے بعد ، معیاری فاصلے کا استعمال کرتے ہوئے قیمت کے راستے کے اوپر اور نیچے کے راستے کا حساب لگائیں ، اور اس کو ہموار کریں ، جب قیمت معیاری فاصلے سے ٹکرا جائے تو اس کا اشارہ بند ہوجاتا ہے ، اور جب قیمت معیاری فاصلے سے ٹکرا جائے تو اس کا اشارہ بند ہوجاتا ہے۔
آخر میں ، مختلف ٹائم فریموں کی متحرک اوسط کے ساتھ مل کر رجحان کی سمت کا تعین کیا جاتا ہے ، جو سپر ٹرینڈ اشارے کے ساتھ مل کر مستحکم رجحان کا تعین کرتا ہے۔
خطرے سے نمٹنے کے طریقے:
ٹرینڈ وی حکمت عملی میں رجحانات ، اوسط اور معیاری فاصلے والے راستے جیسے اشارے کی خوبیوں کو مربوط کیا گیا ہے ، جس سے رجحان کی سمت کا مستقل فیصلہ کیا جاسکتا ہے ، مناسب داخلے کا وقت منتخب کیا جاسکتا ہے ، اور قیمت کے علاقے میں اسٹاپ نقصان کی روک تھام کے لئے مختصر لائن ٹریڈنگ حکمت عملی طے کی جاسکتی ہے۔ پیرامیٹرز کی اصلاح ، اشارے کی اصلاح ، اسٹاپ نقصان کی روک تھام کی اصلاح وغیرہ کے ذریعہ بہتری ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بڑھا سکتی ہے۔ اس کا ٹھوس منطق اور سخت سوچ سیکھنے اور تحقیق کے قابل ہے۔
/*backtest
start: 2022-10-11 00:00:00
end: 2023-10-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © theCrypster 2020
//@version=4
strategy(title = "Super trend V Strategy version", overlay = true, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
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", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0) //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0) //plot for sell icon
//
multiplier = input(title="TP VWAP Deviation", type=input.float, defval=2, minval=1)
src5 = vwap
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(vwap, 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
//
// Testing Start dates
testStartYear = input(2016, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
l = buy
s1 = sell
if l and testPeriod()
strategy.entry("buy", strategy.long)
if s1 and testPeriod()
strategy.entry("sell", strategy.short)