विलियम्स
इस रणनीति में विभिन्न अवधि की लंबाई के तीन एसएमए का उपयोग किया जाता है - फास्ट लाइन एसएमए1, मिडिल लाइन एसएमए2, और स्लो लाइन एसएमए3, जहां एसएमए1 में सबसे कम अवधि होती है और एसएमए3 में सबसे लंबी होती है।
जब एसएमए1 एसएमए2 से ऊपर और एसएमए2 एसएमए3 से ऊपर जाता है, तो यह संकेत देता है कि बाजार ऊपर की ओर प्रवृत्ति में है और एक ऊपर की ओर मगरमच्छ का मुंह बनाता है। प्रवृत्ति व्यापार सिद्धांत के अनुसार, एक लंबी स्थिति दर्ज की जानी चाहिए।
इसके विपरीत, जब एसएमए1 एसएमए2 से नीचे जाता है और एसएमए2 एसएमए3 से नीचे जाता है, तो यह दर्शाता है कि बाजार नीचे की ओर प्रवृत्ति में है और नीचे की ओर एक मगरमच्छ का मुंह बनाता है। एक छोटी स्थिति दर्ज की जानी चाहिए।
बाहर निकलने की स्थिति तब होती है जब तीन लाइनें फिर से संरेखित होती हैं, मध्य रेखा के नीचे तेज रेखा या धीमी रेखा के नीचे मध्य रेखा के साथ। पदों को बंद किया जाना चाहिए।
यह रणनीति प्रवृत्ति की दिशा की पहचान करने के लिए पृष्ठभूमि रंग भी खींचती है - उभरती प्रवृत्ति के लिए हरा और घटती प्रवृत्ति के लिए लाल।
संक्षेप में, यह रणनीति ट्रेंड की दिशा निर्धारित करने और तदनुसार व्यापार करने के लिए चलती औसत और मगरमच्छ के मुंह के पैटर्न की ताकत का उपयोग करती है। यह एक विशिष्ट ट्रेंड फॉलोअप रणनीति है।
जोखिमों से निपटने के लिए निम्नलिखित सुधार किए जा सकते हैंः
बाजारों में उतार-चढ़ाव से बचने के लिए ट्रेंड फिल्टर जोड़ें।
प्रवृत्ति संकेतकों का उपयोग करके बाहर निकलने की स्थितियों को अनुकूलित करें।
एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस रणनीति जोड़ें।
अनुकूलनशील चलती औसत का प्रयोग करें ताकि अवधि गतिशील रूप से समायोजित हो सके।
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
कमजोर रुझानों में समय से पहले प्रवेश से बचने के लिए रुझान की ताकत फ़िल्टर जोड़ें।
बैकटेस्टिंग के माध्यम से सर्वोत्तम संयोजन खोजने के लिए चलती औसत अवधि का अनुकूलन करें।
अनुकूलनशील चलती औसत का प्रयोग करें ताकि अवधि बाजार गति के आधार पर अनुकूलित हो।
जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों जैसे ट्रेलिंग स्टॉप लॉस, अकाउंट बैलेंस स्टॉप लॉस जोड़ें।
सटीकता बढ़ाने के लिए वॉल्यूम, बोलिंगर बैंड आदि का उपयोग करके प्रवेश स्थितियों में सुधार करें।
रेखाओं के पार होने पर संकेतकों के साथ प्रवृत्ति उलटने की संभावना का आकलन करके बाहर निकलने की स्थिति में सुधार करना।
विलियम्स
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=3 strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot") len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length") len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length") len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length") src = input(close, title = "Source") showbg = input(false, title = "Show Background") 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") //MAs sma1 = sma(src, len1) sma2 = sma(src, len2) sma3 = sma(src, len3) plot(sma1, color = lime, linewidth = 2) plot(sma2, color = blue, linewidth = 2) plot(sma3, color = red, linewidth = 2) //Signals up = sma1 > sma2 and sma2 > sma3 dn = sma1 < sma2 and sma2 < sma3 //Background trend = 0 trend := up ? 1 : dn ? -1 : trend[1] col = showbg == false ? na : trend == 1 ? lime : red bgcolor(col) //Trading size = strategy.position_size lot = 0.0 lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1] if up strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()