एमएसीडी केवल लंबी रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-12 11:02:06
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति एमएसीडी संकेतक की तेज और धीमी रेखाओं का उपयोग करती है। तेज रेखा का पैरामीटर 12 दिन का ईएमए है और धीमी रेखा का पैरामीटर 26 दिन का ईएमए है। दोनों लाइनों के बीच का अंतर एमएसीडी हिस्टोग्राम है। इसके अलावा, 9-दिवसीय ईएमए की गणना सिग्नल लाइन के रूप में की जाती है। जब एमएसीडी हिस्टोग्राम 0.04 से ऊपर पार हो जाता है तो यह लंबा हो जाता है और 0.015 से नीचे पार होने पर लंबी स्थिति बंद हो जाती है। इसके अलावा, 5% स्टॉप लॉस सेट किया जाता है।

विशेष रूप से, रणनीति पहले मैकडी संकेतक की तेज रेखा, धीमी रेखा और संकेत रेखा की गणना करती है। फिर लंबी रेखा -0.04 पर सेट की जाती है, बंद लाइन 0.015 पर सेट की जाती है। यदि वर्तमान मैकडी हिस्टोग्राम लंबी रेखा से अधिक है, तो यह लंबा हो जाता है। यदि वर्तमान मैकडी हिस्टोग्राम बंद रेखा से कम है, तो यह लंबी स्थिति को बंद कर देता है। इसके अलावा, स्टॉप लॉस लाइन को प्रवेश मूल्य के 95% पर सेट किया जाता है।

लाभ विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैंः

  1. उच्च सटीकता के साथ बाजार की प्रवृत्ति का न्याय करने के लिए एमएसीडी संकेतक का उपयोग करें
  2. लंबी और संकीर्ण रेखाओं के साथ डबल फिल्टर गलत संकेतों से बचाता है
  3. स्टॉप लॉस रणनीति जोखिमों को प्रभावी ढंग से नियंत्रित करती है
  4. सरल और स्पष्ट तर्क, समझने और लागू करने में आसान
  5. केवल आवश्यकताएं और एमएसीडी सूचक, कम संसाधन कब्जा

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

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

  1. एमएसीडी संकेतक में कुछ पिछड़ रहा है, अल्पकालिक अवसरों को याद कर सकता है
  2. स्टॉप लॉस सेटिंग दीर्घकालिक रुझानों को ट्रैक करने के लिए बहुत रूढ़िवादी हो सकती है
  3. पैरामीटर ट्यूनिंग के लिए बहुत सारे बैकटेस्टिंग की आवश्यकता होती है, अन्यथा ओवरफिटिंग हो सकती है
  4. केवल के लिए लागू होता है, अन्य जोड़े के लिए प्रभावशीलता अनिश्चित है

अनुकूलन और सुधार के लिए मापदंडों को समायोजित करने, अन्य संकेतकों को जोड़ने जैसे तरीकों का उपयोग किया जा सकता है।

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

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

  1. बेहतर पैरामीटर खोजने के लिए विभिन्न एमएसीडी पैरामीटर संयोजनों का परीक्षण करें

    तेज लाइन, धीमी लाइन, सिग्नल लाइन विभिन्न लंबाई के साथ अधिक उपयुक्त संयोजन खोजने का प्रयास किया जा सकता है

  2. अन्य संकेतकों का प्रयास करें

    आरएसआई, केडी जैसे संकेतक बहुत अलग परिणाम दे सकते हैं

  3. लंबी और करीबी रेखा पैरामीटर अनुकूलित करें

    अधिक उपयुक्त मापदंडों को दोहराए गए बैकटेस्टिंग के माध्यम से पाया जा सकता है

  4. स्टॉप लॉस रणनीति को समायोजित करें

    स्टॉप लॉस को अधिक गतिशील बनाने के लिए ट्रेलिंग स्टॉप पर विचार करें

  5. विभिन्न मुद्रा जोड़े पर परीक्षण

    रणनीति को अन्य जोड़े पर लागू करें और प्रभावों की जांच करें

निष्कर्ष

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(shorttitle = "GBPJPY MACD", title = "GBPJPY MACD")
fastMA = input(title="Fast moving average",  defval = 12, minval = 7)
slowMA = input(title="Slow moving average",  defval = 26, minval = 7)
lastColor = yellow
[currMacd,_,_] = macd(close[0], fastMA, slowMA, 9)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9)
plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red
plot(currMacd, style = histogram, color = plotColor, linewidth = 3)
plot(0, title = "Zero line", linewidth = 1, color = gray)

//MACD
// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval =9)
sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

//plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
///END OF MACD

//Long and Close Long Lines
linebuy = input(title="Enter Long", type=float, defval=-0.04)
linesell = input(title="Close Long", type=float, defval=0.015)

//Plot Long and Close Long Lines
plot(linebuy,color=green),plot(linesell,color=red)


//Stop Loss Input
sl_inp = input(0.05, title='Stop Loss %', type=float)/100


//Order Conditions
longCond = crossover(currMacd, linebuy)
exitLong = crossover(currMacd, linesell)
stop_level = strategy.position_avg_price * (1 - sl_inp)


//Order Entries
strategy.entry("long", strategy.long,  when=longCond==true)
strategy.close("long", when=exitLong==true)
strategy.exit("Stop Loss", stop=stop_level)

अधिक