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


निर्माण तिथि: 2024-01-25 14:04:23 अंत में संशोधित करें: 2024-01-25 14:04:23
कॉपी: 0 क्लिक्स: 659
1
ध्यान केंद्रित करना
1617
समर्थक

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

अवलोकन

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

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

इस रणनीति का मूल तर्क द्वि-सूचक चलती औसत पर आधारित है। सूचक 1 अल्पकालिक 20 दिन ईएमए है, सूचक 2 दीर्घकालिक 50 दिन ईएमए है। जब अल्पकालिक ईएमए नीचे से लंबे समय तक ईएमए को पार करता है, तो एक खरीद संकेत उत्पन्न होता है; जब अल्पकालिक ईएमए ऊपर से नीचे से लंबे समय तक ईएमए को पार करता है, तो एक बेचने का संकेत उत्पन्न होता है। इस प्रकार ईएमए के विभिन्न मापदंडों के क्रॉसिंग का उपयोग करके बाजार में खरीदने और बेचने के बिंदु का आकलन किया जाता है।

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

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

श्रेष्ठता विश्लेषण

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

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

  • 1. ईएमए क्रॉस सिग्नल में झूठे सिग्नल हो सकते हैं, और वोर्टेक्स क्वांटिटेटिव इंडिकेटर झूठे सिग्नल को पूरी तरह से फ़िल्टर नहीं कर सकता है, इसलिए कुछ हानि की संभावना है
  • 2. एक बड़ी ब्लैक स्वान घटना के कारण व्यापारिक घाटे में वृद्धि हो सकती है
  • 3. वापस लेने के नियंत्रण पर निर्भरता रोकें, यदि रोक को तोड़ना अधिक नुकसान का कारण बनता है

अनुकूलन दिशाः

  • 1. EMA मापदंडों को समायोजित करने के लिए परीक्षण किया जा सकता है, क्रॉस सिग्नल का अनुकूलन
  • 2. और अधिक संकेतकों के साथ फ़िल्टर किया जा सकता है
  • 3. मशीन सीखने एल्गोरिदम के माध्यम से स्वचालित रूप से अनुकूलित करने के लिए पैरामीटर

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-01-18 00:00:00
end: 2024-01-24 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/
// © smottybugger 

//@version= 5
strategy("The  Averages Moving_X_Vortex", shorttitle="2.5billion BTC lol" , calc_on_order_fills=true, calc_on_every_tick=true, commission_type=strategy.commission.percent, commission_value=0.02, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, margin_long=0, margin_short=0,overlay=true)
// Dual Vortex
period_1 = input(15, "short Time")
period_2 = input(25, "long time")
VMP = math.sum(math.abs(high - low[3]), period_1)
VMM = math.sum(math.abs(low - high[1]), period_2)
STR = math.sum(ta.atr(1), period_1)
STR2 = math.sum(ta.atr(1), period_2)
VXpower= (input(5,"Vortex Power")/10000)*close
shorterV =(VMP / STR)*VXpower
longerV = (VMM / STR2)*VXpower

// MACross
shortlen = input(20, "ShortMa")
longlen = input(29, "LongMA")
shorterMA = ta.sma(close, shortlen)
longerMA = ta.sma(close, longlen)

// Vortex "MACross Stabilized"
Varance = input(1, "Vortex Stabilize")
Vpercent = (Varance / 100)
shortV= ((((shorterMA-close)* Vpercent)+shorterV)/2)+close
longV = ((((longerMA -close )*Vpercent)+longerV)/2)+close

//MAcross vortex stabilized
Marance = input(1, "MACross Stabilize")
MApercent = Marance / 100
shortMA = ((((shorterMA-close)*MApercent)+shorterV)/2)+close
longMA = ((((longerMA-close)*MApercent)+longerV)/2)+close

//VMXadveraged Moving cross adveraged
VMXL=(longV+longMA)/2
VMXS=(shortV+shortMA)/2
VXcross= ta.cross(VMXS,VMXL) ? VMXS : na
VMXcross= ta.cross(VMXS,VMXL)

//plot
plot(VMXS,"BUY",color=#42D420)
plot(VMXL,"SELL",color=#e20420)
crossV= ta.cross(shortV, longV) ? shortV : na
plot(shortV ,"shortV", color=#42D420)
plot(longV,"longV", color=#e20420)
plot(crossV,"crossV", color=#2962FF, style=plot.style_cross, linewidth=4)
crossMA = ta.cross(shortMA, longMA) ? shortMA : na
plot(shortMA,"shortMA", color=#42D420)
plot(longMA,"longMA", color=#e20420)
plot(crossMA,"crossMA", color=#2962FF, style=plot.style_cross, linewidth=4)
plot(VXcross,"VMXcross",color=#2962FF, style= plot.style_cross,linewidth=4)
plot(close,color=#999999)

// Vortex Condistyle
is_Vlong =shortV< longV
is_Vshort =shortV>longV


// Vortex commands
Vlong =  ta.crossunder(longV, shortV)
Vshort =ta.crossover(shortV,longV)
VorteX = ta.cross(longV, shortV)

// MACross Conditions
is_MAlong = shortMA < longV
is_MAshort = shortMA > shortV


//VMX Conditions
is_VMXlong=VMXS<VMXL
is_VMXshort=VMXS>VMXL

// MA commands
MAlong = ta.crossunder(shortMA, longV)
MAshort =ta.crossover(shortMA, shortV)
MAcross =  ta.cross(shortMA, longMA)
 
//VMX COMMANss
VMXBUY=ta.crossover( VMXS,VMXL)
VMXSELL=ta.crossunder(VMXS,VMXL)

// Close Crossing PositionLMXs

CS=is_MAshort or is_VMXshort
CL= is_MAlong or is_VMXlong
OS=MAshort or VMXSELL
OL=MAlong or VMXBUY


if VMXcross
    strategy.close_all ("closed")

//if CS and  OL
    strategy.close("Short",comment="Short Closed")


//if CL and  OS
    strategy.close("Long",comment="Long Closed" ) 

//CA1= is_MAcross and is_VorteX
//if CA1
   // strategy.close_all(comment="X2X")

// Defalongyntry qty

if is_VMXlong and VMXSELL
    strategy.entry("sell",strategy.short)


if is_VMXshort and VMXBUY
    strategy.entry("buy",strategy.long)



// Stop Losses & Taking Profit
sllp = input(0, "Stop Loss Long")
sll = (1 - sllp / 100) * strategy.position_avg_price
is_sll = input(true, "Stop Long")

tplp = input(0, "Take Profit Long")
tpl = (1 + tplp / 100) * strategy.position_avg_price
is_tpl = input(true, "Take Long")

slsp = input(0, "Stop Loss Short")
sls = (1 + slsp / 100) * strategy.position_avg_price
is_sls = input(true, "Stop Short")

tpsp = input(0, "Take Profit Short")
tps = (1 - tpsp / 100) * strategy.position_avg_price
is_tps = input(true, "Take Short")

if (is_sll or is_sls) 
    strategy.close("Stop Losses", qty_percent=100)

if (is_tpl or is_tps) 
    strategy.close("Take Profits", qty_percent=100)


 //Strategy Backtest
//plot(strategy.equity, "Equity", color=color.red, linewidth=2, style=plot.style_areabr)