
रणनीति एक गतिशील स्थिति प्रबंधन और जोखिम नियंत्रण के संयोजन के साथ सूचकांक चलती औसत (ईएमए) क्रॉसिंग पर आधारित एक प्रवृत्ति ट्रैकिंग प्रणाली है। रणनीति बाजार की प्रवृत्ति की पहचान करने के लिए तेजी से और धीमी गति से ईएमए के क्रॉसिंग संकेतों का उपयोग करती है, जबकि प्रतिशत जोखिम की गणना के माध्यम से गतिशील रूप से व्यापार पैमाने को समायोजित करती है, और लाभप्रदता की रक्षा के लिए चलती स्टॉप का उपयोग करती है।
रणनीति का मुख्य तर्क दो अलग-अलग चक्रों पर आधारित है (डिफ़ॉल्ट 9 और 21) । जब तेजी से ईएमए ऊपर की ओर धीमी गति से ईएमए को पार करता है, तो सिस्टम कई संकेत उत्पन्न करता है; जब तेजी से ईएमए नीचे की ओर धीमी गति से ईएमए को पार करता है, तो सिस्टम बराबरी करता है। प्रत्येक लेनदेन का आकार खाते की कुल राशि के लिए एक निश्चित जोखिम अनुपात (डिफ़ॉल्ट 1%) पर आधारित होता है, जबकि गतिशील रूप से गणना की जाती है।
यह एक पूर्ण व्यापार प्रणाली है जो क्लासिक तकनीकी विश्लेषण विधियों को आधुनिक जोखिम प्रबंधन अवधारणाओं के साथ जोड़ती है। रणनीति गतिशील स्थिति प्रबंधन और मोबाइल स्टॉपलॉस के माध्यम से जोखिम को नियंत्रित करती है, जबकि ईएमए क्रॉसिंग का उपयोग करके ट्रेंडिंग अवसरों को पकड़ती है। हालांकि कुछ अंतर्निहित सीमाएं हैं, लेकिन अनुशंसित अनुकूलन दिशा के माध्यम से रणनीति की स्थिरता और अनुकूलनशीलता को और बढ़ाया जा सकता है। रणनीति विशेष रूप से जोखिम-नियंत्रित लंबी अवधि के ट्रेंडिंग ट्रेडिंग की खोज के लिए उपयुक्त है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bitcoin Exponential Profit Strategy", overlay=true)
// User settings
fastLength = input.int(9, title="Fast EMA Length", minval=1)
slowLength = input.int(21, title="Slow EMA Length", minval=1)
riskPercent = input.float(1, title="Risk % Per Trade", step=0.1) / 100
rewardMultiplier = input.float(2, title="Reward Multiplier (R:R)", step=0.1)
trailOffsetPercent = input.float(0.5, title="Trailing Stop Offset %", step=0.1) / 100
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Account balance and dynamic position sizing
capital = strategy.equity
riskAmount = capital * riskPercent
// Define Stop Loss and Take Profit Levels
stopLossLevel = close * (1 - riskPercent)
takeProfitLevel = close * (1 + rewardMultiplier * riskPercent)
// Trailing stop offset
trailOffset = close * trailOffsetPercent
// Entry Condition: Bullish Crossover
if ta.crossover(fastEMA, slowEMA)
positionSize = riskAmount / math.max(close - stopLossLevel, 0.01) // Prevent division by zero
strategy.entry("Long", strategy.long, qty=positionSize)
strategy.exit("TakeProfit", from_entry="Long", stop=stopLossLevel, limit=takeProfitLevel, trail_offset=trailOffset)
// Exit Condition: Bearish Crossunder
if ta.crossunder(fastEMA, slowEMA)
strategy.close("Long")
// Labels for Signals
if ta.crossover(fastEMA, slowEMA)
label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_up)
if ta.crossunder(fastEMA, slowEMA)
label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white, style=label.style_label_down)