बहु प्रतिशत लाभ से बाहर निकलने की रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-01 15:22:29
टैगः

img

अवलोकन

यह रणनीति कई प्रतिशत लाभ निकास स्थापित करने की कार्यक्षमता को लागू करती है। रणनीति पहले पदों में प्रवेश करने के लिए लंबी और छोटी शर्तों का न्याय करती है। फिर यह प्रतिशत को मूल्य टिक में परिवर्तित करने के लिए एक कस्टम प्रतिशतAsPoints फ़ंक्शन का उपयोग करती है। कार्यक्रम कॉन्फ़िगरेशन के आधार पर 1%, 2%, 3% और 4% के लाभ प्रतिशत के साथ 4 निकास सेट करता है, और एक आम 2% स्टॉप लॉस निकास भी सेट करता है। इससे कई प्रतिशत लाभ निकास का प्रभाव प्राप्त होता है।

रणनीति तर्क

इस रणनीति का मूल तर्क प्रविष्टियों को निर्धारित करने के लिए एसएमए क्रॉसओवर का उपयोग करना है। विशेष रूप से, जब तेज एसएमए (14) धीमी एसएमए (28 के ऊपर पार करता है, तो यह लंबा होगा। जब तेज एसएमए (14) धीमी एसएमए (28 के नीचे पार करता है, तो यह छोटा होगा।

तो कैसे कई प्रतिशत लाभ बाहर सेट करने के लिए? यहाँ एक कस्टम प्रतिशतAsPoints समारोह प्रतिशत मूल्य टिक में परिवर्तित करने के लिए प्रयोग किया जाता है. तर्क हैः

percentAsPoints(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) 

यदि स्थिति का आकार 0 नहीं है, तो यह औसत प्रवेश मूल्य से गुणा और न्यूनतम टिक आकार से विभाजित प्रतिशत द्वारा मूल्य टिक की गणना करता है। यदि स्थिति का आकार 0 है, तो यह na लौटाता है।

इस फ़ंक्शन के साथ, हम आसानी से प्रतिशत को टिक में परिवर्तित कर सकते हैं। फिर कार्यक्रम 1%, 2%, 3% और 4% के लाभ प्रतिशत के आधार पर 4 निकास सेट करता हैः

lossPnt = percentAsPoints(2)

strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)   

strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)

strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)  

strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)

इसके अलावा, सभी बाहर निकलने के लिए एक आम 2% स्टॉप लॉस का उपयोग किया जाता है। इससे कई प्रतिशत लाभ बाहर निकलने का प्रभाव प्राप्त होता है।

लाभ विश्लेषण

इस बहु प्रतिशत लाभ निकास रणनीति के निम्नलिखित लाभ हैंः

  1. यह लाभ को कदम से कदम मिलाकर लेने की अनुमति देता है, जिससे बड़े लाभों को खोने से बचा जा सकता है। आम तौर पर बाद के निकास में अधिक लाभ लक्ष्य और उच्च जोखिम होते हैं, और यह रणनीति जोखिमों और रिटर्न को संतुलित करती है।

  2. बैचों में बाहर निकलने से पूंजी पुनर्प्राप्ति की अनुमति मिलती है, जोखिम कम होता है। उदाहरण के लिए 25% बैच आकार के साथ, 1% लाभ पूंजी का 1/4 वापस कर सकता है, और बाद की स्थिति शुद्ध लाभ द्वारा सभी हैं।

  3. 2% स्टॉप लॉस असामान्य बाजार आंदोलनों में चरम नुकसान को रोकता है।

  4. कार्यान्वयन सरल और साफ है, समझने और संशोधित करने में आसान है। कस्टम प्रतिशत रूपांतरण फ़ंक्शन कोड की कुछ पंक्तियों में कई निकास सेट करने में सक्षम बनाता है।

जोखिम विश्लेषण

