बहु-अवधि ईएमए क्रॉसओवर मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-27 17:09:23
टैगः

img

अवलोकन

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

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

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

लाभ विश्लेषण

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

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

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

अनुकूलन दिशा

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

निष्कर्ष

कुल मिलाकर, यह

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


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
start = timestamp(2023,1,1,0,0)
end = timestamp(2024,1,1,0,0)
strategy("Tester Emas", overlay = true)

periodo1 = input(10,"Periodo_1")
periodo2 = input(100,"Periodo_2")
periodo3 = input(200,"Periodo_3")

//definir media moviles
ema1 = ta.ema(close,periodo1)
ema2 = ta.ema(close,periodo2)
ema3 = ta.ema(close,periodo3)

//Desde
desde_a = input(2000, title = "Desde año")
desde_m = input.int(   1, title = "Desde mes", minval=1, maxval = 12)
desde_d = input.int(   1, title = "Desde dia", minval=1, maxval = 31)

//Hasta
hasta_a = input(2030, title = "Hasta año")
hasta_m = input.int(   1, title = "Hasta mes", minval=1, maxval = 12)
hasta_d = input.int(   1, title = "Hasta dia", minval=1, maxval = 31)

FechaValida() => true

//Condicion de entradas
longCondition = ta.crossover(ema1, ema2)
shortCondition = ta.crossunder(ema1,ema2)

alcista = (ema1 > ema2) and (ema2 > ema3)
comprado =strategy.position_size > 0



//Comprar o vender segun las condiciones de entradas

//if (longCondition)
if (not comprado and alcista and FechaValida())
    // Round redondea mi capital para comprar las acciones en cantidades enteras
    cantidad = math.round(strategy.equity/ close)
    strategy.entry("Compra", strategy.long, cantidad)
//if (shortCondition)
if (comprado and not alcista and FechaValida())
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta")

if (comprado and not FechaValida())
    //Cierre x finalizacion de periodo
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta x fin")

//Graficar las medias moviles
plot(ema1, color = color.green, title = "Ema1")
plot(ema2, color = color.yellow, title = "Ema2")
plot(ema3, color = color.red, title = "Ema2")
//GMarca los cruces de medias
bgcolor(longCondition ? color.green : na)
bgcolor(shortCondition ? color.red : na)

अधिक