اس حکمت عملی کا بنیادی خیال مختلف سائیکلوں کے آر ایس آئی اشارے کو ملا کر موجودہ قیمت کی حد کا تعین کرنا ہے ، اور جب بڑے سائیکل آر ایس آئی میں توڑ پڑتا ہے تو چھوٹے سائیکلوں میں اسی طرح کے خرید و فروخت کے اقدامات کرنا ہے۔ یہ حکمت عملی موجودہ قیمت کی نسبتا value قیمت کا فیصلہ کرنے کے لئے مختلف ادوار میں تکنیکی اشارے کا فائدہ اٹھاتی ہے۔ متعدد وقت کی جہتوں سے اور بہتر انٹری پوائنٹس کا پتہ لگائیں۔
قیمت کی حد کا تعین کرنے اور تجارتی مواقع تلاش کرنے کے لئے اس حکمت عملی کے اہم اقدامات یہ ہیں:
مثال کے طور پر ، جب روزانہ آر ایس آئی اپنی پچھلی اونچائی کو توڑتا ہے تو ، ہم فیصلہ کرتے ہیں کہ یہ فی الحال ایک بیل مارکیٹ ہے۔ اور جب روزانہ آر ایس آئی اپنی پچھلی کم سے نیچے ٹوٹ جاتا ہے تو ، ہم اسے ریچھ مارکیٹ کے طور پر فیصلہ کرتے ہیں۔ دونوں صورتوں میں ہم 5 منٹ کے چارٹ میں بالترتیب لمبی اور مختصر کارروائی کرتے ہیں۔
روایتی حکمت عملیوں کے مقابلے میں جو صرف ایک مدت پر توجہ مرکوز کرتے ہیں، اس حکمت عملی میں مندرجہ ذیل فوائد ہیں:
موجودہ رشتہ دار قیمت کی قیمت کا زیادہ درست اندازہ۔ روزانہ کی طرح بڑے سائیکل قلیل مدتی مارکیٹ شور کو فلٹر کرسکتے ہیں اور مجموعی رجحان اور قیمت کے علاقے کا تعین کرسکتے ہیں۔
مختلف ادوار میں اشارے کا امتزاج سگنل کی وشوسنییتا کو بہتر بناتا ہے۔ صرف ایک ہی ادوار کے اشارے پر انحصار کرنے سے غلط اشارے زیادہ آسانی سے پیدا ہوسکتے ہیں ، جبکہ متعدد ادوار سے بیک وقت اشارے زیادہ قابل اعتماد ہوتے ہیں۔
قلیل مدتی مواقع کو زیادہ مؤثر طریقے سے فائدہ اٹھانا۔ بڑا سائیکل بریک آؤٹ مجموعی سمت کی نشاندہی کرتا ہے ، جبکہ ہمیں منافع کے ل only صرف 5 منٹ جیسے چھوٹے سائیکلوں میں مواقع تلاش کرنے کی ضرورت ہے۔
چھوٹا سا ڈراؤونگ۔ کراس پیریڈس کو یکجا کرنے سے پھنسنے سے بچنے میں مدد ملتی ہے۔ جب بڑے سائیکل اشارے الٹنا شروع ہوجاتے ہیں تو ہم جلدی سے باہر نکل سکتے ہیں۔
اس حکمت عملی کے اہم خطرات میں شامل ہیں:
بڑے سائیکل اشارے میں غلط فیصلہ۔ روزانہ آر ایس آئی وغیرہ میں غیر موثر ویلیو ایریا کا تعین ناقص سگنلز کا باعث بن سکتا ہے۔ درستگی کو بہتر بنانے کے لئے آر ایس آئی کے پیرامیٹر ٹیوننگ کی ضرورت ہے۔
چھوٹے سائیکل کی قیمت کی نقل و حرکت اور بڑے سائیکل کے عزم کے مابین اختلاف۔ بعض اوقات قلیل مدتی حرکتیں بڑی تصویر کے رجحانات کا مقابلہ کرتی ہیں۔ ہمیں نقصان کو کنٹرول کرنے کے لئے مناسب اسٹاپ نقصان مرتب کرنے کی ضرورت ہے۔
خطرے کا ناقص انتظام۔ پوزیشن کی ناقص سائزنگ کی وجہ سے واحد تجارت میں زیادہ نقصانات ناقابل واپسی کمی کا باعث بن سکتے ہیں۔ معقول سائزنگ کے قوانین کو نافذ کرنا ضروری ہے۔
اس حکمت عملی میں ابھی بھی بہتری کی گنجائش ہے، بنیادی طور پر مندرجہ ذیل پہلوؤں سے:
پیریڈ پیرامیٹر ٹوننگ۔ زیادہ سے زیادہ پیریڈ مجموعے کی جانچ کریں تاکہ زیادہ سے زیادہ پیرامیٹرز مل سکیں۔
آر ایس آئی پیرامیٹر ٹوننگ۔ فیصلے کی درستگی کو بہتر بنانے کے لئے آر ایس آئی لوک بیک وغیرہ پیرامیٹرز کو ایڈجسٹ کریں۔
مزید اشارے شامل کریں۔ رجحان کی سمت کا اندازہ کرنے میں مدد کے لئے ایم اے جیسے مزید اشارے شامل کریں۔
سٹاپ نقصان کے طریقہ کار کو بہتر بنائیں۔ ڈائنامک طور پر ڈراؤ ڈاؤن حالات کی بنیاد پر سٹاپ نقصان کے مقامات کو ایڈجسٹ کریں۔
پوزیشن سائزنگ کے قوانین کو بہتر بنائیں۔ ہر تجارت کے لئے مخصوص پوزیشن سائز کو زیادہ سائنسی طور پر منظم کریں۔
یہ حکمت عملی کراس پیریڈ آر ایس آئی میں تیزی کی حالت کا جائزہ لے کر مختلف وقت کے طول و عرض کے مابین کراس پیریڈ آربراجیج کا احساس کرتی ہے۔ کراس پیریڈ ججمنٹ کے اس طرح کے خیال کو مزید استحصال کا مستحق ہے۔ ہم اسے پیرامیٹر ٹوننگ ، اسٹاپ نقصان کی اصلاح ، اشارے کے امتزاج کے ذریعے بہتر بناتے رہ سکتے ہیں تاکہ اسے زیادہ فائدہ مند بنایا جاسکے۔ مجموعی طور پر ، اس حکمت عملی کا ایک انوکھا خیال ہے اور اسے بڑھانے کی بہت بڑی صلاحیت ہے۔
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Swing MTF", shorttitle="Swing MTF", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5) // otf_period = input(defval=2, title="Look Back Period (2nd Timeframe)") otf = input(defval="180", title="Second Momentum Timeframe") // Function to dectect a new bar is_newbar(res) => t = time(res) change(t) != 0 ? true : false // Check how many bars are in our upper timeframe since_new_bar = barssince(is_newbar(otf)) otf_total_bars = na otf_total_bars := since_new_bar == 0 ? since_new_bar[1] : otf_total_bars[1] //Calculate RSI Values ctf_rsi = rsi(open, otf_period) breakline=input(title="Breaks in lines", defval = true, type=bool) so = request.security(syminfo.tickerid, otf, rsi(open, otf_period)) sc = request.security(syminfo.tickerid, otf, rsi(close, otf_period)) final_otf_so = na final_otf_so := barstate.isrealtime ? since_new_bar == otf_total_bars ? so : final_otf_so[1] : so final_otf_sc = na final_otf_sc := barstate.isrealtime ? since_new_bar == otf_total_bars ? sc : final_otf_sc[1] : sc barsback = input(11, title='Bars back to check for a swing') // showsig = input(false, title='Show Signal Markers') swing_detection(index)=> swing_high = false swing_low = false start = (index*2) - 1 // -1 so we have an even number of swing_point_high = final_otf_so[index] swing_point_low = final_otf_sc[index] //Swing Highs for i = 0 to start swing_high := true if i < index if final_otf_so[i] > swing_point_high swing_high := false break // Have to do checks before pivot and after seperately because we can get // two highs of the same value in a row. Notice the > and >= difference if i > index if final_otf_so[i] >= swing_point_high swing_high := false break //Swing lows for i = 0 to start swing_low := true if i < index if final_otf_sc[i] < swing_point_low swing_low := false break // Have to do checks before pivot and after seperately because we can get // two lows of the same value in a row. Notice the > and >= difference if i > index if final_otf_sc[i] <= swing_point_low swing_low := false break [swing_high, swing_low] // Check for a swing [swing_high, swing_low] = swing_detection(barsback) long = final_otf_so > final_otf_sc short = final_otf_so < final_otf_sc if swing_low and long strategy.entry("My Long Entry Id", strategy.long) if swing_high and short strategy.entry("My Short Entry Id", strategy.short)