
یہ ایک بریک ٹریڈنگ حکمت عملی ہے جس میں پیرالائٹ SAR اشارے کو تین مختلف ادوار کے ایس ایم ایم اے اوسط کے ساتھ ملایا گیا ہے۔ یہ تین اوسط کے ساتھ زیادہ کام کرتا ہے جب تین اوسط کے ساتھ زیادہ ہوتا ہے ، اور تین اوسط کے ساتھ کم ہوتا ہے تو خالی ہوجاتا ہے ، جبکہ SAR اشارے کے ساتھ مل کر رجحان کی سمت کا تعین کرتا ہے ، جب SAR اشارے کا رخ بدل جاتا ہے تو پوزیشن کھولنے کے لئے۔ یہ حکمت عملی ایک ہی وقت میں روکنے اور روکنے کی حمایت کرتی ہے۔
اس حکمت عملی کی بنیاد مندرجہ ذیل نکات پر ہے۔
پیرال لائن SAR اشارے کا استعمال کرتے ہوئے موجودہ رجحان کی سمت کا تعین کریں۔ SAR اشارے متحرک طور پر قیمتوں میں تبدیلیوں کا سراغ لگانے ، کثیر رخا رجحانات اور خالی رخا رجحانات کا تعین کرنے کے قابل ہیں۔
تین مختلف دورانیوں کی ایس ایم ایم اے اوسط لائنیں ترتیب دیں ((فاسٹ لائن 21 دورانیہ ، درمیانی لائن 50 دورانیہ ، اور سست لائن 200 دورانیہ) ۔ جب تینوں اوسط لائنیں سب اوپر ہوں تو ، ایک کثیر سر رجحان کی تشکیل سمجھا جاتا ہے۔ جب تینوں اوسط لائنیں سب نیچے ہوں تو ، ایک خالی سر رجحان کی تشکیل سمجھا جاتا ہے۔
جب SAR اشارے نیچے کی طرف مڑتے ہیں تو ، اگر تینوں یکساں لائنیں مکمل طور پر بڑھ جاتی ہیں تو ، زیادہ انٹری کریں۔
جب SAR اشارے میں اضافہ ہوتا ہے تو ، اگر تینوں برابر لائنیں مکمل طور پر گر جاتی ہیں تو ، کوکیز میں داخل ہوں۔
اسٹاپ اور اسٹاپ کو ترتیب دیں۔ اسٹاپ SAR اشارے کو متحرک اسٹاپ کے طور پر استعمال کرتا ہے اور اسٹاپ کو داخلے کی قیمت کا ایک مقررہ تناسب کے طور پر ترتیب دیا جاتا ہے۔
خاص طور پر ، حکمت عملی سب سے پہلے اس بات کا تعین کرتی ہے کہ آیا موجودہ بی اے آر کے ایس اے آر اشارے میں کوئی تبدیلی آئی ہے۔ اگر ایس اے آر اوپر سے نیچے کی طرف مڑتا ہے اور تینوں مساوی لائنیں مکمل طور پر اوپر ہیں تو ، زیادہ کریں۔ اگر ایس اے آر نیچے سے اوپر کی طرف مڑتا ہے اور تینوں مساوی لائنیں مکمل طور پر نیچے ہیں تو ، خالی کریں۔
پوزیشن رکھنے کے بعد ، اسٹاپ لاین کو اگلے بار کے لئے ایس اے آر اشارے کی قیمت کے طور پر مقرر کیا گیا ہے ، جس میں ایس اے آر کو متحرک طور پر اسٹاپ ٹریکنگ کے طور پر استعمال کیا جاتا ہے۔ اسٹاپ کو داخلے کی قیمت کا 10٪ مقرر کیا گیا ہے۔ جب قیمت اسٹاپ یا اسٹاپ نقصان کی سطح تک پہنچ جاتی ہے تو ، صفائی کی پوزیشن سے باہر نکلیں۔
اس حکمت عملی میں رجحان کا تعین کرنے والے اشارے اور ایک سے زیادہ وقت کی مدت کی اوسط لائنوں کے فوائد شامل ہیں ، جس سے رجحان کی تبدیلی کے وقت بروقت داخل ہوسکتی ہے ، اور اسی وقت اوسط لائن فلٹرنگ کے ذریعے جعلی خرابی ہوتی ہے۔ اس کے اہم فوائد یہ ہیں:
SAR اشارے تیزی سے رجحانات کو تبدیل کرنے کے مواقع کو پکڑنے کے لئے رجحانات کو تبدیل کرنے کے لئے متحرک طور پر فیصلہ کرنے میں کامیاب ہیں.
تین مساوی لائنیں مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کرتی ہیں اور جعلی توڑ سے بچتی ہیں۔
ایس ایم ایم اے اوسط لائن کا استعمال کرتے ہوئے ، منحنی خطوط زیادہ ہموار ہوتے ہیں ، اور اوسط لائن کے اتار چڑھاؤ سے تجارت میں رکاوٹ کم ہوجاتی ہے۔
اسٹاپ نقصان کی روک تھام کی ترتیب کے ساتھ مل کر ، آپ ایک بار کے نقصان کو کنٹرول کرسکتے ہیں ، جبکہ منافع کے کچھ حصوں کو لاک کرسکتے ہیں۔
حکمت عملی کے پیرامیٹرز کی ترتیب لچکدار ہے ، حکمت عملی کے اثر کو بہتر بنانے کے لئے پیرامیٹرز کو مختلف مارکیٹوں میں ایڈجسٹ کیا جاسکتا ہے۔
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں، جن میں شامل ہیں:
زلزلے کے رجحانات میں ، SAR اشارے میں متعدد بار بار بار بار بار بار بار تبدیلی آسکتی ہے ، جس کی وجہ سے زیادہ بار بار تجارت کی وجہ سے تجارت کی فیس میں اضافہ ہوتا ہے۔
تین یکساں لائن Settings ہر قسم کے لئے ضروری نہیں ہے ، اور مخصوص قسم کے حالات کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔
اسٹاپ نقصان کے لئے اگلے بار کے لئے مقرر کردہ ایس اے آر کی قیمت میں وقت کی تاخیر ہے ، جس سے نقصان میں اضافہ ہوسکتا ہے۔
استحکام کے رجحان میں جعلی توڑنے سے ایس اے آر کا رخ موڑنے کا مسئلہ ، پیرامیٹرز کو ایڈجسٹ کرکے ایس اے آر وکر کو ہموار کرکے اس کو کم کیا جاسکتا ہے۔
غلط اوسط ترتیبات بھی رجحانات سے محروم ہوسکتے ہیں یا غلط سگنل پیدا کرسکتے ہیں ، جس کی وجہ سے محتاط جانچ اور اصلاح کی ضرورت ہے۔
خطرے کا مقابلہ کرنے کے لئے ، آپ کو مندرجہ ذیل نکات سے بہتر بنانا چاہئے:
SAR پیرامیٹرز کو مختلف اقسام کے اتار چڑھاو کے مطابق ایڈجسٹ کریں تاکہ بار بار ٹرانسمیشن کا امکان کم ہوجائے۔
تین مساوی لائنوں کے پیرامیٹرز کو ایڈجسٹ کریں تاکہ وہ مختلف اقسام کی خصوصیات کے قریب ہوں۔
نقصان کی روک تھام کی حکمت عملی کو بہتر بنائیں ، جیسے چھوٹے نقصانات ، متحرک نقصانات وغیرہ۔
ٹریڈنگ کی کثرت والے بازاروں میں محدود قیمت کا استعمال صرف نقصان کو بڑھانے سے بچنے کے لئے سلائڈ پوائنٹس کا استعمال کریں۔
اوسط لائن اور SAR پیرامیٹرز کی حکمت عملی کے اثر و رسوخ کا اندازہ کرنے کے لئے پیرامیٹرز کو بہتر بنانے کی جانچ کریں۔
مندرجہ بالا تجزیہ کے مطابق ، اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
SAR پیرامیٹرز کی ترتیبات کو بہتر بنائیں ، SAR وکر کو ہموار کریں ، وکر کو تبدیل کرنے کی تعدد کو کم کریں ، اور ضرورت سے زیادہ تجارت سے بچیں۔
ٹریڈ لائنوں کی لمبائی کو ایڈجسٹ کریں تاکہ وہ ٹرینڈ فلٹرنگ کے لئے مخصوص ٹرانزیکشن اقسام کی خصوصیات کے مطابق ہوں۔
متحرک سٹاپ نقصان کی حکمت عملی کو اپنانا ، جیسے کہ چلنے والی سٹاپ ، چھوٹی سٹاپ لگانا ، وغیرہ ، سٹاپ نقصان کو کم کرنے کے لئے۔
ہائی فریکوئینسی ٹریڈنگ مارکیٹ میں محدود قیمت کا واحد اسٹاپ نقصان استعمال کریں ، تاکہ اسٹاپ نقصان کے نقصان کو کم کیا جاسکے۔
دیگر اشارے شامل کریں جیسے آر ایس آئی ، کے ڈی ، وغیرہ کو فلٹر کریں ، سگنل کے معیار کو بہتر بنائیں ، اور جھوٹے توڑنے کے امکانات کو کم کریں۔
داخلہ کے حالات کو بہتر بنانے کے لئے ، کم معیار کے سگنل سے بچنے کے لئے SAR موڑ کے دوران ایک ہی وقت میں K لائن کی شکل کی جانچ پڑتال پر غور کیا جاسکتا ہے۔
دوبارہ داخلے کی شرائط کو شامل کریں ، اور جب قیمت منافع بخش سمت میں چلتی رہتی ہے تو دوبارہ داخل ہوجائیں۔
اسٹاپ اسٹاپ کی حکمت عملی کو بہتر بنائیں ، جیسے کہ متحرک اسٹاپ ، جزوی اسٹاپ ، اور اسٹیجنگ اسٹاپ وغیرہ ، تاکہ منافع میں اضافہ ہو۔
پیرامیٹرز کو بہتر بنانے کے لئے ان کے نتائج کی بنیاد پر ، مجموعی حکمت عملی کے اثر و رسوخ پر پیرامیٹرز کے اثرات کا اندازہ لگائیں۔
مجموعی طور پر ، یہ ایک آسان اور عملی بریکآؤٹ حکمت عملی ہے جو رجحان سے باخبر رہنے والے اشارے SAR اور مساوی لائنوں کو جوڑتی ہے۔ یہ SAR کا استعمال رجحان کی تبدیلی کی حساسیت کا اندازہ لگانے کے لئے کرتا ہے ، اور مساوی لائنوں کے ہلچل کا اثر ، رجحان کے موڑ کے مقام پر تیزی سے داخل ہوتا ہے۔ اس کے ساتھ ہی خطرے کو کنٹرول کرنے اور منافع کو مقفل کرنے کے لئے اسٹاپ نقصان کی روک تھام کا تعین کرتا ہے۔ اسٹریٹجک اثر و رسوخ کو بہتر بنانے کے لئے پیرامیٹرز کی ترتیب کو ایڈجسٹ کرکے اور انٹری اور آؤٹ پٹ کی شرائط کو بہتر بنانا ہے۔ تاہم ، تاجروں کو ضرورت ہے کہ وہ ضرورت سے زیادہ تجارت اور فرضی بریک جیسے معاملات پر قابو پانے پر توجہ دیں ، مختلف اقسام کے ل paramet پیرامیٹرز کو بہتر بنائیں اور حکمت عملی کی جانچ کریں ، جس سے تجارتی نظام مستحکم ہو۔
/*backtest
start: 2023-10-08 00:00:00
end: 2023-11-07 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="SAR + 3SMMA with SL & TP", overlay=true, calc_on_order_fills=false, calc_on_every_tick=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.USD, commission_type= strategy.commission.percent, commission_value=0.03)
start = input.float(0.02, step=0.01, group="SAR")
increment = input.float(0.02, step=0.01, group="SAR")
maximum = input.float(0.2, step=0.01, group="SAR")
//Take Profit Inputs
take_profit = input.float(title="Take Profit (%)", minval=0.0, step=0.1, defval = 0.1, group="Stop Loss and Take Profit", inline="TP") * 0.01
//Stop Loss Inputs
stop_loss = input.float(title="StopLoss (%)", minval=0.0, step=0.1, defval=1, group="Stop Loss and Take Profit", inline="SL") * 0.01
// Smooth Moving Average
fastSmmaLen = input.int(21, minval=1, title="Fast Length", group = "Smooth Moving Average")
midSmmaLen = input.int(50, minval=1, title="Mid Length", group = "Smooth Moving Average")
slowSmmaLen = input.int(200, minval=1, title="Slow Length", group = "Smooth Moving Average")
src = input(close, title="Source", group = "Smooth Moving Average")
smma(ma, src, len) =>
smma = 0.0
smma := na(smma[1]) ? ma : (smma[1] * (len - 1) + src) / len
smma
fastSma = ta.sma(src, fastSmmaLen)
midSma = ta.sma(src, midSmmaLen)
slowSma = ta.sma(src, slowSmmaLen)
fastSmma = smma(fastSma, src, fastSmmaLen)
midSmma = smma(midSma, src, midSmmaLen)
slowSmma = smma(slowSma, src, slowSmmaLen)
isSmmaUpward = ta.rising(fastSmma, 1) and ta.rising(midSmma, 1) and ta.rising(slowSmma, 1)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := math.max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := math.min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := math.min(AF + increment, maximum)
else
if low < EP
EP := low
AF := math.min(AF + increment, maximum)
if uptrend
SAR := math.min(SAR, low[1])
if bar_index > 1
SAR := math.min(SAR, low[2])
else
SAR := math.max(SAR, high[1])
if bar_index > 1
SAR := math.max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
sarIsUpTrend = uptrend ? true : false
sarFlippedDown = sarIsUpTrend and not sarIsUpTrend[1] ? true : false
sarFlippedUp = not sarIsUpTrend and sarIsUpTrend[1] ? true : false
longEntryCondition = isSmmaUpward and sarFlippedDown
shortEntryCondition = not isSmmaUpward and sarFlippedUp
if(longEntryCondition)
strategy.entry("L", strategy.long, stop=nextBarSAR, comment="L")
if(shortEntryCondition)
strategy.entry("S", strategy.short, stop=nextBarSAR, comment="S")
strategy.exit("CL", when=strategy.position_size > 0, limit=strategy.position_avg_price * (1+take_profit), stop=strategy.position_avg_price*(1-stop_loss))
strategy.exit("CS", when=strategy.position_size < 0, limit=strategy.position_avg_price * (1-take_profit), stop=strategy.position_avg_price*(1+stop_loss))
plot(SAR, style=plot.style_cross, linewidth=1, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=1, color=color.aqua)
plot(series = fastSmma, title="fastSmma", linewidth=1)
plot(series = midSmma, title="midSmma", linewidth=2)
plot(series = slowSmma, title="slowSmma", linewidth=3)
plotchar(series = isSmmaUpward, title="isSmmaUpward", char='')
plotchar(series=sarIsUpTrend, title="sarIsUpTrend", char='')
plotchar(series=sarFlippedUp, title="sarFlippedUp", char='')
plotchar(series=sarFlippedDown, title="sarFlippedDown", char='')
plotchar(series=longEntryCondition, title="longEntryCondition", char='')
plotchar(series=shortEntryCondition, title="shortEntryCondition", char='')
plotchar(series=strategy.position_size > 0, title="inLong", char='')
plotchar(series=strategy.position_size < 0, title="inShort", char='')
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)