यह रणनीति बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए चलती औसत मॉडल का उपयोग करती है। जब एक तेजी की प्रवृत्ति की पहचान की जाती है, तो यह समय-समय पर बाजार में गोल्डन क्रॉस के उदय की प्रवृत्ति को ट्रैक करने के लिए निश्चित राशि के साथ लंबी स्थिति खोलती है।
यह रणनीति मुख्यतः निम्नलिखित तकनीकी सिद्धांतों पर आधारित है:
बाजार के रुझान की दिशा निर्धारित करने के लिए ईएमए रेखाओं का उपयोग करें। जब तेज ईएमए रेखा धीमी ईएमए रेखा को पार करती है, तो इसे तेजी की प्रवृत्ति के रूप में आंका जाता है और लंबी स्थिति में प्रवेश करने की तैयारी की जाती है।
प्रवेश समय निर्धारित करने के लिए एमएसीडी संकेतक को जोड़ें। जब एमएसीडी सकारात्मक से नकारात्मक हो जाता है, तो यह इंगित करता है कि क्रय शक्ति कमजोर होने लगती है, इसलिए यह लंबी स्थिति में प्रवेश करने का समय है।
प्रति माह केवल एक बार प्रवेश करने की सीमा उच्चतम का पीछा करने से बचने के लिए। प्रत्येक बार प्रवेश राशि तय की जा सकती है।
बैकटेस्ट अवधि को सीमित करने के लिए प्रारंभ तिथि और समाप्ति तिथि सेट करने की अनुमति दें. जब बैकटेस्ट समाप्त होता है, रणनीति सभी पदों को बंद कर देगी.
विशेष रूप से, रणनीति पहले तेजी से ईएमए लाइन और धीमी ईएमए लाइन की गणना करती है, और बाजार की प्रवृत्ति निर्धारित करने के लिए उनके बीच स्वर्ण क्रॉस का पता लगाती है। साथ ही, यह विशिष्ट प्रवेश बिंदु निर्धारित करने के लिए एमएसीडी संकेतक की गणना करती है। जब दोनों मानदंडों को पूरा किया जाता है, तो एक लंबा संकेत उत्पन्न होता है। प्रति माह केवल एक बार प्रवेश करने के नियम के अनुसार, वास्तविक प्रवेश आदेश निर्धारित किए जाते हैं। प्रत्येक प्रविष्टि के लिए पूंजी राशि पूर्व निर्धारित की जा सकती है। जब बैकटेस्ट समाप्त होता है, तो रणनीति सक्रिय रूप से सभी पदों को बंद कर देगी।
यह निम्नलिखित लाभों के साथ एक सरल और प्रत्यक्ष प्रवृत्ति रणनीति का अनुसरण करता हैः
मुख्य रुझान निर्धारित करने के लिए ईएमए रेखाओं का उपयोग करना सरल और व्यावहारिक है। ईएमए मूल्य परिवर्तनों पर एक चिकनी प्रभाव डालता है और प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकता है।
एमएसीडी संकेतक उस मोड़ की पहचान कर सकता है जब क्रय शक्ति अपेक्षाकृत सटीक रूप से कमजोर होने लगती है, जिससे प्रविष्टियां अधिक सुरक्षित हो जाती हैं।
प्रति माह केवल एक बार ऊपर की ओर रुझान का पीछा करने तक सीमित रहने से ऊंचाइयों का पीछा करने से बचा जा सकता है और बुल मार्केट में ऊपर की ओर रुझान को मार सकता है।
हर महीने प्रविष्टि राशि को अनुकूलित करने की अनुमति देने से स्थिति आकार में लचीलापन मिलता है।
बैकटेस्ट का उपयोग रणनीति के प्रदर्शन का मूल्यांकन करने के लिए प्रारंभ तिथि और समाप्ति तिथि निर्धारित करके किया जा सकता है।
यह बैकटेस्ट समाप्त होने पर सभी पदों को स्वचालित रूप से बंद कर देगा, जिससे अव्यवस्थित शेष पदों से बचा जा सकेगा।
इस रणनीति के कुछ संभावित जोखिम हैंः
चलती औसत के माध्यम से रुझान निर्धारण अस्थायी वापसी के दौरान अवसरों को याद कर सकता है या रुझान उलटने पर धीमी गति से प्रतिक्रिया कर सकता है। अवधि को छोटा किया जा सकता है या अधिक संकेतक जोड़े जा सकते हैं।
महीने में केवल एक बार प्रवेश करने से बेहतर प्रवेश के अवसर खो सकते हैं। हाल के उच्च स्तर को तोड़ने पर आवृत्ति को ढीला करने या एक और प्रविष्टि जोड़ने पर विचार करें।
वक्र फिटिंग के जोखिम हैं। अधिक पैरामीटर ट्यूनिंग स्पेस की अनुमति दी जानी चाहिए और बाजारों और समय अवधि में मजबूती का परीक्षण किया जाना चाहिए।
गति का पीछा करने और ओवरबॉय करने के जोखिम हैं। ओवरसाइज्ड पदों से बचने के लिए मासिक प्रवेश राशि को नियंत्रित किया जाना चाहिए।
इस आवधिक निवेश प्रवृत्ति को निम्नलिखित पहलुओं से आगे बढ़ाया और बढ़ाया जा सकता हैः
स्टॉप लॉस लॉजिक जोड़ें, जब मंदी का प्रतिवर्तन पैटर्न सामने आता है तो सक्रिय रूप से घाटे में कटौती करें।
जब एमएसीडी हिस्टोग्राम तेजी से विचलन दिखाता है तो अपट्रेंड के लिए अधिक जोखिम प्राप्त करने के लिए एक और खरीद जोड़ने पर विचार करें।
गति की ताकत का आकलन करने के लिए वर्तमान महीने के नए उच्च और पिछले महीने की तुलना करें।
पद आकार तर्क जोड़ें. मासिक प्रविष्टि राशि को निश्चित मूल्य के बजाय प्रतिशत के आधार पर अनुकूलन योग्य बनाया जा सकता है.
विभिन्न एमए संयोजनों और एमएसीडी मापदंडों के प्रभाव का मूल्यांकन करें। इष्टतम मापदंड सेट का पता लगाएं।
एक ट्रेलिंग स्टॉप लॉस जोड़ें जो नई ऊंचाइयों तक पहुँचने के बाद कीमत का एक निश्चित दूरी पर अनुसरण करता है, जिससे लाभ चल सकता है।
यह रणनीति आवधिक निवेश और चलती औसत का उपयोग करके एक सरल और साफ प्रवृत्ति के बाद दृष्टिकोण का प्रतिनिधित्व करती है। यह समझने और लागू करने में आसान है, जो एल्गोरिदमिक ट्रेडिंग सीखने के लिए एक अच्छे शुरुआती बिंदु के रूप में कार्य करता है। लेकिन लाइव ट्रेडिंग में, स्थिति आकार को सावधानीपूर्वक नियंत्रित करने की आवश्यकता है। जटिल बाजार की परिस्थितियों के अनुकूल रणनीति को और बढ़ाया जाना चाहिए।
/*backtest start: 2023-01-01 00:00:00 end: 2023-10-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © runescapeyttanic //@version=4 // strategy("Buy and Hold entry finder Strategy",pyramiding=10000, overlay=true,initial_capital=0,default_qty_type=strategy.cash,default_qty_value=1000,currency = currency.EUR,commission_type=strategy.commission.cash_per_order,commission_value=0) //INPUTS################################################################################################################## maxEmaDistance = input(title="Maximum EMA Distance", type=input.float, step=0.01, defval=50000) emalength = input(title="EMA Length", type=input.integer,defval=200) // Make input options that configure backtest date range startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2020, minval=1800, maxval=2100) endDate = input(title="End Date", type=input.integer, defval=12, minval=1, maxval=31) endMonth = input(title="End Month", type=input.integer, defval=02, minval=1, maxval=12) endYear = input(title="End Year", type=input.integer, defval=2021, minval=1800, maxval=2100) endDate1=endDate-1 //starttag //startmonat //MACD######################################################################################################################## fast_length=12 slow_length=26 src=close col_macd=#0094ff fast_ma = ema(src, fast_length) slow_ma = ema(src, slow_length) macd = fast_ma - slow_ma //EMA Distance CALC######################################################################################################## ma1 =ema(close,emalength) distFromMean = close - ma1 inDateRange = true longCondition = (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0 and inDateRange) longnow=false if(longCondition and strategy.position_size == 0) strategy.entry("My Long Entry Id", strategy.long) longnow:=true if(longCondition and strategy.position_size > 0) longnow:=true if(longCondition and strategy.position_size > 0 and month>valuewhen(longnow, month ,1) or longCondition and strategy.position_size > 0 and year>valuewhen(longnow, year ,1) and inDateRange) strategy.entry("My Long Entry Id", strategy.long) plotchar(minute, "Minuten", "", location = location.top) plotchar(hour, "Stunden", "", location = location.top) plotchar(dayofmonth, "Tage", "", location = location.top) plotchar(month, "Monat", "", location = location.top) plotchar(year, "Jahr", "", location = location.top) plotchar(strategy.position_size, "Positionen", "", location = location.top) plotchar(longCondition, "Long Condition", "", location = location.top) if true strategy.close_all() //######################################################################################################################### plotArrow = if (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0) 1 else 0 plotarrow(series=plotArrow)