यह रणनीति प्रवेश और निकास निर्धारित करने के लिए 50-अवधि चिकनी चलती औसत (एसएमएमए) और 20-अवधि सरल चलती औसत (एसएमए) के बीच क्रॉसओवर संकेतों का उपयोग करती है। यह खरीद संकेत उत्पन्न करता है जब तेज एसएमए लाइन धीमी एसएमए लाइन के ऊपर पार करती है, और एसएमए लाइन एसएमए से नीचे पार होने पर संकेत बेचती है। साथ ही, रणनीति लाभ और नियंत्रण जोखिम में लॉक करने के लिए निश्चित लाभ और गतिशील स्टॉप लॉस स्तरों को पूर्व निर्धारित करती है।
इष्टतम खोजने के लिए विभिन्न मापदंडों (चक्र अवधि, फिल्टर मानदंड आदि) के संयोजनों का परीक्षण करें।
संकेतों को फ़िल्टर करने के लिए वॉल्यूम स्पाइक जैसे अन्य कारकों को शामिल करें।
इष्टतम मापदंडों को खोजने के लिए पैरामीटर अनुकूलन उपकरण का उपयोग करें।
अन्य लाभ लेने की विधियों को एकीकृत करने पर विचार करें जैसे कि ट्रेलिंग स्टॉप या लाभ अनुपात आधारित निकास।
बाजार की अस्थिरता के आधार पर गतिशील स्टॉप लॉस रेंज की गणना करें।
इस रणनीति का अपेक्षाकृत सरल तर्क है, दोहरी चलती औसत के माध्यम से प्रवृत्ति दिशाओं को कैप्चर करना। लाभ लेने और जोखिम नियंत्रण के लिए फिक्स्ड टेक प्रॉफिट और डायनेमिक स्टॉप लॉस का लचीला उपयोग जोखिम और इनाम के बीच संतुलन बनाता है। आगे पैरामीटर और तर्क अनुकूलन इस रणनीति को बाजार की स्थितियों की एक विस्तृत श्रृंखला में अनुकूलित कर सकता है।
/*backtest start: 2023-01-26 00:00:00 end: 2024-02-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true) // Define 50 SMMA smma50 = sma(close, 50) // Define 20 SMA sma20 = sma(close, 20) // Plotting the SMMA and SMA plot(smma50, color=color.blue, title="50 SMMA") plot(sma20, color=color.red, title="20 SMA") // Initialize TP and SL variables tp = 150 var float sl_price = na // Buy Signal buySignal = crossover(sma20, smma50) strategy.entry("Buy", strategy.long, when = buySignal) strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price) // Sell Signal sellSignal = crossunder(sma20, smma50) strategy.entry("Sell", strategy.short, when = sellSignal) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price) // Update stop loss level on every crossover if (buySignal or sellSignal) sl_price := close[bar_index + 1] // Plot Stop Loss level plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)