बहु-ईएमए तेजी की प्रवृत्ति रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-22 12:04:05
टैगः

img

अवलोकन

मल्टी-ईएमए बुलिश ट्रेंड रणनीति ट्रेंड निर्धारण के लिए विभिन्न अवधियों के कई घातीय चलती औसत (ईएमए) के आधार पर एक प्रवृत्ति के बाद की रणनीति है। यह तब लंबा हो जाता है जब 10-दिवसीय ईएमए और अन्य लंबी अवधि के ईएमए से ऊपर की कीमत टूट जाती है; और मुनाफे में लॉक करने के लिए 8% ट्रैलिंग स्टॉप लॉस का उपयोग करता है।

रणनीति तर्क

यह रणनीति 10, 20, 50, 100, 150 और 200 दिनों की अवधि के 6 ईएमए का उपयोग करती है। इन ईएमए का उपयोग बाजार के वर्तमान चक्रीय चरण को निर्धारित करने के लिए किया जाता है। जब छोटी अवधि के ईएमए (जैसे 10-दिवसीय) लंबी अवधि के ईएमए (जैसे 20-, 50-दिवसीय) को पार करते हैं, तो यह संकेत देता है कि बाजार बुल ट्रेंड के मार्कअप चरण में प्रवेश कर गया है।

विशेष रूप से, रणनीति तब लंबी होगी जब निम्नलिखित शर्तें पूरी होंगी:

  1. 10-दिवसीय ईएमए 20-दिवसीय ईएमए से अधिक है
  2. 20-दिवसीय ईएमए 50-दिवसीय ईएमए से अधिक है
  3. 100 दिन का ईएमए 150 दिन के ईएमए से अधिक है
  4. 150-दिवसीय ईएमए 200-दिवसीय ईएमए से अधिक है
  5. बंद मूल्य 10 दिन के ईएमए से अधिक पार करता है

लॉन्ग पोजीशन खोलने के बाद, लाभ को लॉक करने के लिए 8% ट्रेलिंग स्टॉप लॉस का उपयोग किया जाता है। इसका मतलब है कि जब तक कीमत एंट्री प्राइस से 8% से अधिक नहीं गिरती है तब तक पोजीशन को खुला रखा जाएगा। एक बार ड्रॉडाउन 8% से अधिक हो जाने के बाद, पोजीशन को स्टॉप लॉस के लिए बंद कर दिया जाएगा।

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

लाभ विश्लेषण

मल्टी-ईएमए बुल ट्रेंड रणनीति में निम्नलिखित प्रमुख ताकतें हैंः

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

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

इस रणनीति के लिए कुछ जोखिम भी ध्यान देने योग्य हैंः

  1. ईएमए अनुक्रम 100% मामलों के लिए रुझान की दिशा की गारंटी नहीं दे सकता है, कुछ whipsaws अभी भी हो सकते हैं।
  2. 8 प्रतिशत का ट्रेलिंग स्टॉप भारी रुझानों के दौरान कुछ मुनाफे को छोड़ सकता है।
  3. ईएमए प्रणालियों में अंतर्निहित विलंबता होती है, मोड़ बिंदुओं की पुष्टि में थोड़ा विलंब हो सकता है।

इन जोखिमों से निपटने के लिए, हम बेहतर निर्णय के लिए ईएमए अवधि को समायोजित करके या सहायक संकेतकों को शामिल करके अनुकूलन कर सकते हैं।

अनुकूलन दिशाएँ

इस रणनीति की विशेषताओं को ध्यान में रखते हुए, भविष्य के अनुकूलन निम्नलिखित पहलुओं पर ध्यान केंद्रित कर सकते हैंः

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

निष्कर्ष

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


/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('SirSeff\'s EMA Rainbow', overlay=true)
// Testing Start dates
testStartYear = input(2000, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2100, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
// Component Code Stop

//TSP
trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01

longStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    math.max(stopValue, longStopPrice[1])
else
    0

//PLOTS
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop')
plot(ta.ema(close, 20))
plot(ta.ema(close, 50))
plot(ta.ema(close, 100))
plot(ta.ema(close, 150))
plot(ta.ema(close, 200))

//OPEN
longCondition =  ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200)
if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod()
    strategy.entry("BUY1", strategy.long)
    
if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod()
    strategy.entry("BUY2'", strategy.long)

//CLOSE @ TSL
if strategy.position_size > 0 and testPeriod()
    strategy.exit(id='TSP', stop=longStopPrice)
    


अधिक