यह रणनीति संकेतों के बाद प्रवृत्ति उत्पन्न करने के लिए अलग-अलग लंबाई के दो ईएमए के ढलानों के क्रॉस का उपयोग करती है। डिफ़ॉल्ट रूप से, 130 और 400 का उपयोग किया जाता है, जो बहुत अच्छा प्रदर्शन करते हैं।
बाजार में रणनीति के प्रवेश के लिए निम्नलिखित शर्तें हैं:
जब सरल ढलानें विपरीत दिशा में पार होती हैं, तो यह स्थिति को बंद कर देता है।
यह रणनीति बिटकॉइन और सबसे अधिक तरल और पूंजीकृत अल्टकोइन पर सबसे अच्छा प्रदर्शन करती है, लेकिन अस्थिर परिसंपत्तियों पर भी बहुत अच्छी तरह से काम करती है, खासकर यदि वे अक्सर प्रवृत्ति में जाते हैं। 4 घंटे की समय सीमा पर सबसे अच्छा काम करता है.
एक वैकल्पिक अस्थिरता फ़िल्टर भी है, जो केवल तभी स्थिति खोलता है जब दो ढलानों के बीच का अंतर एक विशिष्ट मूल्य से अधिक हो। इसका उद्देश्य तब स्थिति खोलने से बचना है जब कीमत साइडवे और शोर संकेत से बहुत अधिक हो।
इसका आनंद लें!
इस रणनीति का मूल उद्देश्य दो अलग-अलग लंबाई के ईएमए की ढलानों की तुलना करना है।
सबसे पहले 130 और 400 की लंबाई वाले ईएमए की गणना की जाती है, फिर प्रत्येक की ढलान की गणना की जाती है, फिर प्रत्येक ढलान पर 3 की लंबाई के ईएमए की गणना की जाती है ताकि ढलान वक्र को चिकना किया जा सके।
जब तेज ईएमए ढीली ईएमए ढिलाई के ऊपर पार करता है, तो एक खरीद संकेत उत्पन्न होता है। जब तेज ईएमए ढिलाई के नीचे पार करता है, तो एक बिक्री संकेत उत्पन्न होता है।
शोर को फ़िल्टर करने के लिए, 200 अवधि के ईएमए का उपयोग ट्रेंड फ़िल्टर के रूप में किया जा सकता है, केवल जब कीमत ईएमए से ऊपर होती है, और केवल कम संकेतों पर विचार करते हुए लंबे संकेत।
इसके अतिरिक्त, एक अस्थिरता फ़िल्टर का उपयोग किया जा सकता है, जो केवल तभी संकेत उत्पन्न करता है जब दो ढलानों के बीच का अंतर एक सीमा से अधिक होता है, ऐसे मामलों से बचने के लिए जहां ढलान पार होते हैं लेकिन अस्थिरता अपर्याप्त होती है।
जब तेज और धीमी ढलानें विपरीत रूप से पार होती हैं, तो लाभ/हानि को रोकने के लिए पद बंद कर दिए जाते हैं।
संकेत उत्पन्न करने के लिए ढलान क्रॉस का उपयोग करके प्रभावी रूप से रुझानों को ट्रैक किया जा सकता है
ईएमए अवधि के संयोजनों को समायोजित करना विभिन्न बाजार स्थितियों के अनुकूल हो सकता है
प्रवृत्ति फ़िल्टर अस्थिर मूल्य कार्रवाई से भटकने से बचता है
अस्थिरता फ़िल्टर झूठे संकेतों को फ़िल्टर करता है
सरल और स्पष्ट तर्क, समझने और लागू करने में आसान
कई समय सीमाओं पर इस्तेमाल किया जा सकता है
बड़े बाजारों में अक्सर खुले और बंद हो सकते हैं।
अनुचित ईएमए अवधि रुझान मोड़ बिंदुओं को याद कर सकती है
बाजार की बदलती परिस्थितियों के अनुकूल मापदंडों को समायोजित किया जाना चाहिए
एमए प्रणालियों की तरह, चरम पर बड़े रुझान उलट सकते हैं
इष्टतम मापदंडों को खोजने के लिए विभिन्न ईएमए अवधि संयोजनों का प्रयास करें
परिसंपत्तियों की विशेषताओं और बाजार स्थितियों के अनुसार मापदंडों का चयन करें
जोखिम नियंत्रण के लिए स्टॉप लॉस रणनीतियों को जोड़ने पर विचार करें
ईएमए अवधि के गतिशील समायोजन पर विचार करें
विभिन्न अस्थिरता सीमा मानों का परीक्षण करें
समय-सीमाओं में परीक्षण प्रभावशीलता
रणनीति में स्पष्ट, समझने में आसान तर्क है, संकेत उत्पन्न करने और प्रवृत्तियों को प्रभावी ढंग से ट्रैक करने के लिए ईएमए ढलान क्रॉस का उपयोग करना। प्रवृत्ति और अस्थिरता फ़िल्टर शोर ट्रेडों को कम करते हैं। ईएमए अवधि संयोजनों को ट्यूनिंग इसे विभिन्न बाजार स्थितियों के अनुकूल बनाता है। कुल मिलाकर एक सरल और व्यावहारिक प्रवृत्ति निम्नलिखित रणनीति जो लाइव ट्रेडिंग में परीक्षण और अनुकूलन के लायक है।
/*backtest start: 2023-10-09 00:00:00 end: 2023-10-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy(title="Slopes",initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.06, slippage = 2, default_qty_value=30, overlay=false) //definizione input start = timestamp(input(2018, "start year"), input(1, "start month"), input(1, "start day"), 00, 00) end = timestamp(input(2020, "end year"), input(1, "end month"), input(1, "end day"), 00, 00) average = input (title="Source MA Type", type=input.string, defval="EMA",options=["EMA","SMA"]) len1=input(130,title="Fast MA Length") len2=input(400,title="Slow MA Length") smoothingavg = input (title="Smoothing MAs Type", type=input.string, defval="EMA",options=["EMA","SMA"]) smoothingavglen = input (3,title="Smoothing MAs Length") trendfilter=input(true,title="Trend Filter") trendfilterperiod=input(200,title="Trend Filter MA Period") trendfiltertype=input (title="Trend Filter MA Type", type=input.string, defval="EMA",options=["EMA","SMA"]) volatilityfilter=input(false,title="Volatility Filter") volatilitydelta=input(0.0003,step=0.0001,title="Delta Slopes EMA") //variabili m1 = if average == "EMA" ema(close,len1) else sma(close,len1) m2=if average == "EMA" ema(close,len2) else sma(close,len2) slp1=(m1-m1[1])/m1 slp2=(m2-m2[1])/m2 e1=if smoothingavg == "EMA" ema(slp1,smoothingavglen) else sma(slp1,smoothingavglen) e2=if smoothingavg == "EMA" ema(slp2,smoothingavglen) else sma(slp2,smoothingavglen) plot(e1,color=color.yellow) plot(e2,color=color.red) //plot (abs(e1-e2),color=color.white) //plot (ema(e1-e2,9),color=color.yellow) //variabili accessorie e condizioni TrendConditionL=if trendfiltertype =="EMA" close>ema(close,trendfilterperiod) else close>sma(close,trendfilterperiod) TrendConditionS=if trendfiltertype =="EMA" close<ema(close,trendfilterperiod) else close<sma(close,trendfilterperiod) VolatilityCondition = abs(e1-e2) > volatilitydelta ConditionEntryL= if trendfilter == true if volatilityfilter == true e1>e2 and TrendConditionL and VolatilityCondition else e1>e2 and TrendConditionL else if volatilityfilter == true e1>e2 and VolatilityCondition else e1>e2 ConditionEntryS= if trendfilter == true if volatilityfilter == true e1<e2 and TrendConditionS and VolatilityCondition else e1<e2 and TrendConditionS else if volatilityfilter == true e1<e2 and VolatilityCondition else e1<e2 ConditionExitL=crossunder(e1,e2) ConditionExitS=crossover(e1,e2) if true if ConditionExitS if strategy.position_size < 0 strategy.close("SLPShort") if true if ConditionExitL if strategy.position_size > 0 strategy.close("SLPLong") if true if ConditionEntryL strategy.entry ("SLPLong",long=true) if true if ConditionEntryS strategy.entry("SLPShort",long=false)