ملٹی ٹائم فریم آر ایس آئی موونگ ایوریج کراس اوور حکمت عملی متعدد ٹائم فریموں میں رجحان کی پیروی کرنے والی حکمت عملی ہے۔ اس میں متعدد ٹائم فریموں پر آر ایس آئی اشارے استعمال ہوتے ہیں اور ہر ٹائم فریم کے آر ایس آئی کا وزن شدہ چلتا ہوا اوسط لیا جاتا ہے۔ حتمی سگنل تمام آر ایس آئی کے چلتے ہوئے اوسط کو دو جامع اشارے میں جوڑ کر اور کراس اوور سگنلز کی تجارت کرکے تیار کیے جاتے ہیں ، جو ایک عام ڈبل حرکت پذیر اوسط کراس اوور سسٹم ہے۔
یہ حکمت عملی پہلے متعدد ٹائم فریم (1 منٹ ، 5 منٹ ، 15 منٹ ، وغیرہ) پر آر ایس آئی اشارے کا حساب لگاتی ہے۔ پھر آر ایس آئی کی حرکت پذیر اوسط لائنوں کو حاصل کرنے کے لئے ہر ٹائم فریم کے لئے آر ایس آئی کے 15 پیریڈ وی ایم اے (وزن دار حرکت پذیر اوسط) کی ضرورت ہوتی ہے۔
اس کے بعد ، مختلف ٹائم فریموں سے تمام آر ایس آئی حرکت پذیر اوسط کو دو سگنلز - فاسٹ لائن اور سست لائن میں یکساں طور پر جوڑا جاتا ہے۔ فاسٹ لائن 100 پیریڈ ای ایم اے ہے اور سست لائن 150 پیریڈ ای ایم اے ہے۔
جب فاسٹ لائن سست لائن سے اوپر عبور کرتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب فاسٹ لائن سست لائن سے نیچے عبور کرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ اس طرح سے ملٹی ٹائم فریم آر ایس آئی کو جوڑ کر ، کراس اوور سگنل قلیل مدتی مارکیٹ شور کو فلٹر کرتے ہوئے مؤثر طریقے سے رجحانات کو ٹریک کرسکتے ہیں۔
متعدد ٹائم فریم کو یکجا کرنے سے قیمتوں کے منحنی خطوط کو ہموار کیا جاسکتا ہے اور جھوٹے بریک آؤٹ کو مؤثر طریقے سے روکا جاسکتا ہے۔
آر ایس آئی زیادہ خریدنے / زیادہ فروخت کی سطح کی نشاندہی کرتا ہے، نئی اونچائیوں / نچلی سطحوں کا پیچھا کرنے سے بچنے کے لئے.
دوہری چلتی اوسط ایک واحد چلتی اوسط نظام کے مقابلے میں بہتر ہولڈنگ اثر ہے.
ایس ایم اے کے بجائے وی ایم اے کا استعمال مختصر مدت کے اتار چڑھاؤ کے اثرات کو کم کرتا ہے۔
ملٹی ٹائم فریم کی حکمت عملیوں میں پیرامیٹرز کی وسیع تر موافقت کی ضرورت ہوتی ہے ، غلط ترتیبات کی وجہ سے اچھی اندراجات یا دیر سے اندراجات غائب ہوسکتے ہیں۔
چلتی اوسطوں میں منحنی خطوط کی مناسبیت کم ہوتی ہے، رجحان کے موڑ کے مقامات پر کم کارکردگی کا مظاہرہ کرتے ہیں۔
آر ایس آئی کی انحراف اکثر ہوتی ہے، الٹ سگنل پر نظر رکھی جانی چاہئے.
حل: ٹائم فریم پیرامیٹرز کو بہتر بنائیں۔ رجحانات کا تعین کرنے کے لئے ایم اے سی ڈی جیسے دوسرے اشارے کے ساتھ مل کر؛ آر ایس آئی کے اختلاف کے اشاروں پر دھیان دیں۔
رجحانات کو بہتر طور پر پکڑنے کے لئے ٹائم فریم اور پیرامیٹر کی ترتیبات کی تعداد کو بہتر بنائیں.
خطرات کو کنٹرول کرنے کے لئے سٹاپ نقصان شامل کرنے پر غور کریں.
رجحانات اور اختلافات کے بارے میں بہتر فیصلہ کرنے کے لئے دیگر اشارے کو یکجا کریں.
بہترین برقرار رکھنے کے اثر کے لئے مختلف برقرار رکھنے کی مدت کے پیرامیٹرز کی جانچ کریں.
ملٹی ٹائم فریم آر ایس آئی موونگ ایوریج کراس اوور حکمت عملی ایک چلتی اوسط نظام کا استعمال کرتے ہوئے متعدد ٹائم فریموں سے آر ایس آئی اشارے کو جوڑ کر تجارتی سگنل تیار کرتی ہے ، جو ایک عام ملٹی ٹائم فریم ٹرینڈ فالونگ حکمت عملی ہے۔ اس کی طاقت مؤثر طریقے سے رجحانات کو ٹریک کرنے اور شور کو فلٹر کرنے میں پڑتی ہے ، لیکن پیرامیٹر ٹیوننگ اور رسک کنٹرول پر توجہ دینے کی ضرورت ہے۔ مزید اصلاح کے ساتھ ، یہ ایک مضبوط رجحان فالونگ سسٹم بن سکتا ہے۔
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="RSI multitimeframe SMA crossover", shorttitle="RSI multitimeframe strategy", default_qty_type= strategy.percent_of_equity, margin_long=50, default_qty_value=150) res1 = input(title="Res 01", type=input.resolution, defval="1") res2 = input(title="Res 0", type=input.resolution, defval="5") res3 = input(title="Res 1", type=input.resolution, defval="15") res4 = input(title="Res 2", type=input.resolution, defval="15") res5 = input(title="Res 3", type=input.resolution, defval="15") res6 = input(title="Res 4", type=input.resolution, defval="30") res7 = input(title="Res 5", type=input.resolution, defval="45") res8 = input(title="Res 6", type=input.resolution, defval="60") lengthRSI = input(15, minval=1) lengthMA = input(15, minval=1) lengthFMA = input(100, minval=1) lengthFMA2 = input(150, minval=1) Long_yes = input(defval=1, title="Long trades 0 or 1", minval=0, maxval=1) Short_yes = input(defval=0, title="Short trades 0 or 1", minval=0, maxval=1) src = close // === INPUT BACKTEST RANGE === fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) // === INPUT SHOW PLOT === showDate = input(defval = true, title = "Show Date Range", type = input.bool) // === FUNCTION EXAMPLE === start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // stop loss longLossPerc = input(title="Long Stop Loss (%)", type=input.float, minval=0.0, step=0.5, defval=10) * 0.01 longStopPrice = strategy.position_avg_price * (1 - longLossPerc) shortLossPerc = input(title="Short Stop Loss (%)", type=input.float, minval=0.0, step=0.5, defval=10) * 0.01 shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc) rsi1 = rsi(src, lengthRSI) MA1 = vwma(rsi1, lengthMA) outD1 = security(syminfo.tickerid, res1, MA1) outD2 = security(syminfo.tickerid, res2, MA1) outD3 = security(syminfo.tickerid, res3, MA1) outD4 = security(syminfo.tickerid, res4, MA1) outD5 = security(syminfo.tickerid, res5, MA1) outD6 = security(syminfo.tickerid, res6, MA1) outD7 = security(syminfo.tickerid, res7, MA1) outD8 = security(syminfo.tickerid, res8, MA1) //plot_d0 = outD0 //plot_d1 = outD1 //plot_d2 = outD2 //plot_d3 = outD3 //plot_d4 = outD4 //plot_d5 = outD5 //plot_d6 = outD6 out_multi = ema(outD1+outD2+outD3+outD4+outD5+outD6+outD7+outD8, lengthFMA) out_multi2 = ema(outD1+outD2+outD3+outD4+outD5+outD6+outD7+outD8, lengthFMA2) //out_multi1 = outD2+outD3+outD4 //out_multi2 = outD4+outD5+outD6 //col0 = outD0 < 20 ? color.lime : outD0 > 80 ? color.red : color.blue //col1 = outD1 < 20 ? color.lime : outD1 > 80 ? color.red : color.blue //col2 = outD2 < 20 ? color.lime : outD2 > 80 ? color.red : color.blue //col3 = outD3 < 20 ? color.lime : outD3 > 80 ? color.red : color.blue //col4 = outD4 < 20 ? color.lime : outD4 > 80 ? color.red : color.blue //col5 = outD5 < 20 ? color.lime : outD5 > 80 ? color.red : color.blue //col6 = outD6 < 20 ? color.lime : outD6 > 80 ? color.red : color.blue // plot(plot_d0,linewidth=2, color=col0) // plot(plot_d1, linewidth=2, color=col1) // plot(plot_d2,linewidth=2, color=col2) // plot(plot_d3,linewidth=2, color=col3) // plot(plot_d4,linewidth=2, color=col4) // plot(plot_d5,linewidth=2, color=col5) // plot(plot_d6,linewidth=2, color=col6) long=(out_multi/8) short=(out_multi2/8) plot(long, linewidth=1, color=color.green) plot(short, linewidth=1, color=color.red) long1=crossover(long,short) short1=crossunder(long,short) h0 = hline(65, "Upper Band", color=color.red, linestyle=hline.style_solid, linewidth=2 ) h1 = hline(35, "Lower Band", color=color.green, linestyle=hline.style_solid, linewidth=2) strategy.entry("buy", strategy.long, when=long1 and window() and Long_yes > 0) if strategy.position_size > 0 strategy.exit(id="XL STP", stop=longStopPrice) strategy.close("buy",when=short1 ) strategy.entry("sell", strategy.short, when=short1 and window() and Short_yes > 0) if strategy.position_size < 0 strategy.exit(id="XS STP", stop=shortStopPrice) strategy.close("buy",when=long1 )