यह रणनीति दो-दिशात्मक ट्रेंड फॉलो करने के लिए ईएमए लाइनों के गोल्डन क्रॉस और डेड क्रॉस का उपयोग करती है, और बाजार में ट्रेंडिंग मूवमेंट को पकड़ने के लिए लंबी और छोटी स्थिति के लिए गतिशील स्टॉप लॉस लाइनें सेट करती है।
एटीआर आधारित जोखिम प्रबंधन, स्टॉप लॉस नियमों का अनुकूलन, फिल्टर संकेतक आदि जैसे सुधार रणनीति को बेहतर बनाने में मदद कर सकते हैं।
निष्कर्ष में, यह रणनीति के बाद एक बहुत ही विशिष्ट प्रवृत्ति है। गतिशील स्टॉप लॉस के साथ दोहरे ईएमए क्रॉसओवर प्रभावी रूप से प्रवृत्ति लाभ में लॉक कर सकते हैं। इस बीच, लेगिंग सिग्नल और ओवरवाइड स्टॉप जैसे जोखिम अभी भी मौजूद हैं। पैरामीटर ट्यूनिंग, जोखिम प्रबंधन, फ़िल्टर जोड़ आदि के माध्यम से, आगे परिष्करण बेहतर परिणामों का कारण बन सकता है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy", shorttitle="EMAC", overlay=true,calc_on_every_tick=true) // Input parameters shortEmaLength = input(5, title="Short EMA Length") longEmaLength = input(20, title="Long EMA Length") priceEmaLength = input(1, title="Price EMA Length") // Set stop loss level with input options (optional) longLossPerc = input.float(0.05, title="Long Stop Loss (%)", minval=0.0, step=0.1) * 0.01 shortLossPerc = input.float(0.05, title="Short Stop Loss (%)", minval=0.0, step=0.1) * 0.01 // Calculating indicators shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) //priceEma = ta.ema(close, priceEmaLength) vwap = ta.vwap(close) // Long entry conditions longCondition = ta.crossover(shortEma, longEma) and close > vwap // Short entry conditions shortCondition = ta.crossunder(shortEma, longEma) and close > vwap // STEP 2: // Determine stop loss price longStopPrice = strategy.position_avg_price * (1 - longLossPerc) shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc) if (longCondition) strategy.entry("Enter Long", strategy.long) strategy.exit("Exit Long",from_entry = "Enter Long",stop= longStopPrice) plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.belowbar) if (shortCondition) strategy.entry("Enter Short", strategy.short) strategy.exit("Exit Short", from_entry = "Enter Short",stop = shortStopPrice) plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar) // Stop loss levels //longStopLoss = (1 - stopLossPercent) * close //shortStopLoss = (1 + stopLossPercent) * close // Exit conditions //strategy.exit("Long", from_entry="Long", loss=longStopLoss) //strategy.exit("Short", from_entry="Short", loss=shortStopLoss) // Plotting indicators on the chart plot(shortEma, color=color.yellow, title="Short EMA") plot(longEma, color=color.green, title="Long EMA") plot(close, color=color.black, title="Close") plot(vwap, color=color.purple, title="VWAP") // Plot stop loss values for confirmation plot(strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_line, linewidth=2, title="Long Stop Loss") plot(strategy.position_size < 0 ? shortStopPrice : na, color=color.blue, style=plot.style_line, linewidth=2, title="Short Stop Loss") // Plotting stop loss lines //plot(longStopLoss, color=color.red, title="Long Stop Loss", linewidth=2, style=plot.style_line) //plot(shortStopLoss, color=color.aqua, title="Short Stop Loss", linewidth=2, style=plot.style_line)