ट्रेंड फॉलोइंग एसएमए रणनीति सरल चलती औसत (एसएमए) और तेजी से एसएमए के संयोजन का उपयोग बाजार की प्रवृत्ति दिशा निर्धारित करने और ट्रेडिंग सिग्नल उत्पन्न करने के लिए करती है। जब कीमत एसएमए और एफएसएमए से ऊपर जाती है तो यह लंबी जाती है और जब कीमत नीचे जाती है तो लंबी निकलती है। जब कीमत एसएमए और एफएसएमए से नीचे जाती है तो यह छोटी जाती है और जब कीमत ऊपर जाती है तो छोटी निकलती है। रणनीति प्रवृत्ति परिवर्तनों को पकड़ने के लिए गतिशील नो-वक्र-फिटिंग ट्रेडिंग सिग्नल प्रदान करती है।
रणनीति 50 अवधि के एसएमए और तेजी से एसएमए fsma की गणना करने के लिए एसएमए फ़ंक्शन का उपयोग करती है। fsma की गणना एसएमए प्लस 6 बार मूल्य के मानक विचलन के आधार पर n अवधि में की जाती है।
दो बुलियन चर लंबे और छोटे पदों को रिकॉर्ड करने के लिए उपयोग किए जाते हैं. लंबे समय तक 1 पर सेट किया जाता है जब कीमत लंबी प्रविष्टि के लिए एसएमए और एफएसएमए से ऊपर जाती है, और -1 जब कीमत बाहर निकलने के लिए नीचे जाती है। लघु छोटी स्थिति के लिए इसी तरह के तर्क का पालन करता है।
प्रवृत्ति चर का उपयोग प्रवृत्ति निर्धारण के लिए किया जाता है। यह 1 पर सेट किया जाता है जब कीमत fsma और uptrend के लिए sma से ऊपर होती है, और -1 जब कीमत fsma और downtrend के लिए sma से नीचे होती है।
लंबे और छोटे के ट्रेडिंग सिग्नल वास्तविक समय की प्रवृत्ति दिशा के आधार पर उत्पन्न होते हैं। जब प्रवृत्ति नीचे से ऊपर की ओर बदलती है, यदि कीमत एफएसएमए से ऊपर है, तो लंबी हो जाती है। जब प्रवृत्ति ऊपर से नीचे की ओर बदलती है, यदि कीमत एसएमए से नीचे है, तो छोटी हो जाती है।
यह रणनीति रुझान परिवर्तन के अवसरों को पकड़ने के लिए रुझानों के अनुसरण और ब्रेकआउट दोनों तरीकों को जोड़ती है।
दो एमए की दोहरी पुष्टि का उपयोग कर नकली पलायनों को फ़िल्टर करता है।
रुझान का अनुसरण करने और ब्रेकआउट को जोड़ने से महत्वपूर्ण मोड़ मिलते हैं।
गतिशील व्यापार संकेतों के लिए कोई वक्र फिट या अनुकूलन नहीं।
सरल और स्पष्ट तर्क, समझने और संशोधित करने में आसान।
लंबाई के लिए अनुकूलन योग्य मापदंड, विभिन्न बाजारों के लिए गुणक।
डबल एमए क्रॉसिंग से अत्यधिक व्हीपसॉ ट्रेड और रिवर्स हो सकते हैं।
एमए विलंब प्रारंभिक रुझान उलट को याद कर सकता है।
एकल व्यापार हानि को नियंत्रित करने के लिए कोई स्टॉप लॉस तंत्र नहीं।
अनुचित पैरामीटर ट्यूनिंग से ओवरट्रेडिंग या लेगिंग हो जाती है।
जोखिम 1 और 2 के लिए, एमए अवधि को बढ़ाएं, ड्रॉडाउन स्टॉप लॉस जोड़ें।
जोखिम 3 के लिए प्रतिशत या ऑर्डर स्टॉप लॉस जोड़ें।
जोखिम 4 के लिए, विभिन्न बाजारों के लिए पैरामीटर को गतिशील रूप से समायोजित करें।
प्रवृत्ति की पुष्टि के लिए MACD, DMI का उपयोग करके प्रवृत्ति फ़िल्टर जोड़ें.
केडी, आरएसआई का उपयोग औसत रिवर्सन ओवरबॉट/ओवरसोल्ड ट्रेडिंग के लिए करें।
कुल स्टॉप लॉस जैसे कि ट्रेलिंग स्टॉप, प्रतिशत स्टॉप जोड़ें।
गतिशील समायोजन के लिए स्थिति आकार मॉड्यूल जोड़ें.
समय सीमाओं में अनुकूलित करने के लिए मापदंडों का अनुकूलन करें।
ऑटो पैरामीटर ट्यूनिंग के लिए मशीन लर्निंग का परिचय दें।
अतिरिक्त फिल्टर के साथ समग्र रणनीति का निर्माण करें।
जटिल रुझान पैटर्न का पता लगाने के लिए गहरी सीखने का उपयोग करें।
एसएमए ट्रेंड फॉलोइंग रणनीति एक सरल ट्रेंड ट्रेडिंग सिस्टम है। यह ट्रेंड की दिशा में सहायता करने और ट्रेंड रिवर्स को कैप्चर करने के लिए तेज़ और धीमे एमए का उपयोग करता है। हालांकि, व्हिपसा और लेग जैसे जोखिम मौजूद हैं। भविष्य के सुधारों में फ़िल्टर, स्टॉप, गतिशील मापदंडों आदि को जोड़ना शामिल है। कुल मिलाकर यह एक अच्छी स्टार्टर ट्रेंड फॉलोइंग रणनीति के रूप में कार्य करता है, लेकिन इसके प्रदर्शन को अधिकतम करने के लिए वास्तविक दुनिया के अनुप्रयोगों के लिए अनुकूलन की आवश्यकता होती है।
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SMA STRATEGY", shorttitle="SMA TREND", overlay=true, calc_on_order_fills=true) length = input(title="Length", type=input.integer, defval=50) src_=input(close, title="Source", type=input.source) mult=input(6.0, title="Mult") barc=input(true, title="Use barcolor?") plots=input(false, title="Show plots?") tri=input(false, title="Use triangles?") r(src, n)=> s = 0.0 for i = 0 to n-1 s := s + ((n-(i*2+1))/2)*src[i] x=s/(n*(n+1)) x l=sma(low, length) h=sma(high, length) lr= l+mult*r(low, length) hr= h+mult*r(high, length) trend=0 trend:=src_ > lr and src_ > hr ? 1 : src_ < lr and src_ < hr ? -1 : trend[1] strategy.close("Long", when=trend==-1) strategy.close("Short", when=trend==1) strategy.entry("Long", strategy.long, when=trend==1 and src_>h) strategy.entry("Short", strategy.short, when=trend==-1 and src_<l) long=0 short=0 long:= trend==1 and src_>h ? 1 : trend==-1 ? -1 : long[1] short:= trend==-1 and src_<l ? 1 : trend==1 ? -1 : short[1] barcolor(barc? (long>0? color.green : short>0? color.red : trend>0? color.orange: trend<0 ? color.white : color.blue) : na) plotshape(tri? close : na, style= shape.diamond, color= long>0? color.green : short>0? color.red : trend>0? color.orange: trend<0 ? color.white : color.blue, location=location.top) //shortenter= a1=plot(plots? l : na, color=color.blue, linewidth=1) //longenter= a2=plot(plots? h : na, color=color.blue, linewidth=1) fill(a1, a2, color=color.blue) //stopshort= b1=plot(plots? hr : na, color=color.navy, linewidth=1) //stoplong= b2=plot(plots? lr : na, color=color.navy, linewidth=1) fill(b1, b2, color=color.navy)