سپر ٹرینڈ حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو اوسط حقیقی طول و عرض پر مبنی ہے۔ یہ اوسط حقیقی طول و عرض کا استعمال روکنے کی لائن کو قائم کرنے کے لئے کرتا ہے ، قیمتوں کا تعین کرکے رجحان کی سمت کا تعین کرنے کے لئے کہ آیا قیمتوں میں رکاوٹ کی لائن کو توڑ دیا گیا ہے ، اور اس طرح تجارتی سگنل پیدا کیا گیا ہے۔
یہ حکمت عملی پہلے ایک مخصوص دورانیے کے دوران اوسط حقیقی طول موج اے ٹی آر کا حساب لگاتی ہے۔ اس کے بعد اے ٹی آر کی قدر کے حساب سے لمبی لائن اسٹاپ لائن اور مختصر لائن اسٹاپ لائن کا حساب لگانے کے لئے ایک اسکیلنگ فیکٹر سے ضرب لگاتا ہے۔ اس حساب کتاب کا طریقہ مندرجہ ذیل ہے:
atr = mult * atr(length)
longStop = hl2 - atr
shortStop = hl2 + atr
جس میں length اے ٹی آر کے حساب سے دورانیہ کی لمبائی ہے، اور ملٹ اے ٹی آر کے اسکیلنگ فیکٹر ہے۔
اسٹاپ لائن کا حساب لگانے کے بعد ، حکمت عملی اس بات کا تعین کرتی ہے کہ آیا قیمت نے پچھلی K لائن کی اسٹاپ لائن کو توڑ دیا ہے یا نہیں ، تاکہ رجحان کی سمت کا تعین کیا جاسکے:
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
جب لمبی لائن اسٹاپ لائن ٹوٹ جاتی ہے تو ، اس کا خیال ہے کہ رجحان زیادہ بدل گیا ہے۔ جب مختصر لائن اسٹاپ لائن ٹوٹ جاتی ہے تو ، اس کا خیال ہے کہ رجحان ہوا ہے۔
ٹرینڈ کی سمت میں تبدیلی کی صورت میں خرید اور فروخت کے سگنل پیدا ہوتے ہیں:
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
آخر میں ، جب خرید و فروخت کے اشارے ظاہر ہوں تو ، اسی طرح کی تجارت کریں۔
اوسط حقیقی طول و عرض کا استعمال کرتے ہوئے اسٹاپ نقصان کی لکیر کا حساب لگائیں ، مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کریں ، اور زیادہ قابل اعتماد رجحان سگنل کو پکڑیں۔
اسٹریٹجک پیرامیٹرز کم ہیں ، سمجھنے اور چلانے میں آسان ہیں۔ اے ٹی آر سائیکل اور ضرب عنصر کو مختلف مارکیٹ کے حالات کے مطابق ڈھال لیا جاسکتا ہے۔
ٹرانسمیشن کی سمت میں تبدیلیوں کا اندازہ لگانے کے لئے توڑنے والی روک تھام کی لائن کا استعمال کرتے ہوئے ، خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے ، اور وقت پر نقصان کو روک سکتا ہے۔
ایک سے زیادہ یا دو طرفہ تجارت کے لئے ترتیب دیا جا سکتا ہے، مختلف ٹریڈنگ سٹائل کو پورا کرنے کے لئے.
کسی بھی وقت کی مدت کے دوران استعمال کیا جا سکتا ہے، جو مختلف قسم کے تجارت کے لئے موزوں ہے.
زلزلے کے حالات میں ، اے ٹی آر کی قدر کو بڑھایا جاسکتا ہے ، جس کی وجہ سے اسٹاپ نقصان کی لائن زیادہ وسیع ہوجاتی ہے ، جس سے مزید جھوٹے اشارے پیدا ہوتے ہیں۔
بہترین پیرامیٹرز کا مجموعہ طے نہیں کیا جاسکتا ، اے ٹی آر سائیکل اور ضرب کو مارکیٹ کے حالات کے مطابق بہتر بنانے کی ضرورت ہے۔
ٹرانزیکشن کی اقسام کے لئے بہترین ٹرانزیکشن سائیکل کا تعین کرنے کے لئے ناممکن ہے، ہر ٹرانزیکشن کی اقسام کے لئے ٹیسٹ کی ضرورت ہوتی ہے.
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کے بعد سے ، اس کی وجہ یہ ہے کہ اس کی وجہ سے ، اس کی وجہ سے ، اس کی وجہ سے ، اس کی وجہ سے۔
کچھ خالی پوزیشن کا خطرہ موجود ہے ، جب رجحان کمزور ہوتا ہے تو خالی پوزیشن میں ہوسکتا ہے۔
اسٹاپ نقصان کے خلاف ورزی کا خطرہ ہے ، اسٹاپ لائن کو مناسب طریقے سے نرمی دی جائے۔
دوسرے اشارے کے ساتھ مل کر فلٹرنگ پر غور کیا جاسکتا ہے تاکہ ہلچل کے حالات میں غلط سگنل سے بچایا جاسکے۔ مثال کے طور پر MACD ، RSI وغیرہ۔
مشین لرننگ یا جینیاتی الگورتھم استعمال کیا جاسکتا ہے تاکہ بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔
مختلف اقسام کے لئے پیرامیٹرز کی اصلاح کی جاسکتی ہے ، تاکہ بہترین اے ٹی آر سائیکل اور ضرب کا عنصر طے کیا جاسکے۔
ابتدائی داخلے سے بچنے کے لئے ، مقدار کے اشارے کے ساتھ مل کر داخلے کے وقت کا تعین کیا جاسکتا ہے ، مثال کے طور پر ، حجم۔
لاک پوزیشن کی حکمت عملی پر غور کیا جاسکتا ہے ، جب خالی پوزیشن میں پوزیشن رکھنا باقی ہے۔
اسٹاپ نقصان کی حد کو مناسب طریقے سے وسیع کیا جاسکتا ہے ، اور رجحان کی طاقت کے اشارے کے ساتھ مل کر اسٹاپ نقصان کی پوزیشن کو بہتر بنایا جاسکتا ہے۔
سپر ٹرینڈ حکمت عملی ایک قابل اعتماد اور خطرے سے بچنے والی حکمت عملی میں سے ایک ہے جس میں رجحان کی تبدیلی کا پتہ لگانے کے لئے اوسط حقیقی طول و عرض کا حساب کتاب کرکے متحرک اسٹاپ نقصان کی لائن کا حساب لگایا جاتا ہے ، قیمتوں میں توڑنے کا فیصلہ کیا جاتا ہے۔ یہ حکمت عملی آسان ہے اور متعدد تجارتی اقسام کے لئے موزوں ہے ، لیکن مختلف مارکیٹوں میں بہتر اثر حاصل کرنے کے لئے پیرامیٹرز اور حکمت عملی کے قواعد کو بہتر بنانے کی ضرورت ہے۔ دوسرے تکنیکی اشارے اور حکمت عملی کے مجموعے کے ساتھ استعمال سے بہتر تجارتی کارکردگی حاصل کی جاسکتی ہے۔ مجموعی طور پر ، سپر ٹرینڈ حکمت عملی ایک سائنسی تصور پر مبنی ہے اور تاجروں کے لئے مزید تحقیق اور اطلاق کے قابل ہے۔
/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy("SuperTrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000)
LongOnly = input(title="Long Only ?", type=input.bool, defval=true)
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2019, title="From Year", minval=1970)
// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=1, title="To Month", minval=1, maxval=12)
toYear = input(defval=2020, title="To Year", minval=1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
atr = mult * atr(length)
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
longColor = color.green
shortColor = color.red
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plotshape(buySignal ? longStop : na, title="Long Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0)
plotshape(buySignal and showLabels ? longStop : na, title="Buy Label", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=color.white, transp=0)
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1
plotshape(sellSignal ? shortStop : na, title="Short Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0)
plotshape(sellSignal and showLabels ? shortStop : na, title="Sell Label", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=color.white, transp=0)
if LongOnly
if buySignal and time_cond
strategy.entry("Long", strategy.long, comment="Long")
if(sellSignal and time_cond)
strategy.close("Long")
else
if buySignal and time_cond
strategy.entry("Long", strategy.long, comment="Long")
else
strategy.cancel("Long")
if sellSignal and time_cond
strategy.entry("Short", strategy.short, comment="Short")
else
strategy.cancel("Short")
if not time_cond
strategy.close_all()