दोहरी टीईएमए क्रॉसओवर ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-12 17:34:19
टैगः

अवलोकन

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

रणनीति तर्क

रणनीति में मुख्य तकनीकी संकेतक के रूप में TEMA (ट्रिपल एक्सपोनेंशियल मूविंग एवरेज) का उपयोग किया गया है।

TEMA = (3ईएमए1) - (3ईएमए2) + ईएमए3

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

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

इस रणनीति की कुंजी पैरामीटर ट्यूनिंग और स्थिति तर्क में निहित है। 20 दिन जैसी कम अवधि वाली फास्ट लाइन जल्दी से मूल्य गतिशीलता को पकड़ सकती है, जबकि 60 दिन जैसी लंबी अवधि वाली धीमी रेखा झूठे ब्रेकआउट को फ़िल्टर कर सकती है। जब एक महत्वपूर्ण मूल्य अपट्रेंड या डाउनट्रेंड सामने आता है, तो तेजी से लाइन तेजी से धीमी रेखा के ऊपर या नीचे पार कर सकती है ताकि ट्रेडिंग सिग्नल उत्पन्न हो सके।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

  1. टीईएमए मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया दे सकता है और रुझानों के उलटफेर को पकड़ सकता है।

  2. दोहरी टेमा संरचना झूठे ब्रेकआउट को फ़िल्टर करने और उच्च संभावना वाले ट्रेंड ट्रेडों में प्रवेश करने में मदद करती है।

  3. विभिन्न बाजार स्थितियों के अनुकूल लचीले समायोज्य मापदंड।

  4. सरल और स्पष्ट तर्क, समझने और लागू करने में आसान, उच्च पूंजी उपयोग।

  5. प्रचलित बाजारों में, विशेष रूप से प्रचलित बाजारों में अच्छा मुनाफा कमाया जा सकता है।

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

इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः

  1. सीमाबद्ध बाजारों में व्यापारिक घाटे के लिए प्रवण।

  2. यदि पैरामीटर ठीक से सेट नहीं किए जाते हैं तो अत्यधिक झूठे संकेत उत्पन्न कर सकते हैं।

  3. अचानक घटनाओं और अल्पकालिक मूल्य आंदोलनों पर प्रभावी ढंग से प्रतिक्रिया करने में असमर्थ।

  4. देर से आने वाले संकेत अल्पकालिक अवसरों को खो सकते हैं।

  5. मजबूत उतार-चढ़ाव के विरुद्ध पद खोलने के उच्च जोखिम।

  6. बदलते बाजारों के अनुकूल होने के लिए पैरामीटर अनुकूलन में अनुभव की आवश्यकता होती है।

जोखिम प्रबंधन उपाय:

  1. अतिसंवेदनशीलता से बचने के लिए मापदंडों का अनुकूलन करें।

  2. प्रवेश संकेतों को फ़िल्टर करने के लिए अन्य संकेतक जोड़ें।

  3. एकल व्यापार हानि को सीमित करने के लिए स्टॉप लॉस का प्रयोग करें।

  4. जोखिम को नियंत्रित करने के लिए स्थिति आकार को कम करें।

  5. पैरामीटर अनुकूलन नियम और मैनुअल हस्तक्षेप तंत्र जोड़ें।

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

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. विभिन्न उत्पादों और बाजार स्थितियों के लिए तेज और धीमी लाइन मापदंडों का अनुकूलन करें। गतिशील मापदंड अनुकूलन तंत्र पेश करें।

  2. सिग्नल वैधता में सुधार के लिए एमएसीडी, बोलिंगर बैंड जैसे अन्य संकेतकों को शामिल करें।

  3. नुकसान को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों जैसे ट्रेसिंग स्टॉप, टाइम स्टॉप, एटीआर स्टॉप को जोड़ें।

  4. VIX उच्च होने पर पदों को खोलने से बचें।

  5. वॉल्यूम संकेतक जोड़ें, केवल स्पष्ट वॉल्यूम विस्तार पर प्रवेश करने पर विचार करें।

  6. धन प्रबंधन को अनुकूलित करें जैसे कि निश्चित अंश स्थिति आकार, निकासी नियंत्रण।

  7. स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग का उपयोग करें.

सारांश

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 00:00:00
period: 1d
basePeriod: 1h
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/
// © nickrober

//@version=4
strategy(title="TEMA Cross Backtest", shorttitle="TEMA_X_BT", overlay=true, commission_type=strategy.commission.percent, commission_value=0, initial_capital = 1000,  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Backtest inputs
FromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input(defval=2020, title="From Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1, maxval=12)
ToDay = input(defval=1, title="To Day", minval=1, maxval=31)
ToYear = input(defval=9999, title="To Year", minval=2017)

// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>  true

//TEMA Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")

yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")

fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=75, editable=true)

// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes
LongCloseAlert = xnRes < ynRes
ShortEntryAlert = xnRes < ynRes
ShortCloseAlert = xnRes > ynRes

// Entry & Exit signals
strategy.entry("Long", strategy.long, when = xnRes > ynRes and window()) 
strategy.close("Long", when = xnRes < ynRes)
//strategy.entry("Short", strategy.short, when = xnRes < ynRes and window())
//strategy.close("Short", when = xnRes > ynRes)

अधिक