MACD संकेतक पर आधारित स्टॉप लॉस रणनीति


निर्माण तिथि: 2023-10-26 15:51:34 अंत में संशोधित करें: 2023-10-26 15:51:34
कॉपी: 0 क्लिक्स: 709
1
ध्यान केंद्रित करना
1617
समर्थक

MACD संकेतक पर आधारित स्टॉप लॉस रणनीति

अवलोकन

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

सिद्धांत

इस रणनीति के लिए सबसे पहले MACD और सिग्नल लाइनों की गणना की जाती है। जब MACD लाइन नीचे से ऊपर की ओर सिग्नल लाइन को तोड़ती है, तो इसे खरीदने का संकेत माना जाता है। झूठे ब्रेक को फ़िल्टर करने के लिए, रणनीति को barssince ((crossover ((macd_line, signal_line)) <= 5 की आवश्यकता होती है, यानी, 5 सबसे हालिया K लाइनों के भीतर ब्रेक होता है। साथ ही यह भी आवश्यक है कि MACD लाइन और सिग्नल लाइन 0 से कम हो, जो वर्तमान में ओवरसोल्ड स्थिति में है, और WMA औसत लाइन से ऊपर की कीमत बंद हो गई है, जो एक प्रवृत्ति को दर्शाता है।

प्रत्येक ट्रेड के लिए, रणनीति एक उचित स्टॉप-लॉस और स्टॉप-आउट मूल्य की गणना करती है। स्टॉप-लॉस मूल्य को नवीनतम 3 K लाइनों के लिए सबसे कम मूल्य के रूप में सेट किया गया है। स्टॉप-आउट मूल्य को खरीद मूल्य के 4 गुना के रूप में सेट किया गया है।

महत्वपूर्ण बात यह है कि रणनीति के लिए प्रति लेनदेन के लिए विशिष्ट स्थिति की गणना करने के लिए स्वीकार्य जोखिम के आधार पर। प्रति लेनदेन के लिए अधिकतम स्वीकार्य हानि को कुल पूंजी का प्रतिशत के रूप में capital_risk पैरामीटर के माध्यम से सेट करें। फिर स्टॉप लॉस मार्जिन के आधार पर डॉलर में स्थिति का आकार की गणना करें। फिर अनुबंधों की संख्या के रूप में परिवर्तित करें।

प्रत्येक व्यापार के लिए जोखिम को कुल पूंजी के 1% के भीतर नियंत्रित किया जाता है, और निकासी को प्रभावी ढंग से नियंत्रित किया जा सकता है। साथ ही, स्टॉप पोजीशन अधिक है, उच्च रिटर्न प्राप्त किया जा सकता है।

लाभ

  • जोखिम नियंत्रण अग्रिम, प्रत्येक लेनदेन के लिए जोखिम नियंत्रण
  • स्थिति का आकार अनुकूलित करें और धन का अधिकतम उपयोग करें
  • स्टॉप-लॉस रणनीतियाँ प्रभावी रूप से वापसी को नियंत्रित करती हैं
  • उचित रोकथाम, अधिक मुनाफे की संभावना

जोखिम और सुधार

  • MACD सूचकांक में देरी, तेजी से बदलते रुझानों से चूक सकता है
  • स्टॉप-लॉस या स्टॉप-स्टॉप पोजीशन को गलत तरीके से सेट करना, जो रिटर्न को कम कर सकता है या जोखिम को बढ़ा सकता है
  • ट्रेडिंग की आवृत्ति अधिक हो सकती है, ट्रेडिंग की लागत बढ़ सकती है

विचार करने के लिएः

  • अन्य सूचकांकों के साथ रुझानों को एकीकृत करना, एमएसीडी में देरी से बचें
  • स्टॉप-लॉस-स्टॉप एल्गोरिदम को अधिक लचीला बनाने के लिए अनुकूलित करें
  • लेन-देन की आवृत्ति में उचित छूट और लेन-देन की लागत में कमी

संक्षेप

इस रणनीति के आधार पर MACD संकेतक प्रवृत्ति दिशा का आकलन करने के लिए, जोखिम को नियंत्रित करने के लिए अग्रणी, तर्कसंगत स्थिति की गणना व्यापार. कुंजी जोखिम नियंत्रण और स्थिति अनुकूलन है, जो लंबे समय तक स्थिर रिटर्न प्राप्त कर सकते हैं. लेकिन MACD संकेतक में कुछ खामियां हैं, और रोकथाम रोकथाम तंत्र को और अधिक अनुकूलित करने की आवश्यकता है. यदि संकेतक का उपयोग, रोकथाम रोकथाम सेटिंग और व्यापार की आवृत्ति को कम करने के लिए और अधिक अनुकूलित किया जाता है, तो यह रणनीति को और अधिक मजबूत बना देगा.

रणनीति स्रोत कोड
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy( "McDonalds ", shorttitle="Ur Lovin' It", initial_capital=10000, default_qty_type=strategy.cash, currency=currency.USD )

capital_risk    = input( 1.0, "% capital risk per trade" ) / 100
r_exit          = input( 4.0, "Take Profit in 'R'" )
wma_length      = input( 150, 'WMA Bias Length' )

[macd_line, signal_line, hist ] = macd(close, 12, 26, 9)

w_line = wma( close, wma_length )

golong = barssince(crossover(macd_line, signal_line)) <= 5 and ( macd_line < 0 and signal_line < 0 ) and ( close > w_line ) and strategy.opentrades == 0

float stop = na
float tp = na

// For a stop, use a recent low 
stop := golong ? lowest(low, 3)[1] : stop[1]
range = abs(close - stop)
tp := golong ? close + (r_exit * range) : tp[1]


// This is the bit that calculates how much size to use so we only lose 1% of the `strategy.equity`
how_much_willing_to_lose = strategy.equity * capital_risk
// Spread the risk across the stop range 
position_size_in_usd = how_much_willing_to_lose / (range / close)
// Sized specified in base contract
position_size_in_contracts = position_size_in_usd / close

// Enter the position
if golong
    strategy.entry("long", strategy.long, qty=position_size_in_contracts)
    strategy.exit("long exit","long", stop=stop, limit=tp)

// experimental exit strategy
// hist_strength = hist >= 0 ? ( hist[1] < hist ? 'strong' : 'weak') : ( hist[1] < hist ? 'weak' : 'strong' )
// if hist < 0 and hist_strength == 'strong' and falling( hist, 8 )
//     strategy.close("long")


plot( strategy.equity,  color=strategy.equity > 10000 ? color.green : color.red, linewidth=2 )