यह रणनीति चलती औसत के स्वर्ण क्रॉस और मृत क्रॉस के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है। इसमें विभिन्न पैरामीटर सेटिंग्स के साथ तीन चलती औसत शामिल हैं - अल्पकालिक, मध्यमकालिक और दीर्घकालिक। इन तीन एमए के बीच ऊंचाई संबंध की तुलना करके, यह बाजार की तेजी / मंदी की स्थिति निर्धारित करता है और ट्रेडिंग सिग्नल उत्पन्न करता है।
रणनीति में तीन चलती औसत रेखाएं निर्धारित की जाती हैं, जो कि एक अल्पकालिक सरल चलती औसत, एक मध्यमकालिक भारित चलती औसत और एक दीर्घकालिक घातीय चलती औसत हैं। विशेष रूप से, यह एक अवधि का एसएमए, 20 अवधि का डब्ल्यूएमए और 25 अवधि का ईएमए निर्धारित करता है।
जब अल्पकालिक एसएमए रेखा मध्यमकालिक डब्ल्यूएमए रेखा को ऊपर की ओर पार करती है और समापन मूल्य भी डब्ल्यूएमए रेखा से अधिक होता है, तो यह इंगित करता है कि बाजार ऊपर की ओर उलट रहा है और एक तेजी का संकेत बनाता है। जब अल्पकालिक एसएमए मध्यमकालिक डब्ल्यूएमए से नीचे पार करता है या समापन मूल्य डब्ल्यूएमए से कम होता है, तो यह एक मंदी का संकेत देता है। इसलिए, यह रणनीति तीन एमए के बीच ऊंचाई और क्रॉसओवर की तुलना करके बाजार की तेजी / मंदी की स्थिति का न्याय करती है।
रणनीति में लघु, मध्यम और दीर्घकालिक के तीन एमए शामिल हैं, जो विभिन्न चक्रों में बाजार परिवर्तनों पर प्रतिक्रिया कर सकते हैं और रुझानों को पकड़ने की सटीकता में सुधार कर सकते हैं। विशेष रूप से, मध्यम अवधि के डब्ल्यूएमए में बाजार शोर को फ़िल्टर करने का बेहतर प्रभाव होता है और गलत संकेतों से प्रभावी ढंग से बचा जाता है। इसके अलावा, रणनीति केवल लंबे संकेत भेजती है जब एसएमए के तेजी से संकेत और समापन मूल्य उच्च स्थिरता तक पहुंचते हैं, जो व्हिप्सॉव को रोकता है और प्रत्येक प्रविष्टि कुशलता सुनिश्चित करता है।
रणनीति में झूठे संकेतों का जोखिम होता है। जब अल्पकालिक एसएमए गलत संकेत उत्पन्न करता है, तो एसएमए लाइन पर रणनीति की सख्त निर्भरता के कारण अनावश्यक नुकसान हो सकता है। इसके अलावा, रणनीति मापदंडों के प्रति संवेदनशील है। जब मापदंडों को सीमा-बाधित बाजारों के तहत गलत तरीके से सेट किया जाता है, तो कई गलत ट्रेडों को ट्रिगर किया जा सकता है।
इस तरह के जोखिमों से बचने के लिए, एमए लंबाई को समायोजित करने, उचित रूप से ट्रेडिंग शर्तों को ढीला करने और एकल नुकसान को सीमित करने के लिए स्टॉप लॉस सेट करने का सुझाव दिया जाता है। जब बाजार की प्रवृत्ति स्पष्ट नहीं होती है, तो रणनीति को अस्थायी रूप से रोक दिया जा सकता है।
रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
सटीकता में सुधार के लिए सूचक पोर्टफोलियो बनाने के लिए केसी जैसे अधिक प्रकार के एमए को शामिल करना
उच्च मात्रा के साथ ब्रेकआउट जैसे वॉल्यूम कारकों को जोड़ें
अस्थिर बाजारों में विफलता से बचने के लिए अस्थिरता संकेतकों को मिलाएं
मापदंडों को प्रशिक्षित और अनुकूलित करने के लिए मशीन लर्निंग का उपयोग करें
रणनीति तीन एमए और समापन कीमतों के बीच क्रॉसओवर और ऊंचाई संबंध के आधार पर बाजार तेजी / मंदी की स्थिति निर्धारित करती है। विभिन्न शर्तों के एमए को मिलाकर, यह प्रभावी रूप से रुझानों का पता लगा सकता है और संकेत उच्च गुणवत्ता के होते हैं। उचित पैरामीटर ट्यूनिंग और अधिक सहायक संकेतकों की शुरूआत के साथ, रणनीति प्रासंगिकता और स्थिरता में और बढ़ाई जा सकती है।
/*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=5 strategy("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len1 = input.int(1, title="SMA #1 Length", minval=1) src1 = input(close, title="SMA Source #1") out1 = ta.sma(src1, len1) plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1) len2 = input.int(20, title="HMA #2 Length", minval=1) src2 = input(close, title="HMA Source #2") out2 = ta.hma(src2, len2) plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1) len3 = input.int(25, title="EMA #3 Length", minval=1) src3 = input(close, title="EMA Source #3") out3 = ta.ema(src3, len3) plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1) // Define the long condition longCondition = (out1 > out2 and close > out2) // Define the short condition shortCondition = (out1 < out2 or close < out2) // Entry conditions if (longCondition) strategy.entry("Long",strategy.long) else if (shortCondition) strategy.entry("Short", strategy.short) // Trade channel plot PeriodLookBack = input(55, title="Period Look Back") xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack)) xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack)) plot(xHighest55[1], color=color.red, title="HH") plot(xLowest55[1], color=color.green, title="LL") //@version=5 //indicator("Custom Moving Averages", shorttitle="CMA", overlay=true) shortLength = input(defval=40, title="Short Length") longLength = input(defval=80, title="Long Length") // Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D" shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength)) shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength)) longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength)) longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength)) shortAverageLine = (shortTopBorder + shortBottomBorder) / 2 longAverageLine = (longTopBorder + longBottomBorder) / 2 plot(shortAverageLine, color=color.new(#fc0000, 0)) plot(longAverageLine, color=color.new(#01ff27, 0))