
یہ حکمت عملی قیمت کی حرکیات کے اشارے کا استعمال کرتے ہوئے ایک رجحان سے باخبر رہنے کی حکمت عملی ہے۔ یہ ایک خاص دورانیے میں اختتامی قیمت میں ہونے والی تبدیلیوں کا حساب کتاب کرکے مارکیٹ کے رجحان کا تعین کرتی ہے ، اور جب قیمت میں مسلسل اضافے یا کمی کا رجحان ہوتا ہے تو ، اس کے مطابق زیادہ یا کم کرنے کا عمل انجام دیا جاتا ہے۔
اس حکمت عملی کا بنیادی اشارے قیمت کی رفتار ہے۔ رفتار کے حساب کتاب کا فارمولا ہے:
momentum = close - close[n]
جہاں n حرکیاتی دور کی لمبائی کی نمائندگی کرتا ہے۔ جب لمحہ > 0 ہوتا ہے تو ، اس کا مطلب یہ ہے کہ موجودہ دور میں قیمت میں مسلسل اضافہ ہورہا ہے۔ جب لمحہ < 0 ہوتا ہے تو ، اس کا مطلب یہ ہے کہ موجودہ دور میں قیمت میں مسلسل کمی ہورہی ہے۔
اس حکمت عملی نے پہلے ایک confirmBars پیرامیٹر قائم کیا ، جس کی نمائندگی کرتا ہے کہ تجارت کو انجام دینے کے لئے کئی K لائنوں کے رجحان کا تعین کرنے کی ضرورت ہے۔ واپسی کے دائرہ کار میں ، اگر لمحہ > 0 مسلسل confirmBars روٹ K لائن ہے تو ، زیادہ داخلہ لیا جاتا ہے۔ اگر لمحہ < 0 مسلسل confirmBars روٹ K لائن ہے تو ، خالی داخلہ لیا جاتا ہے۔
اس حکمت عملی میں رجحانات کا تعین کرنے کی کلید یہ ہے کہ مسلسل K لائنوں کی تعداد کا حساب لگایا جائے جس کی لمبائی 0 سے زیادہ یا اس سے کم ہے ، bcount اور اسکاؤنٹ متغیرات کے ذریعہ کیا گیا ہے۔ وہ + 1 ہیں جب متعلقہ شرائط پوری ہوجاتی ہیں ، اور 0 واپس آتی ہیں جب وہ پوری نہیں ہوتی ہیں۔ جب گنتی confirmBars تک پہنچ جاتی ہے تو ، اسی طرح کے تجارت کو زیادہ یا خالی کرنے کے لئے عملدرآمد کریں۔
یہ ایک سادہ رجحانات کی پیروی کرنے کی حکمت عملی ہے جس میں مندرجہ ذیل فوائد ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مجموعی طور پر ، یہ متحرک توڑنے والی حکمت عملی ایک آسان عملی رجحان کی پیروی کرنے والی حکمت عملی ہے ، جو مقدار کی تجارت کے لئے موزوں ہے۔ اس حکمت عملی کو لاگو کرنے کے دوران ، تجارت کی فریکوئنسی کو کنٹرول کرنے ، زیادہ تجارت سے بچنے اور تجارت کی زیادہ قیمت سے بچنے کے لئے توجہ دینے کی ضرورت ہے۔ اس کے ساتھ ہی ، پیرامیٹرز اور فلٹرنگ قواعد کو عملی اقسام اور مارکیٹ کے ماحول کے مطابق ایڈجسٹ اور بہتر بنانے کی ضرورت ہے تاکہ حکمت عملی کو زیادہ سے زیادہ اثر انداز کیا جاسکے۔
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Momentum Strategy [TS Trader]", overlay=true)
confirmBars = input(1)
momentumLength = input(14, title="Momentum Length")
price = close
momentum = close - close[momentumLength]
// === INPUT BACKTEST RANGE ===
fromYear = input.int(2019, title="Backtest Start Year")
fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
toYear = input.int(2023, title="Backtest End Year")
toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)
startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00)
endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59)
inBacktestRange = true
// === STRATEGY LOGIC ===
bcond = momentum > 0
bcount = 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
if (bcount == confirmBars and inBacktestRange)
strategy.entry("Buy", strategy.long, comment="Long")
scond = momentum < 0
scount = 0
scount := scond ? nz(scount[1]) + 1 : 0
if (scount == confirmBars and inBacktestRange)
strategy.entry("Sell", strategy.short, comment="Short")
// Plotting Momentum
plot(momentum, title="Momentum", color=color.purple)