سپر مومینٹم حکمت عملی


تخلیق کی تاریخ: 2023-11-06 09:24:02 آخر میں ترمیم کریں: 2023-11-06 09:24:02
کاپی: 0 کلکس کی تعداد: 698
1
پر توجہ دیں
1621
پیروکار

سپر مومینٹم حکمت عملی

جائزہ

سپر حرکیات کی حکمت عملی میں متعدد حرکیاتی اشارے استعمال کیے جاتے ہیں ، جب متعدد حرکیاتی اشارے بیک وقت زیادہ یا کم ہوتے ہیں تو خریدنے یا بیچنے کی کارروائی کی جاتی ہے۔ اس حکمت عملی میں متعدد حرکیاتی اشارے کو جوڑ کر قیمت کے رجحان کو زیادہ درست طریقے سے پکڑنے کی اجازت دی جاسکتی ہے ، تاکہ کسی ایک اشارے کی وجہ سے غلط سگنل سے بچا جاسکے۔

حکمت عملی کا اصول

اس حکمت عملی میں 4 ایورجٹ کے آر ایم آئی اشارے اور ایک چینڈے موشن سوئنگ اشارے کا استعمال کیا گیا ہے۔ آر ایم آئی اشارے قیمت کی حرکیات پر مبنی ہیں ، جس سے قیمتوں میں اضافے اور کمی کی طاقت کا اندازہ لگایا جاسکتا ہے۔

جب RMI5 پر اس کی خریداری کی لائن ، RMI4 پر اس کی خریداری کی لائن ، RMI3 پر اس کی خریداری کی لائن ، RMI2 پر اس کی خریداری کی لائن ، RMI1 پر اس کی خریداری کی لائن ، اور Chande MO پر اس کی خریداری کی لائن ، خریدنے کا عمل ہوتا ہے۔

جب RMI5 کے تحت اس کی فروخت کی لائن ، RMI4 پر اس کی فروخت کی لائن ، RMI3 پر اس کی فروخت کی لائن ، RMI2 پر اس کی فروخت کی لائن ، RMI1 پر اس کی فروخت کی لائن ، اور Chande MO کے تحت اس کی فروخت کی لائن ، فروخت کی کارروائی کریں۔

آر ایم آئی 5 کو دوسرے آر ایم آئی اشارے کے برعکس سمت میں ترتیب دیا گیا ہے ، جس سے رجحانات کو بہتر طور پر پہچانا جاسکتا ہے ، جس سے پیرامڈ آپریشن ہوتا ہے۔

طاقت کا تجزیہ

  • ایک سے زیادہ اشارے کو یکجا کرنا ، رجحانات کا زیادہ درست اندازہ لگانے اور کسی ایک اشارے کے غلط اشارے سے بچنے کے لئے

  • بڑے پیمانے پر رجحانات کی نشاندہی کرنے کے لئے کثیر ٹائم پیکیجنگ

  • ریورس آر ایم آئی اشارے رجحانات کی شناخت اور پرامڈ آپریشن میں معاون ثابت ہوسکتے ہیں

  • چانڈے ایم او اوور خرید اور اوور سیل کے دوران غلط تجارت سے بچنے میں مدد کرتا ہے

خطرے کا تجزیہ

  • بہت سے اشارے کے مجموعے ، پیچیدہ پیرامیٹرز کی ترتیب ، محتاط جانچ اور اصلاح کی ضرورت ہے

  • جب ایک ہی وقت میں متعدد اشارے تبدیل ہوتے ہیں تو غلط سگنل پیدا ہوسکتے ہیں

  • متعدد اشارے کے مجموعی طور پر ، ممکنہ طور پر کم ٹرانزیکشن فریکوئنسی

  • مختلف اقسام اور مارکیٹ کے حالات کے لئے اشارے کے پیرامیٹرز پر توجہ دینے کی ضرورت ہے

