दोहरे ईएमए क्रॉसओवर के गतिशील स्टॉप लॉस पर आधारित रणनीति के बाद की प्रवृत्ति

लेखक:चाओझांग, दिनांकः 2024-01-29 09:57:20
टैगः

img

अवलोकन

यह रणनीति दो-दिशात्मक ट्रेंड फॉलो करने के लिए ईएमए लाइनों के गोल्डन क्रॉस और डेड क्रॉस का उपयोग करती है, और बाजार में ट्रेंडिंग मूवमेंट को पकड़ने के लिए लंबी और छोटी स्थिति के लिए गतिशील स्टॉप लॉस लाइनें सेट करती है।

रणनीति तर्क

  1. त्वरित ईएमए रेखा (5 दिन) और धीमी ईएमए रेखा (20 दिन) की गणना करें
  2. जब तेज रेखा नीचे से धीमी रेखा के ऊपर पार करती है तो लंबा हो; जब तेज रेखा ऊपर से धीमी रेखा के नीचे पार करती है तो छोटा हो
  3. लंबी प्रविष्टि के बाद, प्रवेश मूल्य पर गतिशील स्टॉप लॉस सेट करें * (1 - लंबी स्टॉप लॉस प्रतिशत); छोटी प्रविष्टि के बाद, प्रवेश मूल्य पर गतिशील स्टॉप लॉस सेट करें * (1 + छोटी स्टॉप लॉस प्रतिशत)
  4. स्टॉप लॉस के साथ एक्जिट पोजीशन एक बार कीमत स्टॉप लॉस के स्तर पर पहुंच जाने पर

लाभ विश्लेषण

  1. ईएमए लाइनों में रुझानों को ट्रैक करने में मजबूत क्षमताएं हैं। डबल क्रॉसओवर प्रभावी रूप से रुझान के अवसरों को पकड़ने के लिए एक समय उपकरण के रूप में काम करता है
  2. गतिशील स्टॉप लॉस लाभ के साथ चलता है, अधिकतम रुझान पकड़ लाभ
  3. vwap के साथ अतिरिक्त फ़िल्टर whipsaws में फंसने से बचता है और सिग्नल की गुणवत्ता में सुधार करता है

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

  1. एक शुद्ध प्रवृत्ति के रूप में रणनीति का पालन करते हुए, यह whipsaws के साथ बाजारों के दायरे के लिए कमजोर है
  2. अत्यधिक ढीला स्टॉप लॉस बढ़े हुए नुकसान का कारण बन सकता है
  3. ईएमए क्रॉसओवर संकेतों की विलंबित प्रकृति सर्वोत्तम प्रवेश बिंदुओं को याद कर सकती है

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

सुधार दिशाएँ

  1. बेहतर अनुकूलन बंद सेट करने के लिए एटीआर या डोंच जैसे गतिशील स्टॉप हानि संकेतक शामिल करें
  2. खराब ट्रेडों से बचने के लिए एमएसीडी, केडीजे जैसे अधिक फिल्टर संकेतक जोड़ें
  3. सर्वोत्तम ईएमए लंबाई संयोजन खोजने के लिए मापदंडों का अनुकूलन करें
  4. इष्टतम मापदंडों की खोज के लिए मशीन सीखने के तरीकों का उपयोग करें

निष्कर्ष

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


/*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)

अधिक