सुपर मोमेंटम रणनीति कई गति संकेतकों को जोड़ती है। यह तब खरीदती है जब कई गति संकेतक एक साथ तेजी से बढ़ते हैं, और बेचते हैं जब वे एक साथ मंदी होते हैं। कई गति संकेतक को एकीकृत करके, इसका उद्देश्य मूल्य रुझानों को अधिक सटीक रूप से कैप्चर करना और व्यक्तिगत संकेतकों से झूठे संकेतों से बचना है।
रणनीति में एवरगेट द्वारा 4 आरएमआई संकेतक और 1 चैंडे मोमेंटम ऑसिलेटर का उपयोग किया गया है। चैंडे एमओ ओवरबॉट और ओवरसोल्ड स्थितियों की पहचान करने के लिए मूल्य परिवर्तन की गणना करता है।
यह तब लंबा होता है जब आरएमआई5 अपनी खरीद रेखा के ऊपर, आरएमआई4 अपनी खरीद रेखा के नीचे, आरएमआई3 अपनी खरीद रेखा के नीचे, आरएमआई2 अपनी खरीद रेखा के नीचे, आरएमआई1 अपनी खरीद रेखा के नीचे और चैंडे एमओ अपनी खरीद रेखा के ऊपर पार करता है।
यह तब शॉर्ट हो जाता है जब आरएमआई5 अपनी बिक्री रेखा के नीचे, आरएमआई4 अपनी बिक्री रेखा के ऊपर, आरएमआई3 अपनी बिक्री रेखा के ऊपर, आरएमआई2 अपनी बिक्री रेखा के ऊपर, आरएमआई1 अपनी बिक्री रेखा के ऊपर और चैंडे एमओ अपनी बिक्री रेखा के नीचे पार करता है।
पिरामिड ट्रेडिंग के लिए रुझानों की बेहतर पहचान करने के लिए आरएमआई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)