ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو سپر ٹرینڈ اشارے کے متعدد ٹائم فریم ٹرینڈ کے بعد اور اسٹاک آر ایس آئی اشارے سے اوور بُک / اوور سیل سگنل کو یکجا کرتی ہے۔ حکمت عملی مارکیٹ کے رجحانات کا تعین کرنے کے لئے مختلف پیرامیٹرز کی ترتیبات کے ساتھ تین سپر ٹرینڈ اشارے استعمال کرتی ہے اور اسٹاک آر ایس آئی سگنلز کو تجارتی سگنلز کو فلٹر کرنے کے لئے جوڑتی ہے۔ خاص طور پر ، جب دو تیز سپر ٹرینڈ اشارے بیک وقت خرید / فروخت سگنل دیتے ہیں ، اگر اسٹاک آر ایس آئی اشارے کی تصدیق ہوتی ہے تو ، اسی طرح کی لمبی / مختصر پوزیشنیں لی جائیں گی۔
ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی کا بنیادی منطق مختلف پیرامیٹرز کے ساتھ سپر ٹرینڈ اشارے اور تجارتی سگنل فلٹرنگ کے لئے اسٹاک آر ایس آئی اشارے کو یکجا کرنا ہے تاکہ سگنل کے معیار کو بہتر بنایا جاسکے اور جھوٹے سگنل کو کم کیا جاسکے۔
سب سے پہلے ، حکمت عملی مارکیٹ کے بڑے رجحان کا تعین کرنے کے لئے مختلف پیرامیٹرز کی ترتیبات کے ساتھ تین سپر ٹرینڈ اشارے اپناتی ہے۔ تینوں سپر ٹرینڈ اشارے میں تیز رفتار سے لے کر سست ٹائم فریم تک کے پیرامیٹرز ہوتے ہیں ، تاکہ مختلف سطحوں پر رجحان کی تبدیلیوں کو حاصل کیا جاسکے۔ جب تیز ترین اور دوسرا تیز ترین سپر ٹرینڈ اشارے بیک وقت خرید / فروخت کے سگنل دیتے ہیں تو ، ہم ابتدائی فیصلہ کرتے ہیں کہ سگنل میں کچھ قابل اعتماد ہے۔
دوسری بات ، اسٹاک آر ایس آئی اشارے کو اس بات کا تعین کرنے کے لئے متعارف کرایا گیا ہے کہ جب سگنل آتا ہے تو مارکیٹ انتہائی زیادہ خرید یا زیادہ فروخت ہوتی ہے۔ اسٹاک آر ایس آئی اشارے میں آر ایس آئی اور اسٹوکاسٹک اشارے کی طاقت کو یکجا کیا جاتا ہے ، جس سے زیادہ خرید / زیادہ فروخت مارکیٹ کے حالات کے بارے میں موثر فیصلے ممکن ہوجاتے ہیں۔ جب تیز ترین اور دوسرا تیز ترین سپر ٹرینڈ سگنل اسٹاک آر ایس آئی سگنلز کے ساتھ ہم آہنگ ہوتے ہیں تو ، حتمی خرید / فروخت سگنل کو متحرک کیا جاسکتا ہے۔
متعدد اشارے اور ٹائم فریم کے امتزاج کے ذریعے ، ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی مؤثر طریقے سے مارکیٹ شور کو فلٹر کرسکتی ہے ، سگنل کی وشوسنییتا کو بہتر بناسکتی ہے ، اور غلط تجارت کو کم کرسکتی ہے۔
ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی کی حکمت عملی کا سب سے بڑا فائدہ متعدد اشارے اور ٹائم فریم کے موثر امتزاج میں ہے ، جس سے درج ذیل فوائد حاصل ہوتے ہیں۔
غلط تجارتی سگنل کو کم کرتا ہے۔ ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی اشارے کا امتزاج انفرادی اشارے کے ساتھ آنے والے شور اور جھوٹے اشاروں کو بہت کم کرسکتا ہے۔
منافع بخش سگنل تناسب کو بہتر بناتا ہے۔ سگنل کی تعدد میں کمی کے باوجود ، منافع بخش سگنلز کا تناسب نمایاں طور پر بہتر ہوتا ہے۔
ٹرینڈنگ مارکیٹوں کے لئے موزوں ہے۔ ملٹی ٹائم فریم فلٹرنگ درمیانے اور طویل مدتی رجحانات کو پکڑنے میں آسانی پیدا کرتی ہے ، جو ٹرینڈنگ مارکیٹ کے ماحول کو اچھی طرح سے فٹ کرتی ہے۔
بہتر کارکردگی کے لئے آسان اصلاح۔ ٹرپل اشارے پیرامیٹر کی اصلاح کے لئے وسیع تر امکانات کی اجازت دیتے ہیں۔
ذاتی تجارتی طرز کی خدمت کرنے والے حسب ضرورت پیرامیٹرز۔ پیرامیٹرز کو آزادانہ طور پر ایڈجسٹ کیا جاسکتا ہے تاکہ کسی کے اپنے تجارتی انداز کو بہتر طور پر پورا کیا جاسکے۔
ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی سے وابستہ کچھ خطرات بھی ہیں:
سگنل کی تعدد میں کمی۔ کثیر پرت فلٹر میکانزم حکمت عملی کی تجارتی تعدد کو نمایاں طور پر کم کرتا ہے۔
کچھ ممکنہ اشاروں کو نظر انداز کرنے کا امکان ہے۔ قدامت پسند نوعیت کی وجہ سے حکمت عملی سے کچھ منافع بخش مواقع ضائع ہونے کا امکان ہے۔
پیرامیٹر انحصار میں اضافہ۔ زیادہ اشارے کا مطلب ہے کہ اصلاح میں زیادہ مشکل ہے۔
رجحان کی پیروی کرنے کی محدود صلاحیت۔ متعدد ٹائم فریم کا امتزاج حکمت عملی کی رجحان کی پیروی کی لچک کو بھی محدود کرتا ہے۔
ان خطرات سے نمٹنے کے لئے، بہتر بنانے کے اقدامات جیسے اشارے کے پیرامیٹرز کو ایڈجسٹ کرنا اور منافع بخش معیار کو بہتر بناتے ہوئے خطرے کے کنٹرول کو بہتر بنانے کے لئے مزید اضافی اشارے متعارف کرانے کو اپنایا جاسکتا ہے۔
ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی کی حکمت عملی کو مزید بہتر بنانے کے لئے ابھی بھی گنجائش ہے۔
بہترین امتزاج کے لئے اشارے کے پیرامیٹرز کو ایڈجسٹ کریں۔ زیادہ سے زیادہ پیرامیٹرز کا تجربہ کیا جاسکتا ہے تاکہ زیادہ سے زیادہ تلاش کیا جاسکے۔
بہتر رسک کنٹرول کے لیے اسٹاپ نقصان/پائدا حاصل کریں۔ اس سے حکمت عملی کے استحکام میں بہتری آسکتی ہے۔
سگنل کی توثیق کے لئے مزید اشارے شامل کریں، مثال کے طور پر حجم اشارے.
خود کار طریقے سے مارکیٹ کی متحرک تبدیلیوں کے مطابق پیرامیٹرز کو بہتر بنانے کے لئے موافقت پذیر صلاحیتوں میں تعمیر کریں.
کارکردگی کی پیشن گوئی کے لئے مشین لرننگ الگورتھم کو یکجا کریں، سگنل کی درستگی کا اندازہ کریں.
مسلسل اصلاح کے ساتھ ، ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی ایک مستحکم ، موثر تجارتی نظام میں تیار ہوسکتی ہے ، جو کافی الفا فراہم کرتی ہے۔
ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی متعدد ٹائم فریم تجزیہ اور اوور بکٹ / اوور سیلڈ فیصلے کو کامیابی کے ساتھ ایک منفرد رجحان کی پیروی کرنے والی تجارتی حکمت عملی میں جوڑتی ہے۔ یہ رجحان کی پیروی اور اشارے کی فلٹرنگ کے دوہرے فوائد کو برقرار رکھتا ہے ، جو غلط سگنلز کو کم کرتے ہوئے منافع بخش سگنلز کو بہتر بناتا ہے۔ اگرچہ خطرات اور اصلاح کی جگہ اب بھی موجود ہے ، لیکن پیرامیٹر ٹیوننگ اور حکمت عملی کی اصلاح کے ذریعے اس کی منافع اور استحکام کو مزید بڑھا سکتا ہے۔ مجموعی طور پر ، ٹرپل سپر ٹرینڈ اور اسٹاک آر ایس آئی حکمت عملی ایک اعلی معیار کی مقداری تجارتی حکمت عملی کا انتخاب فراہم کرتی ہے۔
/*backtest start: 2022-11-29 00:00:00 end: 2023-04-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © M3RZI //@version=4 strategy("3x Supertrend and Stoch RSI", overlay = true, max_bars_back = 1000) //INPUTS STATRLENGTH1 = input(10, title = "Fast Supertrend ATR Length", type = input.integer, group = "SUPERTREND SETTINGS") STATRMULT1 = input(1, title = "Fast Supertrend ATR Multiplier", type = input.float, group = "SUPERTREND SETTINGS") STATRLENGTH2 = input(11, title = "Medium Supertrend ATR Length", type = input.integer, group = "SUPERTREND SETTINGS") STATRMULT2 = input(2, title = "Medium Supertrend ATR Multiplier", type = input.float, group = "SUPERTREND SETTINGS") STATRLENGTH3 = input(12, title = "Slow Supertrend ATR Length", type = input.integer, group = "SUPERTREND SETTINGS") STATRMULT3 = input(3, title = "Slow Supertrend ATR Multiplier", type = input.float, group = "SUPERTREND SETTINGS") stochK = input(3, title = "K (Stochastic Fast)", type = input.integer, group = "STOCHASTIC RSI SETTINGS") stochD = input(3, title = "D (Signal Line)", type = input.integer, group = "STOCHASTIC RSI SETTINGS") rsiLength = input(14, title = "RSI Length", type = input.integer, group = "STOCHASTIC RSI SETTINGS") stochLength = input(14, title = "Stochastic Length", type = input.integer, group = "STOCHASTIC RSI SETTINGS") rsiSource = input(close, title = "RSI Source", type = input.source, group = "STOCHASTIC RSI SETTINGS") stochRestrictions = input(false, title = "Restrict crosses to overbought/oversold territory", type = input.bool, group = "STOCHASTIC RSI SETTINGS") overboughtLine = input(80, title = "Stochastic RSI Upper Band", type = input.integer, group = "STOCHASTIC RSI SETTINGS") oversoldLine = input(20, title = "Stochastic RSI Lower Band", type = input.integer, group = "STOCHASTIC RSI SETTINGS") EMALength = input(200, title = "EMA Length", type = input.integer, group = "EMA SETTINGS") SLStrategy = input("ATR Based", title = "Stop Loss Strategy", options = ["ATR Based"],type = input.string, group = "POSITION EXIT SETTINGS") SLATRLength = input(14, title = "Stop Loss ATR Length", type = input.integer, group = "POSITION EXIT SETTINGS") SLATRMult = input(2.7, title = "Stop Loss ATR Multiplier", type = input.float, group = "POSITION EXIT SETTINGS") TPStrategy = input("ATR Based", title = "Take Profit Strategy", options = ["ATR Based"],type = input.string, group = "POSITION EXIT SETTINGS") TPATRLength = input(14, title = "Take Profit ATR Length", type = input.integer, group = "POSITION EXIT SETTINGS") TPATRMult = input(1.6, title = "Take Profit ATR Multiplier", type = input.float, group = "POSITION EXIT SETTINGS") //SUPERTRENDS [superTrend1,dir1] = supertrend(STATRMULT1,STATRLENGTH1) [superTrend2,dir2] = supertrend(STATRMULT2,STATRLENGTH2) [superTrend3,dir3] = supertrend(STATRMULT3,STATRLENGTH3) directionST1 = dir1 == 1 and dir1[1] == 1 ? false : dir1 == -1 and dir1[1] == -1 ? true : na directionST2 = dir2 == 1 and dir2[1] == 1 ? false : dir2 == -1 and dir2[1] == -1 ? true : na directionST3 = dir3 == 1 and dir3[1] == 1 ? false : dir3 == -1 and dir3[1] == -1 ? true : na //STOCH RSI rsi = rsi(rsiSource, rsiLength) k = sma(stoch(rsi, rsi, rsi, stochLength), stochK) d = sma(k, stochD) //EMA ema = ema(close,EMALength) //CONDITIONS LONG AND SHORT var long = false var longCondition = false var short = false var shortCondition = false var drawing = false var TP = 0.0 var SL = 0.0 var middle = 0.0 var initial = 0 stopSize = atr(SLATRLength) * SLATRMult profitSize = atr(TPATRLength) * TPATRMult longStop = close - stopSize longProfit = close + profitSize current = close shortStop = close + stopSize shortProfit = close - profitSize barInitial = bar_index if stochRestrictions longCondition := close > ema and ((directionST1 == true and directionST2 == true) or (directionST2 == true and directionST3 == true)) and crossover(k,d) and k < oversoldLine and not long and not drawing shortCondition := close < ema and ((directionST1 == false and directionST2 == false) or (directionST2 == false and directionST3 == false)) and crossunder(k,d) and k > overboughtLine and not short and not drawing else longCondition := close > ema and ((directionST1 == true and directionST2 == true) or (directionST2 == true and directionST3 == true)) and crossover(k,d) and not long and not drawing shortCondition := close < ema and ((directionST1 == false and directionST2 == false) or (directionST2 == false and directionST3 == false)) and crossunder(k,d) and not short and not drawing if longCondition long := true short := false drawing := true TP := longProfit middle := current SL := longStop initial := barInitial strategy.entry("Long", strategy.long, 10) strategy.exit("Long exit","Long", limit = TP, stop = SL) alert("Long signal Supertrend \n Profit:"+tostring(TP)+"\Curret price:"+tostring(close)+"\Stop:"+tostring(SL),alert.freq_once_per_bar_close) //label.new(bar_index,low,text = "Long\nTP:"+tostring(TP)+"\nSL:"+tostring(SL)+"\nAbierto:"+tostring(current), yloc = yloc.belowbar, textcolor = color.white, color = color.green, size = size.small, style = label.style_label_up) if shortCondition short := true long := false drawing := true TP := shortProfit middle := current SL := shortStop initial := barInitial strategy.entry("Short", strategy.short, 10) strategy.exit("Short exit","Short",limit = TP , stop = SL) alert("Short signal Supertrend \n Profit:"+tostring(TP)+"\Curret price:"+tostring(close)+"\Stop:"+tostring(SL),alert.freq_once_per_bar_close) //label.new(bar_index,high,text = "Short\nTP:"+tostring(TP)+"\nSL:"+tostring(SL)+"\nAbierto:"+tostring(current), yloc = yloc.abovebar, textcolor = color.white, color = color.red, size = size.small, style = label.style_label_down) if long and (high[1] >= TP or low[1] <= SL) drawing := false long := false if high[1] >= TP label.new(bar_index[int((bar_index - initial)/2)],TP, text = "Win (Long)", textcolor = color.white, color = color.green, size = size.small, style = label.style_label_down) else label.new(bar_index[int((bar_index - initial)/2)],SL, text = "Lose (Long)", textcolor = color.white, color = color.red, size = size.small, style = label.style_label_up) if short and (low[1] <= TP or high[1] >= SL) drawing := false short := false if low[1] <= TP label.new(bar_index[int((bar_index - initial)/2)],TP, text = "Win (short)", textcolor = color.white, color = color.green, size = size.small, style = label.style_label_up) else label.new(bar_index[int((bar_index - initial)/2)],SL, text = "Lose (short)", textcolor = color.white, color = color.red, size = size.small, style = label.style_label_down) //STRATEGY //strategy.entry("buy", strategy.long, 10, when = longCondition) //strategy.exit("bracket", "buy", 10, limit = TP, stop = SL) //strategy.entry("short", strategy.long, 10, when = shortCondition) //strategy.exit("bracket", "short", 10, limit = TP, stop = SL) //DRAWING plotshape(longCondition, title = "Long Signal", location=location.belowbar, style=shape.labelup, color=color.green, textcolor=color.white, size=size.small, text="Long") plotshape(shortCondition, title = "Short Signal", location=location.abovebar, style=shape.labeldown, color=color.red, textcolor=color.white, size=size.small, text="Short") profitLine = plot(drawing and drawing[1] ? TP : na, title = "Take profit", color = color.green, style = plot.style_linebr) currentLine =plot(drawing and drawing[1] ? middle : na, title = "Middle Line", color = color.white, style = plot.style_linebr) lossLine = plot(drawing and drawing[1] ? SL : na, title = "Stop Loss", color = color.red, style = plot.style_linebr) fill(currentLine,profitLine, title = "Profit Background" ,color = color.new(color.green,75)) fill(currentLine,lossLine, title = "Loss Background" ,color = color.new(color.red,75)) plot(superTrend1, title = "Fast Supertrend", color = dir1 == 1 and dir1[1] == 1 ? color.red : dir1 == -1 and dir1[1] == -1 ? color.green : na) plot(superTrend2, title = "Medium Supertrend", color = dir2 == 1 and dir2[1] == 1 ? color.red : dir2 == -1 and dir2[1] == -1 ? color.green : na) plot(superTrend3, title = "Slow Supertrend", color = dir3 == 1 and dir3[1] == 1 ? color.red : dir3 == -1 and dir3[1] == -1 ? color.green : na) plot(ema, title = "EMA",color = color.yellow) //plot(k, color = color.blue) //plot(d, color = color.orange) //h1 = hline(80) //h2 = hline(20) //fill(h1,h2, color = color.new(color.purple,60))