मूल्य-आधारित स्टॉप लॉस और लाभ लेने की रणनीतियाँ


निर्माण तिथि: 2023-11-23 15:36:00 अंत में संशोधित करें: 2023-11-23 15:36:00
कॉपी: 0 क्लिक्स: 672
1
ध्यान केंद्रित करना
1617
समर्थक

मूल्य-आधारित स्टॉप लॉस और लाभ लेने की रणनीतियाँ

अवलोकन

इस रणनीति का मुख्य विचार यह है कि इनपुट स्टॉप लॉस स्टॉप राशि का उपयोग उचित स्टॉप लॉस स्टॉप प्वाइंट सेट करने के लिए किया जाता है, जो प्रत्येक ट्रेड के लिए जोखिम और रिटर्न का प्रबंधन करता है।

रणनीति सिद्धांत

यह रणनीति पहले एक यादृच्छिक प्रवेश सिग्नल सेट करती है, जो एसएमए 14 के ऊपर एसएमए 28 के पार होने पर अधिक है, और एसएमए 14 के नीचे एसएमए 28 के पार होने पर खाली है।

प्रविष्टि के बाद, रणनीति ने moneyToSLPoints फ़ंक्शन का उपयोग किया, जो इनपुट की गई रोकथाम राशि के आधार पर, संबंधित रोकथाम बिंदुओं की संख्या की गणना करता है, और इसी तरह रोकथाम बिंदुओं की संख्या की गणना करता है। इस प्रकार, डॉलर की राशि के आधार पर रोकथाम रोकथाम की स्थापना की जाती है।

उदाहरण के लिए, यदि 100 हाथों में प्रवेश किया जाता है, तो प्रति अंक \( 10 है, और स्टॉपलॉस \) 100 है, तो स्टॉपलॉस 100/10/100 = 0.1 अंक है।

अंत में, strategy.exit का उपयोग करके स्टॉपलॉस और स्टॉपलॉस आउटपुट सेट करें। साथ ही स्टॉपलॉस और स्टॉपलॉस लाइन के ग्राफ को डीबगिंग संदर्भ के रूप में चित्रित करें।

श्रेष्ठता विश्लेषण

इस तरह के एक रणनीति के आधार पर कीमतों को रोकने के नुकसान, सबसे बड़ा लाभ यह है कि पैरामीटर सेट करने के लिए सहज ज्ञान युक्त है, तो आप जोखिम और लाभ के बीच संबंधों को देखने के लिए सहज ज्ञान युक्त कर सकते हैं, पैरामीटर का चयन करने के लिए

इसके अलावा, पॉइंट्स स्टॉप की तुलना में, डॉलर स्टॉप वास्तविक जोखिम के द्वार को बेहतर तरीके से नियंत्रित कर सकता है। जब बाजार में उतार-चढ़ाव बढ़ जाता है, तो डॉलर स्टॉप फंड की बेहतर सुरक्षा कर सकता है।

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

इस तरह के स्टॉप-लॉस-स्टॉप रणनीतियों में कुछ जोखिम भी होते हैं:

  1. स्टॉप लॉस पॉइंट्स को बहुत आसानी से बंद किया जा सकता है। यदि स्टॉप लॉस दूरी बहुत दूर है, तो शॉर्ट लाइन को पलटने की संभावना अधिक है, और इसे आसानी से बंद नहीं किया जा सकता है।

  2. यदि स्टॉप प्वाइंट बहुत करीब है, तो सामान्य एकतरफा व्यवहार भी नहीं किया जा सकता है, लाभ कमाना मुश्किल है।

  3. अनुबंधों का उचित चयन करना आवश्यक है। यदि अनुबंधों का चयन किया जाता है जो बहुत अधिक मूल्य के हैं, उदाहरण के लिए, कच्चे तेल, तो उसी डॉलर को रोक दिया जाता है, इसके लिए अंक बहुत छोटे होते हैं और बाजार में उतार-चढ़ाव में आसानी से बाहर निकल जाते हैं।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित तरीकों से अनुकूलित किया जा सकता हैः

  1. प्रवेश संकेतों को अनुकूलित किया जा सकता है, उदाहरण के लिए रुझान, अस्थिरता और मौसमीता जैसे विकल्पों के संयोजन से प्रवेश के लिए बेहतर समय मिल सकता है।

  2. विभिन्न किस्मों के लिए उपयुक्त स्टॉप लॉस स्टॉप प्रतिशत का चयन किया जा सकता है। उदाहरण के लिए, कमोडिटी के लिए अधिक आराम से स्टॉप लॉस सेट किया जा सकता है।

  3. आप उतार-चढ़ाव की दर के साथ संयोजन कर सकते हैं, जब उतार-चढ़ाव बढ़ता है तो स्टॉप लॉस को उचित रूप से ढीला करें; जब उतार-चढ़ाव कम होता है तो स्टॉप लॉस को उचित रूप से कस लें।

  4. ट्रेडिंग दिन के विभिन्न समयों के आधार पर विभिन्न स्टॉप-लॉस-स्टॉप रणनीतियों का चयन किया जा सकता है। उदाहरण के लिए, अमेरिकी ट्रेडिंग समय के दौरान स्टॉप-लॉस को कड़ा करें, जो कि सेट की संभावना को कम करता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 10m
basePeriod: 1m
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

// @description
// 

//@version=4
strategy("Stop loss and Take Profit in $$ example", overlay=true)

// random entry condition

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)

moneyToSLPoints(money) =>
    strategy.position_size !=0 ? (money / syminfo.pointvalue / abs(strategy.position_size)) / syminfo.mintick : na

p = moneyToSLPoints(input(200, title = "Take Profit $$"))
l = moneyToSLPoints(input(100, title = "Stop Loss $$"))
strategy.exit("x", profit = p, loss = l)

// debug plots for visualize SL & TP levels
pointsToPrice(pp) =>
    na(pp) ? na : strategy.position_avg_price + pp * sign(strategy.position_size) * syminfo.mintick
    
pp = plot(pointsToPrice(p), style = plot.style_linebr )
lp = plot(pointsToPrice(-l), style = plot.style_linebr )
avg = plot( strategy.position_avg_price, style = plot.style_linebr )
fill(pp, avg, color = color.green)
fill(avg, lp, color = color.red)