एक्सपोनेंशियल मूविंग एवरेज क्रॉसओवर क्वांटिटेटिव ट्रेडिंग रणनीति


निर्माण तिथि: 2024-03-29 10:59:57 अंत में संशोधित करें: 2024-03-29 10:59:57
कॉपी: 1 क्लिक्स: 517
1
ध्यान केंद्रित करना
1617
समर्थक

एक्सपोनेंशियल मूविंग एवरेज क्रॉसओवर क्वांटिटेटिव ट्रेडिंग रणनीति

अवलोकन

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

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

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

रणनीतिक लाभ

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

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

  1. ईएमए क्रॉसिंग से उत्पन्न सिग्नल में देरी हो सकती है, जिससे व्यापार के सर्वोत्तम समय को याद किया जा सकता है।
  2. अस्थिर बाजारों में, ईएमए क्रॉसिंग अक्सर हो सकती है, जिससे लेनदेन की संख्या और लेनदेन की लागत बढ़ जाती है।
  3. रणनीति में स्टॉपलॉस की कमी है, और यदि निर्णय गलत हो जाता है, तो वापस लेने का जोखिम अधिक हो सकता है।

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

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading
// @version=5
strategy("ema giao nhau", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Get user input
emaLength1 = input.int(title="EMA #1 Length", defval=5)
emaLength2 = input.int(title="EMA #2 Length", defval=10)

// Get MAs
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)

// Draw MAs
plot(ema1, color=color.blue, title="EMA 1")
plot(ema2, color=color.red, title="EMA 2")

// Detect crossovers
bool crossOver = ta.crossover(ema1, ema2)
bool crossUnder = ta.crossunder(ema1, ema2)
bool cross = crossOver or crossUnder
//float crossPrice = ta.valuewhen(cross, close, 0)
float crossPrice = cross ? close : na

// Check if the crossover price is the highest price over the past 10 bars
bool highestPrice = crossOver
for i = 1 to 10
    if crossPrice <= close[i]
        highestPrice := false
        break

// Check if the crossover price is the lowest price over the past 10 bars
bool lowestPrice = crossUnder
for i = 1 to 10
    if crossPrice >= close[i]
        lowestPrice := false
        break

// Flag the bar if it is a high/low close
bgcolor(highestPrice ? color.new(color.green, 50) : na)
bgcolor(lowestPrice ? color.new(color.red, 50) : na)

// Display crossover price
if cross
    highestEmaPrice = ema1 > ema2 ? ema1 : ema2
    label myLabel = label.new(bar_index, highestEmaPrice, "CrossPrice=" + str.tostring(crossPrice), color=color.white)
    if highestPrice and strategy.position_size == 0
        strategy.entry(id="Buy", direction=strategy.long)
    if lowestPrice and strategy.position_size == 0
        strategy.entry(id="Sell", direction=strategy.short)

// Exit trades when short-term EMA is breached
if strategy.position_size > 0 and crossUnder
    strategy.close("Buy")
if strategy.position_size < 0 and crossOver
    strategy.close("Sell")