اصلاح کی سمت

  • ٹیسٹ اشارے کے پیرامیٹرز کی ترتیب ، حکمت عملی کے استحکام کو بہتر بنانے کے لئے پیرامیٹرز کو بہتر بنائیں

  • سگنل کے معیار پر اثر انداز ہونے کے لئے کچھ اشارے کو بڑھانے یا کم کرنے کی کوشش کریں

  • کچھ فلٹرنگ شرائط کو متعارف کرایا جاسکتا ہے تاکہ مخصوص مارکیٹ کے حالات میں غلط سگنل سے بچا جاسکے

  • اشارے کی خرید و فروخت کی لائن کی پوزیشن کو ایڈجسٹ کریں اور بہترین پیرامیٹرز کا مجموعہ تلاش کریں

  • خطرے پر قابو پانے کے لئے روک تھام کے طریقہ کار پر غور کریں

خلاصہ کریں۔

یہ حکمت عملی مارکیٹ کے رجحانات کے بارے میں فیصلہ کرنے کی صلاحیت کو بہتر بناتی ہے ، جس میں متعدد متحرک اشارے کا مجموعی استعمال کیا جاتا ہے۔ تاہم ، پیرامیٹرز کی ترتیب پیچیدہ ہے ، جس کو احتیاط سے جانچنے ، بہتر بنانے اور مستقل طور پر بہتر بنانے اور ایڈجسٹ کرنے کی ضرورت ہے۔ اگر مناسب طریقے سے استعمال کیا جائے تو ، بہتر تجارتی سگنل حاصل کرنے کی امید ہے ، مارکیٹ کے رجحانات کی پیروی کرنے میں ایک خاص فائدہ ہے۔ تاہم ، تاجر کو ابھی بھی خطرے پر توجہ دینے ، بہترین پیرامیٹرز کا مجموعہ تلاش کرنے اور خطرے کے کنٹرول کے طریقہ کار میں شامل ہونے کی ضرورت ہے ، تاکہ مستحکم تجارت کی جاسکے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Super Momentum Strat", shorttitle="SMS", format=format.price, precision=2)

//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////


src = input(close, "Price", type = input.source)
highlightBreakouts = input(title="Highlight Overbought/Oversold Breakouts ?", type=input.bool, defval=true)

CMOlength = input(9, minval=1, title="Alpha Chande Momentum Length")


//CMO
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, CMOlength)
sm2 = sum(m2, CMOlength)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)+50
plot(chandeMO, "Chande MO", color=color.blue)

obLevel = input(75, title="Chande Sellline")
osLevel = input(25, title="Chande Buyline")
hline(obLevel, color=#0bc4d9)
hline(osLevel, color=#0bc4d9)




///
///RMIS 
//
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Relative Momentum Index script may be freely distributed under the MIT license.
//
///
///


//RMI1
length1 = input(title="RMI1 Length", type=input.integer, minval=1, defval=8)
momentumLength1 = input(title="RMI1 Momentum ", type=input.integer, minval=1, defval=3)
up1 = rma(max(change(src, momentumLength1), 0), length1)
down1 = rma(-min(change(src, momentumLength1), 0), length1)

rmi1 = down1 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up1 / down1))

obLevel1 = input(57, title="RMI1 Sellline")
osLevel1 = input(37, title="RMI1 Buyline")

rmiColor1 = rmi1 > obLevel1 ? #0ebb23 : rmi1 < osLevel1 ? #ff0000 : #ffe173
plot(rmi1, title="RMI 1", linewidth=2, color=rmiColor1, transp=0)
hline(obLevel1, color=#0b57d9)
hline(osLevel1, color=#0b57d9)


//RMI2
length2 = input(title="RMI2 Length", type=input.integer, minval=1, defval=12)
momentumLength2 = input(title="RMI2 Momentum ", type=input.integer, minval=1, defval=3)
up2 = rma(max(change(src, momentumLength1), 0), length2)
down2 = rma(-min(change(src, momentumLength1), 0), length2)

rmi2 = down2 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up2 / down2))

