
यह रणनीति 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)