ईएमए डबल मूविंग एवरेज क्रॉसओवर डायनेमिक स्टॉप-प्रॉफिट और स्टॉप-लॉस क्वांटिटेटिव ट्रेडिंग रणनीति

EMA
निर्माण तिथि: 2024-11-18 15:53:49 अंत में संशोधित करें: 2024-11-18 15:53:49
कॉपी: 5 क्लिक्स: 611
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

यह रणनीति एक गतिशील स्टॉप-लॉस तंत्र के साथ एक समान-रेखा क्रॉस-आधारित मात्रात्मक ट्रेडिंग प्रणाली है। रणनीति का मूल 10-चक्र और 26-चक्र सूचकांक चलती औसत (ईएमए) के क्रॉस-आउट के माध्यम से बाजार की प्रवृत्ति की पहचान करना है, और एक पलटाव पर व्यापार करना है। प्रणाली में एक निश्चित स्टॉप-लॉस बिन्दु सेटिंग है, जो सख्त जोखिम नियंत्रण के माध्यम से धन की सुरक्षा को सुरक्षित करती है। यह रणनीति विशेष रूप से उन ट्रेडिंग किस्मों के लिए उपयुक्त है जिनमें अधिक उतार-चढ़ाव होता है, क्योंकि ऐसी किस्में अधिक स्पष्ट बाजार उलट संकेत और अधिक लाभ कमाने के लिए जगह प्रदान करती हैं।

रणनीति सिद्धांत

रणनीति दो अलग-अलग चक्रों के ईएमए औसत रेखाओं का उपयोग करती है, जो कि अल्पकालिक 10-चक्र ईएमए और दीर्घकालिक 26-चक्र ईएमए के रूप में एक केंद्रीय संकेतक है। जब अल्पकालिक औसत रेखा लंबी अवधि की औसत रेखा को ऊपर की ओर पार करती है, तो सिस्टम को एक ऊंची प्रवृत्ति के रूप में पहचाना जाता है, जो एक खरीद संकेत उत्पन्न करता है; जब अल्पकालिक औसत रेखा लंबी अवधि की औसत रेखा को नीचे की ओर पार करती है, तो सिस्टम को एक गिरावट प्रवृत्ति के रूप में पहचाना जाता है, जो एक बेचने का संकेत उत्पन्न करता है। प्रणाली एक प्रवृत्ति की पुष्टि करने के बाद, कीमतों को वापस लेने की प्रतीक्षा करती है और 30 बिंदुओं के स्टॉप और 15 बिंदुओं के स्टॉप को नियंत्रित करके जोखिम को नियंत्रित करती है। रणनीति एक सिंगल सिग्नल तंत्र का उपयोग करती है, जो एक ही समय में केवल एक दिशा में व्यापार करने की अनुमति देती है, जो सिस्टम की जटिलता को कम करने और विश्वसनीयता बढ़ाने में मदद करती है।

रणनीतिक लाभ

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

रणनीतिक जोखिम

  1. बाजार में उतार-चढ़ाव का खतराः झूठे संकेतों के कारण बाजार में उतार-चढ़ाव हो सकता है
  2. स्लाइडिंग जोखिमः जब बाजार में भारी उतार-चढ़ाव होता है तो बड़े स्लाइडिंग जोखिम का सामना करना पड़ सकता है
  3. स्टॉप लॉस रिस्कः कुछ बाजार स्थितियों में एक निश्चित स्टॉप लॉस लेवल पर्याप्त लचीला नहीं हो सकता है
  4. सिग्नल विलंबता: समानांतर क्रॉस सिग्नल में कुछ विलंबता होती है, जो सर्वोत्तम प्रवेश बिंदु को याद कर सकती है
  5. धन प्रबंधन जोखिमः प्रत्येक लेनदेन के लिए धन के अनुपात पर उचित नियंत्रण की आवश्यकता

