यह रणनीति ट्रेंड ट्रेडिंग के लिए ट्रेंड की दिशा निर्धारित करने और मध्यम से दीर्घकालिक रुझानों को पकड़ने के लिए तेज़ और धीमी गति से चलती औसत के संयोजन का उपयोग करती है। जब तेज़ एमए धीमी एमए के ऊपर पार हो जाता है तो यह लंबा हो जाता है, और जब तेज़ एमए धीमी एमए के नीचे पार हो जाता है तो यह छोटा हो जाता है। यह एक विशिष्ट ट्रेंड-फॉलोइंग रणनीति है।
यह रणनीति मुख्य रूप से बाजार के रुझानों को निर्धारित करने के लिए चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस पर निर्भर करती है। विशेष रूप से, यह 5 अवधि के तेज एमए और 21 अवधि के धीमे एमए का उपयोग करती है।
जब तेज एमए धीमी एमए से ऊपर जाता है, तो यह बाजार में एक अपट्रेंड का संकेत देता है, और रणनीति अगले बार के खुलने पर लंबी हो जाएगी। जब तेज एमए धीमी एमए से नीचे जाता है, तो यह एक डाउनट्रेंड का संकेत देता है, और रणनीति अगले बार के खुलने पर छोटी हो जाएगी।
इसके अतिरिक्त,
क्रिप्टो ट्रेडिंग के लिए, रणनीति में चरम मूल्य तर्क भी शामिल है - केवल जब तेज और धीमी एमए दोनों चरम क्षेत्रों तक पहुंचते हैं तो ट्रेडिंग सिग्नल ट्रिगर किए जाएंगे। इससे झूठे संकेतों से भी बचा जाता है।
बाहर निकलने का नियम सरल और सीधा है - स्टॉप लॉस को हिट करने पर बंद स्थिति।
जोखिमों को निम्न द्वारा कम किया जा सकता हैः
इस रणनीति में निम्नलिखित पहलुओं से सुधार किया जा सकता हैः
वर्तमान बाजार के लिए इष्टतम मापदंडों को खोजने के लिए अधिक एमए संयोजनों का परीक्षण करें, उदाहरण के लिए 10-अवधि तेज एमए और 50-अवधि धीमी एमए।
अधिक सख्त प्रवेश नियम निर्धारित करने और झूठे संकेतों से बचने के लिए एमएसीडी, केडीजे और अन्य संकेतकों को जोड़कर परीक्षण करें।
वर्तमान सरल दोहरी एमए प्रविष्टि को बढ़ाया जा सकता हैः
समय से पहले रुकने से बचने के लिए अन्य स्टॉप तंत्र जैसे ट्रेसिंग स्टॉप का परीक्षण करें।
रुकावटों के बाद पुनः प्रवेश की अनुमति दें, ताकि रुझानों को याद न किया जा सके।
संक्षेप में, इस मूल प्रवृत्ति-अनुसरण रणनीति का सरल और सीधा तर्क है - प्रवृत्ति दिशा के लिए दोहरे एमए का उपयोग करना और जोखिम प्रबंधन के लिए स्टॉप चलाना। पेशेवरों को समझना आसान है, प्रवृत्तियों से लाभ उठा सकते हैं, और जोखिमों का प्रबंधन कर सकते हैं। लेकिन सीमाएं भी मौजूद हैं, जैसे कि समेकन के दौरान खराब संकेत, समय से पहले स्टॉप आउट, आदि। लाइव ट्यूनिंग और अनुकूलन की आवश्यकता है, जैसे कि फ़िल्टर जोड़ना, स्टॉप को समायोजित करना, ताकि इसे विभिन्न बाजार वातावरण में अनुकूलन योग्य बनाया जा सके। एक परिचयात्मक प्रवृत्ति व्यापार रणनीति के रूप में, यह शुरुआती लोगों के लिए सीखने और लागू करने के लिए उपयुक्त है। लेकिन इसकी सीमाओं को ध्यान में रखा जाना चाहिए, और अधिक उन्नत रणनीतियों का पता लगाया जाना चाहिए। केवल निरंतर सुधार के माध्यम से ही लगातार बदलते बाजारों में स्थायी लाभ प्राप्त किया जा सकता है।
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's Trend MAs Strategy v2.3", shorttitle = "Trend MAs str 2.3", 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, %") 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?") needex = input(true, defval = true, title = "Need extreme? (crypto/fiat only!!!)") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") src = 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 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) len = abs(close - mac) sma = sma(len, 100) max = max(open, close) min = min(open, close) //Signals up1 = trend == 1 and (low < center2 or usefastsma == false) and redbars == 1 dn1 = trend == -1 and (high > center2 or usefastsma == false) and greenbars == 1 up2 = high < center and high < center2 and bar == -1 and needex dn2 = low > center and low > center2 and bar == 1 and needex up3 = close < open and len > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //Lines plot(center2, color = red, linewidth = 3, transp = 0, title = "Fast MA") plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading stoplong = up1 == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1] stopshort = dn1 == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1] if up1 or up2 or up3 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.exit("Stop Long", "Long", stop = stoplong) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.exit("Stop Short", "Short", stop = stopshort) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()