चरम नोरो ट्रेंड मूविंग एवरेज रणनीति


निर्माण तिथि: 2024-01-31 17:00:53 अंत में संशोधित करें: 2024-01-31 17:00:53
कॉपी: 1 क्लिक्स: 608
1
ध्यान केंद्रित करना
1617
समर्थक

चरम नोरो ट्रेंड मूविंग एवरेज रणनीति

अवलोकन

यह रणनीति प्रवृत्ति की दिशा और अधिक समय के लिए प्रवृत्ति की पहचान करने के लिए दो समान रेखा संकेतकों का उपयोग करती है। इसमें धीमी औसत रेखा (नीली रेखा) समग्र प्रवृत्ति की दिशा का निर्धारण करने के लिए उपयोग की जाती है, और तेज औसत रेखा (लाल रेखा) मूल्य चैनल के साथ मिलकर प्रवृत्ति के समय का पता लगाने के लिए उपयोग की जाती है।

रणनीति सिद्धांत

  1. दो औसत धीमी गति से गणना की जाती है। धीमी गति से औसत चक्र 21 है, जो समग्र प्रवृत्ति का आकलन करने के लिए है; और तेजी से औसत चक्र 5 है, जो मूल्य चैनल के साथ संयुक्त है, जो व्यापार के समय का पता लगाने के लिए है।

  2. यह गणना करें कि क्या वर्तमान मूल्य पिछले चक्र के मूल्य चैनल को तोड़ता है। यदि कीमत चैनल को तोड़ती है, तो हम इसे एक व्यापारिक अवसर मानते हैं।

  3. K लाइनों की दिशा और संख्या की गणना करें. यदि अंतिम N रूट K लाइनों में से प्रत्येक ऋणात्मक है, तो यह बहु समय के लिए हो सकता है; यदि अंतिम N रूट K लाइनों में से प्रत्येक ऋणात्मक है, तो यह रिक्त समय के लिए हो सकता है। N की संख्या बार्स पैरामीटर के माध्यम से सेट की जाती है।

  4. ऊपर दिए गए कुछ कारकों को मिलाकर, एक बहु-खोखला संकेत जारी किया जाता है। यदि बाजार की स्थिति धीमी औसत रेखा की दिशा से मेल खाती है, और तेजी से औसत रेखा या मूल्य चैनल संकेत देता है, और K लाइन भी उपयुक्त है, तो एक व्यापार संकेत जारी किया जाता है।

रणनीतिक लाभ

  1. एक द्वि-समान-रेखा प्रणाली का उपयोग करके, यह प्रवृत्ति की दिशा को प्रभावी ढंग से ट्रैक करने में सक्षम है।

  2. एक त्वरित औसत रेखा और एक मूल्य चैनल के संयोजन के साथ, यह व्यापार के समय को पकड़ने के लिए ब्रेकआउट बिंदुओं को जल्दी से पहचानने में मदद करता है।

  3. सिग्नल भेजते समय K लाइन की दिशा और संख्या को भी ध्यान में रखें, ताकि बाजार को उलटने से बचा जा सके।

  4. विभिन्न किस्मों और अवधि के लिए स्वतंत्र रूप से समायोज्य औसत पैरामीटर लागू होते हैं।

रणनीतिक जोखिम और समाधान

  1. द्विआधारी समता रेखा को पार की ओर जाने पर गलत संकेत देने में आसानी होती है। कीमत अंतर सूचकांक या एटीआर सूचकांक के माध्यम से निर्णय लेने में सहायता की जा सकती है, जिससे उतार-चढ़ाव की स्थिति में व्यापार से बचा जा सकता है।

  2. एक उचित स्टॉप-लॉस सेट करने के लिए, एकल नुकसान को कम करें।

  3. हम रणनीति को और अधिक स्थिर बनाने के लिए तंत्र और मापदंडों को अनुकूलित करना जारी रखेंगे।

रणनीति अनुकूलन दिशा

  1. ADX, MACD आदि जैसे सहायक सूचकांकों को जोड़ें, ताकि बाजार में उतार-चढ़ाव के गलत व्यापार से बचा जा सके।

  2. गतिशील समायोजन रोक-लाभ बिंदु. ATR के आधार पर जोखिम की उम्मीद की गणना करने के लिए, उचित रोक-लाभ अनुपात सेट करें.

  3. अनुकूलन पैरामीटर अनुकूलन क्षमता. मशीन सीखने के तरीकों का उपयोग करके, सिस्टम को स्वचालित रूप से अनुकूलित करने के लिए पैरामीटर का अनुकूलन किया जा सकता है।

  4. उदाहरण के लिए, क्रिप्टोकरेंसी को कम अवधि के लिए अनुकूलित किया गया है।

संक्षेप

इस रणनीति के समग्र रूप से ट्रेंड ट्रैक करने के लिए बहुत उपयुक्त है. साथ ही साथ यह कुछ व्यापारिक अवसरों को भी बढ़ाता है. उचित अनुकूलन के माध्यम से, रणनीति को अधिक बाजारों में स्थिर रूप से चलाने के लिए सक्षम किया जा सकता है. हम इसे एक वाणिज्यिक स्तर की उच्च गुणवत्ता वाली रणनीतियों के रूप में बनाने के लिए सुधार करना जारी रखेंगे।

रणनीति स्रोत कोड
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.9 Extreme", shorttitle = "Trend MAs str 1.9 extreme", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
useohlc4 = input(false, defval = false, title = "Use OHLC4")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
slowlen = input(21, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")
needex = input(true, defval = true, title = "Need extreme? (crypto/fiat only!!!)")

src = useohlc4 == true ? ohlc4 : close

//PriceChannel 1
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//PriceChannel 2
lasthigh2 = highest(src, fastlen)
lastlow2 = lowest(src, fastlen)
center2 = (lasthigh2 + lastlow2) / 2

//Trend
trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

//Signals
up = trend == 1 and (low < center2 or usefastsma == false) and (redbars == 1) ? 1 : 0
dn = trend == -1 and (high > center2 or usefastsma == false) and (greenbars == 1) ? 1 : 0

up2 = high < center and high < center2 and bar == -1 ? 1 : 0
dn2 = low > center and low > center2 and bar == 1 ? 0 : 0

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA")
plot(center2, color = red, linewidth = 3, transp = 0, title = "PriceChannel 2")

//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')

//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]

longCondition = up == 1 or (up2 == 1 and needex == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    strategy.exit("Stop Long", "Long", stop = stoplong)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    strategy.exit("Stop Short", "Short", stop = stopshort)