घातीय चलती औसत क्रॉसओवर रणनीति

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

img

अवलोकन

यह एक स्वचालित ट्रेडिंग रणनीति है जो दो घातीय चलती औसत (ईएमए) के क्रॉसओवर के आधार पर अलग-अलग समय अवधि के साथ लंबी या छोटी जाती है। यह सरल तकनीकी संकेतकों का उपयोग करती है और शुरुआती लोगों के लिए सीखने और अभ्यास करने के लिए बहुत उपयुक्त है।

सिद्धांत

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

विशेष रूप से, रणनीति पहले दो ईएमए मापदंडों को परिभाषित करती हैः

  1. tf - बड़ा समय फ्रेम, डिफ़ॉल्ट दैनिक।
  2. len - ईएमए अवधि की लंबाई, डिफ़ॉल्ट 3.

फिर यह दो ईएमए की गणना करता हैः

  1. ma1 - दैनिक समय सीमा पर 3-दिवसीय ईएमए।
  2. ma2 - वर्तमान समय सीमा पर 3-दिवसीय ईएमए।

अंत में, यह निम्नलिखित आधार पर व्यापार करता हैः

  • जब ma2 > ma1, यह लंबे समय तक चला जाता है.
  • जब ma2 < ma1, यह कम हो जाता है.

विभिन्न अवधियों के दो ईएमए के बीच क्रॉसओवर के माध्यम से प्रवृत्ति की दिशा का न्याय करके, यह व्यापार को स्वचालित करता है।

लाभ

इस रणनीति के निम्नलिखित फायदे हैंः

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

जोखिम

इस रणनीति में कुछ जोखिम भी हैं:

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

स्टॉप लॉस सेट करके, मापदंडों को अनुकूलित करके, अन्य संकेतकों आदि को जोड़कर जोखिमों को कम किया जा सकता है।

अनुकूलन

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

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

निष्कर्ष

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


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Noro's Singapore Strategy", shorttitle = "Singapore str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
tf = input("D", title = "Big Timeframe")
len = input(3, minval = 1, title = "MA length")
src = input(close, title = "MA Source")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
ma1 = request.security(syminfo.tickerid, tf, sma(src, len))
ma2 = sma(src, len)
plot(ma1, linewidth = 2, color = blue, title = "Big TF MA")
plot(ma2, linewidth = 2, color = red, title = "MA")

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]

if ma2 > ma1
    strategy.entry("L", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if ma2 < ma1
    strategy.entry("S", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

अधिक