obLevel2 = input(72, title="RMI2 Sellline")
osLevel2 = input(37, title="RMI2 Buyline")

rmiColor2 = rmi1 > obLevel1 ? #0ebb23 : rmi2 < osLevel2 ? #ff0000 : #c9ad47
plot(rmi2, title="RMI 2", linewidth=2, color=rmiColor2, transp=0)
hline(obLevel2, color=#5a0bd9)
hline(osLevel2, color=#5a0bd9)

//RMI3
length3 = input(title="RMI3 Length", type=input.integer, minval=1, defval=30)
momentumLength3 = input(title="RMI3 Momentum ", type=input.integer, minval=1, defval=53)
up3 = rma(max(change(src, momentumLength3), 0), length3)
down3 = rma(-min(change(src, momentumLength3), 0), length3)

rmi3 = down3 == 0 ? 100 : up3 == 0 ? 0 : 100 - (100 / (1 + up3 / down3))

obLevel3 = input(46, title="RMI3 Sellline")
osLevel3 = input(24, title="RMI3 Buyline")

rmiColor3 = rmi3 > obLevel3 ? #0ebb23 : rmi3 < osLevel3 ? #ff0000 : #967d20
plot(rmi3, title="RMI 3", linewidth=2, color=rmiColor3, transp=0)
hline(obLevel3, color=#cf0bd9)
hline(osLevel3, color=#cf0bd9)
//RMI4
length4 = input(title="RMI4 Length", type=input.integer, minval=1, defval=520)
momentumLength4 = input(title="RMI4 Momentum ", type=input.integer, minval=1, defval=137)
up4 = rma(max(change(src, momentumLength4), 0), length4)
down4 = rma(-min(change(src, momentumLength4), 0), length4)

rmi4 = down4 == 0 ? 100 : up4 == 0 ? 0 : 100 - (100 / (1 + up4 / down4))

obLevel4 = input(0, title="RMI4 Sellline")
osLevel4 = input(100, title="RMI4 Buyline")

rmiColor4 = rmi4 > obLevel4 ? #0ebb23 : rmi4 < osLevel4 ? #ff0000 : #7a630b
plot(rmi4, title="RMI 4", linewidth=2, color=rmiColor4, transp=0)
hline(obLevel4, color=#bd1150)
hline(osLevel4, color=#bd1150)


//RMI5
length5 = input(title="RMI5 Length", type=input.integer, minval=1, defval=520)
momentumLength5 = input(title="RMI5 Momentum ", type=input.integer, minval=1, defval=137)
up5 = rma(max(change(src, momentumLength5), 0), length5)
down5 = rma(-min(change(src, momentumLength5), 0), length5)

rmi5 = down5 == 0 ? 100 : up4 == 0 ? 0 : 100 - (100 / (1 + up5 / down5))

buy5 = input(0, title="RMI5 Buy Above")
sell5 = input(47, title="RMI5 Sell Below")

rmiColor5 = rmi5 > buy5 ? #0ebb23 : rmi5 < sell5 ? #ff0000 : #7a630b
plot(rmi5, title="RMI 5", linewidth=2, color=rmiColor5, transp=0)
hline(buy5, color=#bd1150)
hline(sell5, color=#bd1150)
///
///END RMIS 
//
// 
// Relative Momentum Index script may be freely distributed under the MIT license.
//
///
///

hline(50, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")

//alerts


longcondition1 = crossover(chandeMO, osLevel)
shortcondition1 = crossunder(chandeMO, obLevel)
longcondition2 = rmi5>buy5 and rmi4<osLevel4 and rmi3<osLevel3 and rmi2<osLevel2 and rmi1<osLevel1 and longcondition1
shortcondition2 =  rmi5<sell5 and rmi4>obLevel4 and rmi3>obLevel3 and rmi2>obLevel2 and rmi1>obLevel1 and shortcondition1

if testPeriod()
    if longcondition2
        strategy.entry("Buy", strategy.long)
    if shortcondition2
        strategy.entry("Sell", strategy.short)