रणनीति अनुकूलन दिशा

  1. गतिशील स्टॉप लॉस: बाजार में उतार-चढ़ाव के आधार पर गतिशील स्टॉप लॉस स्थिति को समायोजित करने पर विचार किया जा सकता है
  2. सिग्नल फ़िल्टरिंगः झूठे संकेतों को फ़िल्टर करने के लिए ट्रैफ़िक, उतार-चढ़ाव और अन्य सहायक संकेतकों को बढ़ाएं
  3. समय फ़िल्टरिंगः ट्रेडिंग समय फ़िल्टरिंग को बढ़ाएं, जो अत्यधिक उतार-चढ़ाव वाले समय से बचता है
  4. पोजीशन मैनेजमेंटः आंशिक रोक-टोक की व्यवस्था जोड़ी गई है, जिससे रुझान को ट्रैक करने के लिए कुछ पोजीशनों को बनाए रखा जा सकता है
  5. फंड मैनेजमेंटः डायनामिक फंड मैनेजमेंट सिस्टम जोड़े गए, जो खाते के शुद्ध मूल्य के आधार पर स्वचालित रूप से लेनदेन के आकार को समायोजित करता है

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-18 00:00:00
end: 2024-11-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("30 Pips Target & 15 Pips Stop-Loss with One Signal at a Time", overlay=true)

// Define settings for target and stop-loss in pips
target_in_pips = 30
stoploss_in_pips = 10

// Convert pips to price value based on market (for forex, 1 pip = 0.0001 for major pairs like GBP/JPY)
pip_value = syminfo.mintick * 10  // For forex, 1 pip = 0.0001 or 0.01 for JPY pairs
target_value = target_in_pips * pip_value
stoploss_value = stoploss_in_pips * pip_value

// Define EMAs (10-EMA and 26-EMA) for the crossover strategy
ema10 = ta.ema(close, 10)
ema26 = ta.ema(close, 26)

// Buy signal: when 10 EMA crosses above 26 EMA
longCondition = ta.crossover(ema10, ema26)
// Sell signal: when 10 EMA crosses below 26 EMA
shortCondition = ta.crossunder(ema10, ema26)

// Define price levels with explicit type float
var float long_entry_price = na
var float long_take_profit = na
var float long_stop_loss = na
var float short_entry_price = na
var float short_take_profit = na
var float short_stop_loss = na

// Variable to track if a trade is active
var bool inTrade = false

// Check if the trade hit stop loss or take profit
if (inTrade)
    if (not na(long_take_profit) and close >= long_take_profit)
        inTrade := false  // Exit the trade after hitting target
        long_entry_price := na
        long_take_profit := na
        long_stop_loss := na
        strategy.close("Long")

    if (not na(long_stop_loss) and close <= long_stop_loss)
        inTrade := false  // Exit the trade after hitting stoploss
        long_entry_price := na
        long_take_profit := na
        long_stop_loss := na
        strategy.close("Long")

    if (not na(short_take_profit) and close <= short_take_profit)
        inTrade := false  // Exit the trade after hitting target
        short_entry_price := na
        short_take_profit := na
        short_stop_loss := na
        strategy.close("Short")

    if (not na(short_stop_loss) and close >= short_stop_loss)
        inTrade := false  // Exit the trade after hitting stoploss
        short_entry_price := na
        short_take_profit := na
        short_stop_loss := na
        strategy.close("Short")

// Only generate new signals if not already in a trade
if (not inTrade)
    if (longCondition)
        long_entry_price := close
        long_take_profit := close + target_value
        long_stop_loss := close - stoploss_value
        strategy.entry("Long", strategy.long)  // Enter a long trade
        strategy.exit("Take Profit/Stop Loss", "Long", limit=long_take_profit, stop=long_stop_loss)
        inTrade := true  // Mark trade as active

    if (shortCondition)
        short_entry_price := close
        short_take_profit := close - target_value
        short_stop_loss := close + stoploss_value
        strategy.entry("Short", strategy.short)  // Enter a short trade
        strategy.exit("Take Profit/Stop Loss", "Short", limit=short_take_profit, stop=short_stop_loss)
        inTrade := true  // Mark trade as active

// Plot the levels on the chart only when in a trade
plot(inTrade and not na(long_take_profit) ? long_take_profit : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Take Profit (Long)")
plot(inTrade and not na(long_stop_loss) ? long_stop_loss : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Stop Loss (Long)")

plot(inTrade and not na(short_take_profit) ? short_take_profit : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Take Profit (Short)")
plot(inTrade and not na(short_stop_loss) ? short_stop_loss : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Stop Loss (Short)")

plotshape(series=longCondition and not inTrade, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition and not inTrade, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")