
यह रणनीति सरल चलती औसत (एसएमए) के स्केलेबल पर आधारित है, जो उछाल की पहचान करती है और जब कुछ शर्तें पूरी होती हैं तो अधिक स्थिति खोलती है। साथ ही, एक वैकल्पिक ट्रैकिंग स्टॉप लॉस तंत्र पेश किया गया है, जो स्टॉप लॉस की कीमतों को गतिशील रूप से समायोजित करके लाभ की रक्षा करता है। इसके अलावा, यह रणनीति स्टॉप लॉस के बाद फिर से प्रवेश करने की शर्तों को भी सेट करती है, ताकि कीमतें बहुत अधिक होने पर स्थिति को फिर से स्थापित करने से रोका जा सके। इन सुविधाओं के साथ, यह रणनीति प्रभावी रूप से उछाल को पकड़ने, जोखिम को नियंत्रित करने और अनुशासित व्यापार को लागू करने में सक्षम है।
यह रणनीति SMA ट्रेंड ट्रैकिंग, स्टॉप लॉस ट्रैकिंग और अनुशासनात्मक री-एंट्री जैसे तंत्रों का उपयोग करती है, जो बढ़ती प्रवृत्ति को पकड़ने के साथ-साथ जोखिम को नियंत्रित करती है। पैरामीटर सेटिंग को अनुकूलित करने, जोखिम प्रबंधन को बढ़ाने, द्वि-पक्षीय व्यापार और बहु-समय फ्रेम की पुष्टि का समर्थन करने जैसी विधियों के माध्यम से रणनीति की अनुकूलन क्षमता और स्थिरता को और बढ़ाया जा सकता है।
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Incline Strategy with Optional Trailing Stop-Loss", overlay=true, calc_on_every_tick=true)
// Input parameters
windowSize = input.int(20, title="Window Size")
maLength = input.int(150, title="Moving Average Length")
minSlope = input.float(0.1, title="Minimum Slope")
useTrailingStop = input.bool(true, title="Use Trailing Stop-Loss")
trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100
// Calculate the moving average
ma = ta.sma(close, maLength)
// Calculate the slope of the moving average over the window size
previousMa = ta.sma(close[windowSize], maLength)
slopeMa = (ma - previousMa) / windowSize
// Check conditions
isAboveMinSlope = slopeMa > minSlope
isAboveMa = close > ma
// Buy condition
buyCondition = isAboveMinSlope and isAboveMa
// Execute strategy
if (buyCondition and strategy.opentrades == 0)
strategy.entry("Long", strategy.long)
// Trailing stop-loss (optional)
if (strategy.opentrades == 1 and useTrailingStop and isAboveMa)
// Calculate the trailing stop price
trailPrice = close * (1 - trailingStopPercentage)
// Use the built-in strategy.exit function with the trailing stop
strategy.exit("Trail Stop", "Long", stop=trailPrice)
// Exit condition
sellCondition = ta.crossover(ma, close)
if (sellCondition and strategy.opentrades == 1)
strategy.close("Long")