यह रणनीति मुद्रा जोड़ी के दीर्घकालिक व्यापार को लागू करने के लिए एमएसीडी संकेतक और लंबी और बंद लाइनों पर आधारित है। यह तब पद खोलता है जब एमएसीडी संकेतक रेखा लंबी रेखा से पार हो जाती है और जब एमएसीडी संकेतक रेखा बंद रेखा से नीचे पार हो जाती है तो पदों को बंद कर देती है। स्टॉप लॉस रणनीति भी कॉन्फ़िगर की जाती है।
यह रणनीति एमएसीडी संकेतक की तेज और धीमी रेखाओं का उपयोग करती है। तेज रेखा का पैरामीटर 12 दिन का ईएमए है और धीमी रेखा का पैरामीटर 26 दिन का ईएमए है। दोनों लाइनों के बीच का अंतर एमएसीडी हिस्टोग्राम है। इसके अलावा, 9-दिवसीय ईएमए की गणना सिग्नल लाइन के रूप में की जाती है। जब एमएसीडी हिस्टोग्राम 0.04 से ऊपर पार हो जाता है तो यह लंबा हो जाता है और 0.015 से नीचे पार होने पर लंबी स्थिति बंद हो जाती है। इसके अलावा, 5% स्टॉप लॉस सेट किया जाता है।
विशेष रूप से, रणनीति पहले मैकडी संकेतक की तेज रेखा, धीमी रेखा और संकेत रेखा की गणना करती है। फिर लंबी रेखा -0.04 पर सेट की जाती है, बंद लाइन 0.015 पर सेट की जाती है। यदि वर्तमान मैकडी हिस्टोग्राम लंबी रेखा से अधिक है, तो यह लंबा हो जाता है। यदि वर्तमान मैकडी हिस्टोग्राम बंद रेखा से कम है, तो यह लंबी स्थिति को बंद कर देता है। इसके अलावा, स्टॉप लॉस लाइन को प्रवेश मूल्य के 95% पर सेट किया जाता है।
इस रणनीति के निम्नलिखित फायदे हैंः
इस रणनीति में कुछ जोखिम भी हैं:
अनुकूलन और सुधार के लिए मापदंडों को समायोजित करने, अन्य संकेतकों को जोड़ने जैसे तरीकों का उपयोग किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
बेहतर पैरामीटर खोजने के लिए विभिन्न एमएसीडी पैरामीटर संयोजनों का परीक्षण करें
तेज लाइन, धीमी लाइन, सिग्नल लाइन विभिन्न लंबाई के साथ अधिक उपयुक्त संयोजन खोजने का प्रयास किया जा सकता है
अन्य संकेतकों का प्रयास करें
आरएसआई, केडी जैसे संकेतक बहुत अलग परिणाम दे सकते हैं
लंबी और करीबी रेखा पैरामीटर अनुकूलित करें
अधिक उपयुक्त मापदंडों को दोहराए गए बैकटेस्टिंग के माध्यम से पाया जा सकता है
स्टॉप लॉस रणनीति को समायोजित करें
स्टॉप लॉस को अधिक गतिशील बनाने के लिए ट्रेलिंग स्टॉप पर विचार करें
विभिन्न मुद्रा जोड़े पर परीक्षण
रणनीति को अन्य जोड़े पर लागू करें और प्रभावों की जांच करें
अंत में, यह एक समग्र बहुत ही सरल और सहज दीर्घकालिक ट्रेडिंग रणनीति है। यह एमएसीडी संकेतक का उपयोग करके बाजार की स्थितियों का न्याय करता है और झूठे व्यापार को कम करने के लिए डबल फ़िल्टर मानदंड निर्धारित करता है। जोखिम नियंत्रण को स्टॉप लॉस के माध्यम से भी कॉन्फ़िगर किया जाता है। तर्क स्पष्ट है और संसाधन कब्जा कम है। इसे समझना और लागू करना आसान है, इसकी सिफारिश की जानी चाहिए। बेशक, रणनीति को और भी उत्कृष्ट बनाने के लिए पैरामीटर ट्यूनिंग, संकेतक परिवर्तन और अन्य साधनों के माध्यम से सुधार के लिए अभी भी बहुत जगह है।
/*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)