इस रणनीति का नाम
इस रणनीति का मूल तर्क दोहरे ईएमए क्रॉसओवर पर आधारित है। संकेतक 1 20 दिन का ईएमए है और संकेतक 2 50 दिन का ईएमए है। एक खरीद संकेत तब उत्पन्न होता है जब कम अवधि का ईएमए नीचे से दीर्घकालिक ईएमए को पार करता है। एक बिक्री संकेत तब उत्पन्न होता है जब कम अवधि का ईएमए ऊपर से दीर्घकालिक ईएमए से नीचे पार करता है। इसलिए विभिन्न मापदंडों के साथ ईएमए के क्रॉसओवर का उपयोग बाजार में प्रवेश और निकास बिंदुओं को निर्धारित करने के लिए किया जाता है।
इसके अलावा, वर्टेक्स संकेतक का उपयोग प्रवृत्ति की पहचान करने और ट्रेडिंग संकेत उत्पन्न करने में मदद करने के लिए किया जाता है। वर्टेक्स संकेतक उच्चतम मूल्य और कल के बंद होने, और सबसे कम मूल्य और कल के खुले होने के बीच अंतर की तुलना करके तेजी या मंदी की गति निर्धारित करता है, 1 दिन और 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)