यह पाइन स्क्रिप्ट रणनीति ट्रेडिंग व्यू प्लेटफॉर्म पर दैनिक डॉलर-लागत औसतकरण दृष्टिकोण को लागू करती है, जिसमें प्रवेश बिंदुओं को निर्धारित करने के लिए ईएमए स्पर्श संकेत शामिल हैं। यह हर दिन निश्चित राशि के निवेश करने के लिए डॉलर-लागत औसतकरण पद्धति का पालन करता है, जोखिम को कम करने के लिए समय के साथ खरीद को फैलाता है। ईएमए क्रॉसओवर तब प्रविष्टियों के लिए विशिष्ट ट्रिगर के रूप में कार्य करता है।
इस रणनीति में निम्नलिखित मुख्य विशेषताएं हैंः
दैनिक डॉलर-लागत औसत
प्रवेश संकेतों के लिए ईएमए
गतिशील स्टॉप लॉस
व्यापार संख्या सीमा
विशेष रूप से, हर दिन रणनीति एक निश्चित राशि का निवेश करती है और समापन मूल्य के आधार पर खरीदने के लिए शेयरों की गणना करती है। यदि समापन मूल्य 5-, 10-, 20-दिवसीय ईएमए आदि में से किसी के ऊपर पार हो जाता है, तो एक खरीद संकेत ट्रिगर किया जाता है। एक बार संचित व्यापार गणना 300 की सीमा तक पहुंच जाने के बाद, कोई और खरीद नहीं होगी। इसके अलावा, यदि मूल्य 20-दिवसीय एसएमए से नीचे बंद हो जाता है या पूर्व निर्धारित निकास तिथि तक पहुंच जाता है, तो सभी पदों को साफ कर दिया जाता है। स्क्रिप्ट दृश्य विश्लेषण के लिए मूल्य चार्ट पर ईएमए को भी प्लॉट करती है।
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
जोखिम विविधता
ईएमए संयोजन ने पीछे हटने से बचा
गतिशील स्टॉप हानि नियंत्रण हानि
व्यापार सीमा नियंत्रण जोखिम
सहज ईएमए विज़ुअलाइज़ेशन
अत्यधिक अनुकूलन योग्य
इस रणनीति में कुछ जोखिम भी हैं।
प्रणालीगत जोखिम अभी भी मौजूद हैं
निश्चित निवेश राशि
ईएमए चरम कदमों पर प्रतिक्रिया नहीं दे सकते
व्यापार सीमाएं लाभ क्षमता
स्टॉप लॉस प्लेसमेंट के लिए सावधानी की आवश्यकता होती है
आगे के अनुकूलनः
गतिशील दैनिक निवेश राशि
अतिरिक्त प्रवेश संकेत
घातीय चलती औसत
गतिशील स्थिति सीमा
पीछा करने वाला स्टॉप हानि
संक्षेप में, यह ईएमए-संयुक्त दैनिक डीसीए रणनीति दीर्घकालिक आवधिक निवेश की अवधारणा को महसूस करती है, बड़ी एक बार की खरीद की तुलना में कई छोटी प्रविष्टियों में जोखिमों को फैलाती है। ईएमए कुछ हद तक अल्पकालिक पुलबैक जोखिमों से बचने में मदद करते हैं, जबकि स्टॉप लॉस अधिकतम नुकसान को नियंत्रित करता है। फिर भी, ब्लैक स्वान जोखिमों और निश्चित निवेश आकार की सीमाओं को ध्यान में रखने की आवश्यकता है। ये पहलू कुशल लेकिन स्थिर मात्रा रणनीतियों के निर्माण के लिए पैरामीटर ट्यूनिंग और संकेतक संयोजन के माध्यम से भविष्य में सुधार की दिशा प्रदान करते हैं।
/*backtest start: 2024-01-08 00:00:00 end: 2024-01-15 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000) // Customizable Parameters daily_investment = input(50000, title="Daily Investment") start_year = input(2022, title="Start Year") start_month = input(1, title="Start Month") start_day = input(1, title="Start Day") end_year = input(2023, title="End Year") end_month = input(12, title="End Month") end_day = input(1, title="End Day") trade_count_limit = input(10000, title="Pyramiding Limit") enable_sell = input(true, title="Enable Sell") start_date = timestamp(start_year, start_month, start_day) var int trade_count = 0 // Calculate the number of shares to buy based on the current closing price shares_to_buy = daily_investment / close // Check if a new day has started and after the start date isNewDay = dayofmonth != dayofmonth[1] and time >= start_date // Buy conditions based on EMA crossovers ema5_cross_above = crossover(close, ema(close, 5)) ema10_cross_above = crossover(close, ema(close, 10)) ema20_cross_above = crossover(close, ema(close, 20)) ema50_cross_above = crossover(close, ema(close, 50)) ema100_cross_above = crossover(close, ema(close, 100)) ema200_cross_above = crossover(close, ema(close, 200)) if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit strategy.entry("Buy", strategy.long, qty=shares_to_buy) trade_count := trade_count + 1 // Dynamic sell conditions (optional) sell_condition = true if enable_sell and sell_condition strategy.close_all() // EMA Ribbon for visualization plot(ema(close, 5), color=color.red, title="EMA 5") plot(ema(close, 10), color=color.orange, title="EMA 10") plot(ema(close, 20), color=color.yellow, title="EMA 20") plot(ema(close, 50), color=color.green, title="EMA 50") plot(ema(close, 100), color=color.blue, title="EMA 100") plot(ema(close, 200), color=color.purple, title="EMA 200")