اس حکمت عملی کا بنیادی خیال یہ ہے کہ موجودہ قیمتوں کے علاقے کا اندازہ لگانے کے لئے مختلف دوروں کے آر ایس آئی اشارے کو جوڑیں ، اور جب بڑے دورانیہ کے آر ایس آئی اشارے میں کوئی پیشرفت نظر آتی ہے تو ، اسی طرح کے خرید و فروخت کا عمل چھوٹے دورانیے میں لیا جائے۔ اس حکمت عملی میں مختلف دورانیہ کے تکنیکی اشارے کی طاقت کا استعمال کیا گیا ہے تاکہ موجودہ قیمتوں کی نسبتا value قیمت کا اندازہ لگایا جاسکے۔
یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اقدامات کے ذریعے قیمتوں کے علاقوں کا تعین کرتی ہے اور تجارت کے مواقع تلاش کرتی ہے۔
مثال کے طور پر ، جب دن کی لکیر RSI اشارے میں ایک نئی اونچائی ہوتی ہے تو ، ہم فیصلہ کرتے ہیں کہ ہم فی الحال ایک کثیر تجارت میں ہیں ، اور اگر دن کی لکیر RSI میں ایک نئی کم ہوتی ہے تو ، ہم فیصلہ کرتے ہیں کہ ہم فی الحال ایک خالی تجارت میں ہیں ، دونوں صورتوں میں ہم 5 منٹ کی لکیر پر خرید اور فروخت کا آپریشن کرتے ہیں۔
روایتی حکمت عملی کے مقابلے میں جو صرف ایک وقت کی مدت پر توجہ مرکوز کرتی ہے ، اس حکمت عملی کے درج ذیل فوائد ہیں:
موجودہ قیمتوں کی نسبتا value قدر کا اندازہ لگانا زیادہ درست ہے۔ بڑے دورانیہ کے اشارے جیسے سورج کی لکیر ، قلیل مدتی مارکیٹ کے شور کو فلٹر کرسکتے ہیں ، بڑے دورانیہ کے رجحانات اور قدر کے علاقوں کا فیصلہ کرسکتے ہیں۔
مختلف وقت کے دورانیہ کے اشارے کے ساتھ مل کر ، سگنل کی وشوسنییتا کو بہتر بنائیں۔ صرف ایک ہی دورانیہ کے اشارے پر انحصار کرنے سے غلط سگنل کا سامنا کرنا پڑتا ہے ، جبکہ متعدد دورانیہ کے اشارے کے ساتھ ساتھ سگنل بھیجنا زیادہ قابل اعتماد ہے۔
مختصر مدت کے مواقع کو زیادہ مؤثر طریقے سے پکڑیں۔ سورج کی روشنی جیسے بڑے دورانیے کی توڑ ہمیں بڑی سمت کی طرف اشارہ کرتی ہے ، اور ہمیں صرف 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)