इस रणनीति के साथ कुछ जोखिम भी हैंः

  1. प्रतिशत से बाहर निकलने से साइडवेज चपटीपन हो सकता है, जिसमें कीमतें बाहर निकलने की कीमतों के आसपास घूमती हैं, जिससे अक्सर बाहर निकलना शुरू हो जाता है। इससे व्यापार की आवृत्ति और कमीशन की लागत बढ़ जाती है।

  2. बैच एग्जिट से ट्रेडों और कमीशनों की संख्या बढ़ जाती है। उच्च कमीशन से कुछ एग्जिट मुनाफा मिट सकता है।

  3. गलत पोजिशनिंग से रिटर्न पर भी असर पड़ सकता है। अत्यधिक रूढ़िवादी पोजिशनिंग से कम मुनाफा हो सकता है, जबकि अत्यधिक आक्रामक पोजिशनिंग से अधिक जोखिम होता है।

  4. फिक्स्ड प्रतिशत से बाहर निकलने पर बाजार की अस्थिरता और रुझानों को ध्यान में नहीं रखा जाता है। अस्थिर बाजारों में छोटे से बाहर निकलने का उपयोग किया जाना चाहिए, जबकि ट्रेंडिंग बाजारों में बड़े बाहर निकलने को लक्षित किया जाना चाहिए।

अनुकूलन दिशाएँ

उपरोक्त जोखिमों को ध्यान में रखते हुए, निम्नलिखित पहलुओं में और अधिक अनुकूलन किया जा सकता हैः

  1. बाजार की अस्थिरता और ताकत के आधार पर अनुकूलन करने के लिए एटीआर से बाहर निकलने जैसे तरीकों का उपयोग करके बाहर निकलने का अनुकूलन करें। चंचल बाजारों में तंग बाहर निकलना और मजबूत रुझानों में व्यापक बाहर निकलना।

  2. इष्टतम जोखिम-वापसी संयोजन खोजने के लिए बैच प्रतिशत और सीमाओं का अनुकूलन करें। सर्वोत्तम मापदंडों को खोजने के लिए पैरामीटर अनुकूलन जोड़ें।

  3. अधिक व्यापार से बचने के लिए बाहर निकलने की संख्या को कम करें। उदाहरण के लिए, एक मूल्य बफर क्षेत्र सेट करें, केवल कुछ मूल्य आंदोलन से अधिक होने के बाद बाहर निकलें।

  4. कमीशन कारकों पर विचार करें, ऐसे आउटपुट से बचें जहां अनुमानित लाभ कमीशन लागत से कम हो। या कमीशन के आधार पर प्रतिशत अनुकूलित करें।

  5. बाहर निकलने की कीमतों को स्थानांतरित करने के बजाय गहराई के आधार पर ऑर्डर बही के बाहर निकलने का उपयोग करें। गहराई प्राथमिकता के आधार पर सर्वोत्तम बोली/पूछने की कीमतों का उपयोग करके बाहर निकलें।

सारांश

यह रणनीति कई प्रतिशत लाभ निकास का प्रभाव प्राप्त करती है, जिसमें 1%, 2%, 3% और 4% पर 4 निकास होते हैं, जिससे क्रमिक लाभदायक निकास की अनुमति मिलती है, और चरम चाल में भारी नुकसान को रोकने के लिए 2% स्टॉप लॉस का उपयोग किया जाता है। यह जोखिमों और रिटर्न को संतुलित करता है और आगे के लाभों को याद करने से रोकता है। लेकिन कुछ जोखिम मौजूद हैं जैसे कि चपटीपन और उच्च व्यापार आवृत्तियां। प्रदान किए गए अनुकूलन सुझाव रणनीति में शामिल होने पर अधिक बाजार स्थितियों में प्रदर्शन में सुधार करने में मदद कर सकते हैं।


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 3h
basePeriod: 15m
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/
// © adolgov

//@version=4
strategy("Multiple %% profit exits example", overlay=false, default_qty_value = 10)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

percentAsPoints(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)

lossPnt = percentAsPoints(2)

strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)
strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)
strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)
strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)

profitPercent(price) =>
    posSign = strategy.position_size > 0 ? 1 : strategy.position_size < 0 ? -1 : 0
    (price - strategy.position_avg_price) / strategy.position_avg_price * posSign * 100

p1 = plot(profitPercent(high), style=plot.style_linebr, title = "open profit % upper bound")
p2 = plot(profitPercent(low), style=plot.style_linebr, title = "open profit % lower bound")
fill(p1, p2, color = color.red)

अधिक