यह रणनीति एक गतिशील चलती औसत संयोजन रणनीति है जो कई समय सीमाओं पर काम करती है। यह प्रवृत्ति निर्णय और प्रवेश / निकास संकेतों के लिए विभिन्न लंबाई के घातीय चलती औसत (ईएमए) का उपयोग करती है। रणनीति नाम में
यह रणनीति 7 ईएमए का उपयोग करती है जो सबसे तेज़ से सबसे धीमी गति से चलती हैः 3-अवधि ईएमए, 15-अवधि ईएमए, 19-अवधि ईएमए, 50-अवधि ईएमए, 100-अवधि ईएमए, 150-अवधि ईएमए और 200-अवधि ईएमए। ये 7 ईएमए एक ट्रेपेज़ोइडल गठन में व्यवस्थित हैं। लंबे और छोटे संकेत उत्पन्न करने के लिए, बंद मूल्य को एक मजबूत ट्रेंड-रिवर्सल प्रविष्टि सुनिश्चित करने के लिए इन ईएमए को क्रमिक रूप से तोड़ने की आवश्यकता होती है।
इसके अतिरिक्त, रणनीति में लंबी संकेतों की पुष्टि करने के लिए हालिया उच्च और निकट मूल्य पार करने वाले ऐतिहासिक उच्च को भी शामिल किया गया है, और लघु संकेतों की पुष्टि करने के लिए हालिया निम्न और निकट मूल्य पार करने वाले ऐतिहासिक निम्न को तोड़ने का उपयोग किया गया है। इससे झूठे ब्रेकआउट से बचने में मदद मिलती है।
बाहर निकलने के नियमों के अनुसार, बंद होने की कीमत तेजी से बढ़ते ईएमए को धीरे-धीरे धीमे ईएमए की ओर तोड़ती है, जो एक रुझान उलटने का संकेत देती है। वैकल्पिक रूप से, यदि नवीनतम पट्टी के निचले/उच्च स्तर 4 से अधिक ईएमए को तोड़ते हैं, तो यह उस स्थिति के लिए भी एक बाहर निकलने का संकेत है।
समाधान:
रणनीति में रुझानों को निर्धारित करने के लिए विभिन्न गति के 7 ईएमए और उलटफेर का पता लगाने के लिए दोहरे निकास नियमों का उपयोग करने का एक स्पष्ट तर्क है। लेकिन कोई स्टॉप लॉस तंत्र नहीं है जो भारी नुकसान के जोखिम का कारण बनता है, और यह समय से पहले बाहर निकल सकता है। इसे एक ठोस ट्रेडिंग सिस्टम में बदलने के लिए स्टॉप लॉस, पैरामीटर ट्यूनिंग, संकेतक फ़िल्टरिंग जैसे पहलुओं में सुधार किया जा सकता है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Crypto MAX Trend", shorttitle="Crypto MAX", overlay = true ) Length = input(3, minval=1) Length2 = input(15, minval=1) Length3 = input(19, minval=1) //Length33 = input(25, minval=1) Length4 = input(50, minval=1) Length44 = input(100, minval=1) Length5 = input(150, minval=1) Length6 = input(171, minval=1) Length66 = input(172, minval=1) xPrice = input(close) xEMA1 = ema(xPrice, Length) xEMA2 = ema(xPrice, Length2) xEMA3 = ema(xPrice, Length3) //xEMA33 = ema(xPrice, Length33) xEMA4 = ema(xPrice, Length4) xEMA44 = ema(xPrice, Length44) xEMA5 = ema(xPrice, Length5) xEMA6 = ema(xPrice, Length6) xEMA66 = ema(xPrice, Length66) // plot(xEMA1, color=color.white) // plot(xEMA2, color=color.red) // plot(xEMA3, color=color.green) // plot(xEMA4, color=color.purple) // plot(xEMA44, color=color.gray) // plot(xEMA5, color=color.maroon) // plot(xEMA6, color=color.blue) // plot(xEMA66, color=color.orange) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true long = close > xEMA1 and xEMA1 > xEMA2 and xEMA2 > xEMA3 and xEMA3 > xEMA4 and xEMA4 > xEMA44 and xEMA44 > xEMA5 and xEMA5> xEMA6 and xEMA6> xEMA66 and close > high[1] and high[1] > high[2] and close > high[3] and close > high[4] and close > high[5] and high[5] > high[6] and time_cond short = close < xEMA1 and xEMA1 < xEMA2 and xEMA2 < xEMA3 and xEMA3 < xEMA4 and xEMA4 < xEMA44 and xEMA44 < xEMA5 and xEMA5< xEMA6 and xEMA6< xEMA66 and close < low[1] and low[1] < low[2] and close < low[3] and close < low[4] and close< low[5] and low[5] < low[6] and time_cond notlong = close < xEMA1 strategy.entry("long",1,when=long) strategy.entry("short",0,when=short) exitlong1 = xEMA1 < xEMA2 and xEMA2 < xEMA3 and xEMA3 < xEMA4 exitlong2 = crossunder(low,xEMA1) and crossunder(low,xEMA2) and crossunder(low,xEMA3) and crossunder(low,xEMA4) exitshort1 = xEMA1 > xEMA2 and xEMA2 > xEMA3 and xEMA3 > xEMA4 exitshort2 = crossover(high,xEMA1) and crossover(high,xEMA2) and crossover(high,xEMA3) and crossover(high,xEMA4) strategy.close("long", when = exitlong1 or exitlong2) strategy.close("short", when= exitshort1 or exitshort2)