डीसीए रणनीति के साथ लाभ लेने के पीछे

लेखक:चाओझांग, दिनांकः 2024-02-23 14:01:20
टैगः

img

अवलोकन

यह रणनीति एक्सचेंज प्लेटफार्मों पर उपलब्ध ट्रेलिंग टेक प्रॉफिट फीचर के साथ डॉलर कॉस्ट एवरेजिंग (डीसीए) को जोड़ती है। यह खरीदारी के लिए 1% मूल्य विचलन निर्धारित करती है और प्रत्येक बिक्री पर 0.5% लाभ का लक्ष्य रखती है। छोटे मुनाफे को लक्षित करने का तर्क ट्रेडिंग बॉट के लिए सुचारू संचालन सुनिश्चित करना है, धीमी बाजार अवधि के दौरान फंसने से बचने के लिए। बैकटेस्टिंग के आधार पर, यह बॉट बाजार में उतार-चढ़ाव और हेरफेर का सामना करने के लिए पर्याप्त रूप से अनुकूलनशील साबित हुआ है। जबकि वार्षिक प्रतिशत दर (एपीआर) असाधारण रूप से अधिक नहीं हो सकती है, यह दीर्घकालिक निवेश के लिए एक संतोषजनक और सुरक्षित विकल्प प्रदान करती है, अक्सर पारंपरिक खरीद और पकड़ (एचओडीएल) रणनीति से बेहतर प्रदर्शन करती है।

सिद्धांत

रणनीति पहले ट्रेलिंग स्टॉप प्रतिशत, अधिकतम डीसीए ऑर्डर, मूल्य विचलन प्रतिशत, आदि जैसे विन्यास योग्य मापदंडों को सेट करती है। फिर यह अंतिम खरीद मूल्य, खरीद की संख्या, प्रारंभिक खरीद मूल्य, ट्रेलिंग स्टॉप मूल्य, आदि जैसे चरों को ट्रैक करती है। खरीद तर्क पर, यदि वर्तमान मूल्य अंतिम खरीद मूल्य * (1 - मूल्य विचलन प्रतिशत) से नीचे है और खरीद की संख्या अधिकतम डीसीए आदेशों तक नहीं पहुंची है, तो यह एक खरीद संकेत जारी करेगा और खरीद मूल्य रिकॉर्ड करेगा। बिक्री तर्क पर, यदि वर्तमान मूल्य अंतिम खरीद मूल्य * (1 + लाभ लेने का प्रतिशत) से ऊपर है, तो यह एक ट्रेलिंग स्टॉप मूल्य निर्धारित करेगा। यदि कीमत उस ट्रेलिंग स्टॉप मूल्य से ऊपर बढ़ती रहती है, तो ट्रेलिंग स्टॉप मूल्य को वर्तमान * (1 - ट्रेलिंग प्रतिशत) में अपडेट किया जाता है। यदि कीमत ट्रेलिंग स्टॉप मूल्य से नीचे गिरती है, तो एक संकेत जारी किया जाता है, जबकि प्रासंगिक, डीसीए खरीद के अगले दौर के लिए तैयार हो रहा है।

लाभ

  1. डीसीए और ट्रेलिंग स्टॉप लॉस को मिलाकर लागत औसतकरण सुनिश्चित करता है जबकि ड्रॉडाउन से बचने के लिए आंशिक लाभ को लॉक करता है।

  2. जोखिम को कम करने के लिए लचीला ट्रेलिंग स्टॉप तंत्र, समायोज्य लाभ लेने और ट्रेलिंग प्रतिशत।

  3. बैकटेस्ट किए गए परिणाम खरीद और होल्डिंग से बेहतर हैं, जिसमें दीर्घकालिक निवेश के लिए उपयुक्त स्थिर वार्षिक रिटर्न है।

  4. प्रमुख विनिमय प्लेटफार्मों पर आसान आवेदन के लिए समायोज्य मापदंडों के साथ लागू करने के लिए सरल।

