
سپر ٹرینڈ ٹریڈنگ حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو اوسطا حقیقی رینج (اے ٹی آر) اور منتقل اوسط (ایم اے) پر مبنی ہے۔ یہ رجحان کی پیروی اور توڑنے والی تجارت کے فوائد کو جوڑتا ہے ، جس کا مقصد درمیانی مدت کے رجحان کی سمت کی نشاندہی کرنا اور رجحان کی تبدیلی کے مطابق تجارتی سگنل پیدا کرنا ہے۔
اس حکمت عملی کا بنیادی نظریہ یہ ہے کہ جب قیمت سپر ٹرینڈ چینل کو توڑ دیتی ہے تو ، اس رجحان کے الٹ ہونے کی نشاندہی کی جاتی ہے ، اس وقت خرید یا فروخت کی جاتی ہے۔ اس نے منافع کو مقفل کرنے اور خطرے کو کنٹرول کرنے کے لئے ایک ہی وقت میں اسٹاپ نقصان اور اسٹاپ اسٹاپ کی سطح طے کی ہے۔
سپر ٹرینڈ حکمت عملی کے حساب کتاب کے عمل میں درج ذیل مراحل شامل ہیں:
اس حکمت عملی کا فائدہ یہ ہے کہ یہ ایک ہی وقت میں رجحان کی پیروی اور رجحان کی واپسی کے ساتھ تجارت کے طریقوں کو جوڑتا ہے۔ یہ بڑے رجحان کی سمت کا اندازہ لگانے کے ساتھ ساتھ واپسی کے مواقع کو بروقت پکڑنے کے قابل ہے۔ اس کے علاوہ ، اس میں خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصانات کا نظام بھی ہے۔
سپر ٹرینڈ حکمت عملی کے درج ذیل فوائد ہیں:
1۔ درمیانی مدت کے رجحانات کی نگرانی کرنا
سپر ٹرینڈ چینل اے ٹی آر حساب کتاب پر مبنی ہے ، جو درمیانی مدت کی قیمتوں میں اتار چڑھاو کی حد کو مؤثر طریقے سے ظاہر کرنے کے قابل ہے۔ یہ عام حرکت پذیر اوسط سے زیادہ درمیانی مدت کے رجحانات کی پیروی کرنے کے قابل ہے۔
2۔ وقت پر رجحان کی تبدیلی کو پکڑنا
جب قیمت چینل کو توڑتی ہے تو ، فوری طور پر تجارتی سگنل جاری کیا جاتا ہے ، جس سے بڑے رجحان کی واپسی کو بروقت پکڑ لیا جاسکتا ہے۔ اس سے پوزیشن کو مناسب طریقے سے ایڈجسٹ کرنے اور اوور ٹرم ہولڈنگ کو کم کرنے کی ضمانت ملتی ہے۔
3 ۔ نقصان سے بچنے کا طریقہ کار
اس حکمت عملی میں ایک ہی وقت میں اسٹاپ اور اسٹاپ پوزیشنیں مقرر کی گئیں ہیں ، جو خود بخود اسٹاپ کو روک سکتی ہیں۔ اس سے پھیلنے والے نقصانات کا خطرہ بہت حد تک کم ہوجاتا ہے ، جو رجحان کی صورتحال کو سمجھنے میں مددگار ہوتا ہے۔
4۔ آسان طریقے سے
اس حکمت عملی میں بنیادی طور پر اوسط لائن اور اے ٹی آر اشارے استعمال کیے جاتے ہیں ، جس سے یہ آسان اور آسانی سے حاصل کیا جاسکتا ہے۔ اس سے ڈسک پر کام کرنے میں دشواری کم ہوجاتی ہے۔
5۔ فنڈز کا موثر استعمال
سپر رجحانات کی حکمت عملی درمیانی مدت کے رجحانات کا سراغ لگاتی ہے اور انفرادی سلائڈ پوائنٹس کو کنٹرول کرتی ہے ، جس سے مجموعی طور پر فنڈز کا زیادہ استعمال ہوتا ہے۔
سپر ٹرینڈز کی حکمت عملی میں کچھ ممکنہ خطرات بھی ہیں:
1۔ ہلچل کے رجحان کی اعلی موقع لاگت
سپر ٹرینڈ حکمت عملی درمیانی اور طویل مدتی رجحانات پر توجہ مرکوز کرتی ہے ، اور چونکانے والی مارکیٹوں میں ، اس کی لاگت زیادہ ہے ، جس سے کچھ کم کرنے کے مواقع ضائع ہوسکتے ہیں۔
2. پیرامیٹرز کی اصلاح کے اثرات
اے ٹی آر سائیکل اور اے ٹی آر ضرب کا انتخاب تجارتی حکمت عملی کی تاثیر پر زیادہ اثر ڈالتا ہے۔ اگر پیرامیٹرز کو غلط ترتیب دیا جائے تو ، تجارتی سگنل کی تاثیر کو چھوٹ دی جائے گی۔
3۔ کچھ حد تک پسماندگی
سپر ٹرینڈ چینل کے حساب سے کچھ تاخیر ہوسکتی ہے ، جس کی وجہ سے سگنل دیر سے پیدا ہوسکتے ہیں۔ یہ اس حکمت عملی کا بنیادی مسئلہ ہے جس کو حل کرنے کی ضرورت ہے۔
4 ۔ سخت نقصان کنٹرول کی ضرورت
اگر اسٹاپ نقصان کی پوزیشن بہت بڑی ترتیب دی گئی ہو یا ونڈ کنٹرول سے بچنے میں ناکامی ہو تو ، انتہائی حالات میں اس سے زیادہ نقصان ہوسکتا ہے۔ لہذا ، مستحکم منافع حاصل کرنے کے لئے اسٹاپ نقصان کی حکمت عملی پر سختی سے عمل کرنا ضروری ہے۔
سپر ٹرینڈ حکمت عملی میں مزید اصلاحات کی گنجائش ہے ، جس میں شامل ہیں:
ایک سے زیادہ اے ٹی آر سائیکلوں کا مجموعہ
مثال کے طور پر 10 دن ، 20 دن وغیرہ متعدد اے ٹی آر سائیکلوں کو ملا کر مجموعی اے ٹی آر اشارے تشکیل دے سکتے ہیں۔ اس طرح اشارے کی حساسیت کو بہتر بنایا جاسکتا ہے ، اور تاخیر کی دشواری کو بہتر بنایا جاسکتا ہے۔
2۔ اسٹاپ نقصان کی حکمت عملی کا ماڈیول شامل کریں
اس کے علاوہ ، ٹریپل اسٹاپ ، نوسکھئیے اسٹاپ ، اور ترتیب بندش جیسے اسٹریٹجک ماڈیولز کو شامل کرکے ، نقصان کے خطرے کو کم کرنے کے لئے اسٹاپ کنٹرول کو مزید مضبوط بنایا جاسکتا ہے۔
3. پیرامیٹرز کی ترتیب کو بہتر بنائیں
اے ٹی آر سائیکل ، اے ٹی آر ضرب وغیرہ پیرامیٹرز کی ترتیب کو بہتر بنائیں ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں ، اس سے حکمت عملی کی آمدنی میں مزید اضافہ ہوسکتا ہے۔ اس کے علاوہ ، پیرامیٹرز کو متحرک طور پر بہتر بنایا جاسکتا ہے ، مختلف اقسام اور مارکیٹ کے مراحل کے مطابق مناسب اقدار کا انتخاب کریں۔
4۔ انٹیگریٹڈ مشین لرننگ ماڈل
آخر میں ، مشین لرننگ ماڈل کو مربوط کرنے کی کوشش کی جاسکتی ہے ، جس سے رجحانات کی تشخیص اور سگنل سے پیدا ہونے والی آٹومیشن ممکن ہوسکتی ہے۔ اس سے موضوعی عوامل کی مداخلت کو کم کیا جاسکتا ہے ، اور اسٹریٹجک نظام کی استحکام کو مزید بہتر بنانے کا امکان ہے۔
سپر ٹرینڈ ٹریڈنگ حکمت عملی درمیانی مدت کے رجحانات کا اندازہ لگانے کے لئے اور رجحانات کے الٹ پوائنٹس پر ٹریڈنگ سگنل پیدا کرنے اور خود کار طریقے سے اسٹاپ نقصان کو حاصل کرنے کے لئے اوسط لائن اشارے اور اے ٹی آر اشارے کا جامع استعمال کرتی ہے۔ اس حکمت عملی میں بڑے رجحانات کو پکڑنے کے ساتھ ساتھ وقت میں الٹ پوائنٹس پر بھی قبضہ کیا جاسکتا ہے۔ اس کا فائدہ بنیادی طور پر درمیانی مدت کے رجحانات کی پیروی ، رجحان الٹ شناخت اور اسٹاپ نقصان کنٹرول کے تین پہلوؤں میں ظاہر ہوتا ہے۔
لیکن اس حکمت عملی میں کچھ خامیاں بھی ہیں ، بنیادی طور پر چونکانے والی صورتحال کو سمجھنے میں کمی اور تاخیر کا مسئلہ۔ اس کے لئے متعدد پہلوؤں سے اصلاحات کی ضرورت ہے ، جیسے کہ اے ٹی آر سائیکل کو جوڑنا ، اسٹاپ نقصان ماڈیول کو بڑھانا ، پیرامیٹرز کی اصلاح اور مشین لرننگ متعارف کرانا۔ یہ یقینی طور پر اس سپر ٹرینڈ حکمت عملی کی استحکام اور سونے کی شرح کو مزید بڑھا سکتا ہے۔
/*backtest
start: 2022-11-30 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Supertrend V1.0 - Buy or Sell Signal",overlay=true)
Factor=input(3, minval=1,maxval = 100)
Pd=input(7, minval=1,maxval = 100)
//Calculating ATR
atrLength = input(title="ATR Length:", defval=14, minval=1)
Stop_Loss_Factor = input(1.5, minval=0,step=0.01)
factor_profit = input(1.0, minval=0,step=0.01)
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 4, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 10, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2016, title = "From Year", minval = 2009)
ToMonth = input(defval = 4, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 10, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2039, title = "To Year", minval = 2017)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
// Calculate ATR
atrValue=atr(atrLength)
decimals = abs(log(syminfo.mintick) / log(10))
Atr = atrValue
if(decimals == 5)
Atr := atrValue * 10000
if(decimals == 4)
Atr := atrValue * 1000
if(decimals == 3)
Atr := atrValue * 100
if(decimals == 2)
Atr := atrValue * 10
//VJ2 Supertrend
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp = 0.0
TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown = 0.0
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = 0.0
Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = 0.0
Tsl := Trend==1? TrendUp: TrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
//plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend")
plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
//Strategy
Trend_buy = Trend == 1
Trend_buy_prev = Trend[1] == -1
algo_buy_pre = Trend_buy and Trend_buy_prev
algo_buy = algo_buy_pre == 1 ? 1 : na
Trend_sell= Trend == -1
Trend_sell_prev = Trend[1] == 1
algo_sell_pre = Trend_sell and Trend_sell_prev
algo_sell = algo_sell_pre == 1 ? 1:na
strategy.entry("Long1", strategy.long, when= window() and algo_buy==1)
strategy.entry("Short1", strategy.short, when=window() and algo_sell==1)
bought = strategy.position_size > strategy.position_size
sold = strategy.position_size < strategy.position_size
longStop = Stop_Loss_Factor * valuewhen(bought, Atr, 0)
shortStop = Stop_Loss_Factor * valuewhen(sold, Atr, 0)
longProfit = factor_profit * longStop
shortProfit = factor_profit * shortStop
if(decimals == 5)
longStop := longStop *100000
longProfit := longProfit *100000
if(decimals == 4)
longStop := longStop * 10000
longProfit := longProfit * 10000
if(decimals == 3)
longStop := longStop * 1000
longProfit := longProfit * 1000
if(decimals == 2)
longStop := longStop * 100
longProfit := longProfit *100
if(decimals == 5)
shortStop := shortStop * 100000
shortProfit := shortProfit * 100000
if(decimals == 4)
shortStop := shortStop * 10000
shortProfit := shortProfit * 10000
if(decimals == 3)
shortStop := shortStop * 1000
shortProfit := shortProfit * 1000
if(decimals == 2)
shortStop := shortStop * 100
shortProfit := shortProfit * 100
strategy.exit("Exit Long", from_entry = "Long1", loss =longStop, profit = longProfit)
strategy.exit("Exit Short", from_entry = "Short1", loss =shortStop, profit = shortProfit)