इस रणनीति का नाम
यह रणनीति दो एसएमए लाइनों, एसएमए 1 और एसएमए 2 का उपयोग करती है। एसएमए 1 की लंबाई 1 है और एसएमए 2 की लंबाई 3 है। इन दो एसएमए लाइनों की गणना करके, जब एसएमए 1 एसएमए 2 के ऊपर से गुजरता है, तो एक खरीद संकेत उत्पन्न होता है। जब एसएमए 1 एसएमए 2 के नीचे से गुजरता है, तो एक बिक्री संकेत उत्पन्न होता है। इसका उद्देश्य मूल्य की प्रवृत्ति को पकड़ना है।
विशेष रूप से, रणनीति ta.crossover और ta.crossunder फ़ंक्शन के माध्यम से SMA लाइनों के बीच क्रॉसओवर संबंध का न्याय करती है, जो longCondition और shortCondition बुलियन चर उत्पन्न करती है। जब longCondition सच होता है, तो एक खरीद संकेत उत्पन्न होता है। जब shortCondition सच होता है, तो एक बिक्री संकेत उत्पन्न होता है। रणनीति संकेत बिंदु पर बाजार में प्रवेश करेगी और संचित मुनाफे को ट्रैक करने के लिए profitAccumulated और lastTradeProfit चर को अपडेट करेगी।
जोखिम नियंत्रण के लिए, रणनीति निश्चित बिंदुओं पर आधारित स्टॉप लॉस तंत्र भी निर्धारित करती है। यदि मूल्य प्रवेश बिंदु से निर्धारित स्टॉप लॉस बिंदु तक पहुंचता है, तो यह स्टॉप लॉस ऑर्डर के बंद होने को ट्रिगर करेगा।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह मूल्य रुझानों में परिवर्तन को प्रभावी ढंग से पकड़ने के लिए एसएमए लाइनों की प्रवृत्ति ट्रैकिंग क्षमता का उपयोग करता है। एकल लाइन रणनीतियों की तुलना में, डबल लाइन रणनीतियाँ प्रवृत्ति दिशा निर्धारित करने और इस प्रकार ट्रेडिंग संकेत उत्पन्न करने के लिए लाइनों के बीच क्रॉसओवर संबंध का उपयोग कर सकती हैं। इसके अलावा, स्टॉप लॉस तंत्र एकल नुकसान को प्रभावी ढंग से नियंत्रित कर सकता है।
इस रणनीति का मुख्य जोखिम यह है कि चलती औसत रणनीति झूठे संकेत उत्पन्न करने की प्रवृत्ति रखती है। जब कीमत में उतार-चढ़ाव होता है, तो एसएमए लाइन अक्सर पार हो सकती है, जिसके परिणामस्वरूप अनावश्यक ट्रेडिंग संकेत हो सकते हैं। इस बिंदु पर, प्रभावी स्टॉप लॉस के बिना बड़े नुकसान हो सकते हैं।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
बैकटेस्टिंग के माध्यम से चलती औसत लंबाई के सर्वोत्तम संयोजन को खोजने के लिए SMA मापदंडों को समायोजित करें।
झूठे संकेतों से बचने के लिए चलती औसत क्रॉसओवर बिंदु के पास फ़िल्टरिंग स्थितियों को बढ़ाएं और मूल्य की सफलता की स्थिति निर्धारित करें।
विभिन्न प्रकार के स्टॉप लॉस विधियों का परीक्षण किया जा सकता है, जैसे कि मोबाइल स्टॉप लॉस, लंबित ऑर्डर स्टॉप लॉस आदि।
पूंजी उपयोग दक्षता को अनुकूलित करने के लिए स्थिति आकार नियंत्रण जोड़ें।
कुल मिलाकर, यह एक विशिष्ट प्रवृत्ति के बाद की रणनीति है। यह मूल्य प्रवृत्ति की दिशा निर्धारित करने और प्रवृत्ति के मोड़ पर प्रवेश करने के लिए एसएमए लाइनों के बीच सफलता संबंध का उपयोग करता है। साथ ही, रणनीति में जोखिमों को नियंत्रित करने के लिए एक निश्चित स्टॉप लॉस फ़ंक्शन है। रणनीति सरल, समझने में आसान है, लेकिन वास्तविक व्यापार में स्थिर लाभ बनाने से पहले अभी भी गहन परीक्षण और अनुकूलन की आवश्यकता है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cesarpieres72 //@version=5 strategy("Estrategia SMA y Ganancias Acumuladas con Stop Loss", shorttitle="SMA_Ganancias", overlay=true) // Definir las variables de las medias móviles sma1_length = input(1, title="SMA 1 Longitud") sma2_length = input(3, title="SMA 2 Longitud") // Calcular las medias móviles sma1 = ta.sma(close, sma1_length) sma2 = ta.sma(close, sma2_length) // Condiciones para las señales de compra y venta longCondition = ta.crossover(sma1, sma2) shortCondition = ta.crossunder(sma1, sma2) // Acumular las ganancias var float profitAccumulated = 0.0 var float lastTradeProfit = na if (longCondition) strategy.entry("Buy", strategy.long) lastTradeProfit := strategy.netprofit - (profitAccumulated + lastTradeProfit) profitAccumulated := strategy.netprofit if (shortCondition) strategy.entry("Sell", strategy.short) lastTradeProfit := strategy.netprofit - (profitAccumulated + lastTradeProfit) profitAccumulated := strategy.netprofit // Mostrar las señales en el gráfico plot(sma1, color=color.blue, title="SMA 1") plot(sma2, color=color.red, title="SMA 2") // Añadir stop loss stopLossPips = input(5000, title="Stop Loss (en pips)") stopLossPrice = strategy.position_avg_price * (1 - stopLossPips * syminfo.mintick) strategy.exit("SL", "Buy", stop=stopLossPrice)