जोखिम

  1. डीसीए खरीद की सीमित संख्या का मतलब है कि यदि बाजार में लंबी अवधि तक गिरावट का रुझान रहता है तो नुकसान बढ़ सकता है।

  2. खराब ट्रैलिंग स्टॉप लॉस सेटिंग्स से समय से पहले लाभ लेने या भागने वाले नुकसान हो सकते हैं।

  3. ट्रेडिंग लागत लाभ में खा सकती है। उच्च अनुवर्ती स्टॉप लॉस सेटिंग्स ट्रेडों की संख्या में वृद्धि करती हैं।

  4. लगातार डीसीए खरीद के लिए पर्याप्त पूंजी की आवश्यकता होती है। अपर्याप्त प्रारंभिक पूंजी खरीद की संख्या को सीमित करती है।

सुधार

  1. अनुकूलनशील ट्रैलिंग स्टॉप लागू करें, कुछ लाभ मील के पत्थर तक पहुंचने पर ट्रैलिंग प्रतिशत को कम करें।

  2. चलती औसत को शामिल करें, प्रमुख समर्थन क्षेत्रों के आसपास खरीद राशि बढ़ाएं।

  3. कुल परिसंपत्तियों के आधार पर डीसीए राशि को समायोजित करने के लिए पुनर्वित्त तंत्र जोड़ें।

  4. पैरामीटर सेटिंग्स को अनुकूलित करें और विभिन्न होल्डिंग अवधियों में लाभप्रदता का परीक्षण करें।

निष्कर्ष

यह रणनीति लंबी अवधि में स्थिर एल्गोरिथम ट्रेडिंग रिटर्न के लिए डीसीए और ट्रैलिंग स्टॉप को जोड़ती है। बैकटेस्ट किए गए परिणाम मजबूत हैं और स्थिर विकास पर केंद्रित निवेशकों के लिए उपयुक्त हैं। सरल और स्वच्छ कोड इसे समझना और लागू करना आसान बनाता है। पैरामीटर अनुकूलन और अतिरिक्त संकेतकों को शामिल करने के माध्यम से आगे के प्रदर्शन लाभ प्राप्त किए जा सकते हैं। कुल मिलाकर यह निवेशकों को अपेक्षाकृत सुरक्षित और सुसंगत मात्रात्मक ट्रेडिंग समाधान प्रदान करता है।


/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Stavolt

//@version=5
strategy("DCA Strategy with Trailing Take Profit", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Correctly using input to define user-configurable parameters
takeProfitPercent = input.float(0.6, title="Take Profit (%)", minval=0.1, maxval=5)
trailingPercent = input.float(0.1, title="Trailing Stop (%)", minval=0.05, maxval=1)
maxDCAOrders = input.int(10, title="Max DCA Orders", minval=1, maxval=20)
priceDeviationPercent = input.float(1.0, title="Price Deviation (%)", minval=0.5, maxval=5)

var float lastBuyPrice = na
var int buyCount = 0
var float initialBuyPrice = na
var float trailingStopPrice = na

// Strategy logic here...
// Note: The detailed logic for buying and selling based on the DCA strategy
// needs to be tailored to your specific requirements and tested for correctness.

if (buyCount < maxDCAOrders)
    if (na(lastBuyPrice) or close < lastBuyPrice * (1 - priceDeviationPercent / 100))
        strategy.entry("Buy", strategy.long)
        lastBuyPrice := close
        buyCount += 1
        if (na(initialBuyPrice))
            initialBuyPrice := close

if (not na(lastBuyPrice) and close > lastBuyPrice * (1 + takeProfitPercent / 100))
    if (na(trailingStopPrice) or close > trailingStopPrice)
        trailingStopPrice := close * (1 - trailingPercent / 100)
    if (close < trailingStopPrice)
        strategy.close("Buy")
        lastBuyPrice := na
        trailingStopPrice := na
        buyCount := 0
        initialBuyPrice := na


अधिक