
रणनीति एक द्वि-सूचक चलती औसत (ईएमए) क्रॉसिंग पर आधारित एक प्रवृत्ति ट्रैकिंग प्रणाली है, जो ट्रेडिंग रिटर्न को अनुकूलित करने के लिए एक चरणबद्ध निकास तंत्र के साथ संयुक्त है। रणनीति 9 चक्र और 21 चक्र ईएमए का उपयोग तेज और धीमी रेखा के रूप में करती है, उनके क्रॉसिंग के माध्यम से बाजार के रुझान में बदलाव की पहचान करती है, जबकि जोखिम और लाभ को संतुलित करने के लिए दो चरणों की स्थिति निकास योजना का उपयोग करती है।
रणनीति का केंद्रीय तर्क तेजी से ईएमए ((9 चक्र) और धीमी गति से ईएमए ((21 चक्र) के क्रॉसिंग सिग्नल पर आधारित है। जब तेज लाइन धीमी गति से गुजरती है, तो सिस्टम 0.02 हाथों से मल्टीहेड पोजीशन खोलता है; जब तेज लाइन धीमी गति से गुजरती है, तो सिस्टम 0.02 हाथों से खाली हेड पोजीशन खोलता है। स्थिति रखने के दौरान, रणनीति दो चरणों में बाहर निकलने की तंत्र का उपयोग करती हैः पहला चरण आधा स्थिति को समतल करता है जब मुनाफा 200 तक पहुंचता है ((0.01 हाथ); दूसरा चरण शेष स्थिति को समतल करता है जब एक रिवर्स क्रॉसिंग सिग्नल होता है। इस कदम से बाहर निकलने का उद्देश्य लाभ के कुछ हिस्सों को लॉक करना है, जबकि ऊपर की जगह को संरक्षित करना है।
यह एक पूर्ण व्यापार प्रणाली है जो क्लासिक रैखिक क्रॉसिंग रणनीति को आधुनिक स्थिति प्रबंधन के साथ जोड़ती है। रणनीति चरणबद्ध बाहर निकलने के तंत्र के माध्यम से पारंपरिक रैखिक क्रॉसिंग रणनीति की लाभप्रदता को बढ़ाती है, लेकिन अभी भी व्यापारियों को विशिष्ट बाजार की स्थिति और अपनी जोखिम सहनशीलता के अनुसार उचित समायोजन करने की आवश्यकता है। भविष्य में अनुकूलन दिशा मुख्य रूप से संकेत फ़िल्टरिंग और गतिशील जोखिम प्रबंधन दोनों पहलुओं पर केंद्रित है।
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("EMA Crossover with Partial Exit", overlay=true, default_qty_type=strategy.cash, default_qty_value=50)
// Define lot sizes
lotSize = 0.02 // Initial trade size
partialLot = 0.01 // Half quantity to close at 20 pips profit
profitTarget = 200 // 20 pips = 200 points (for Forex, adjust accordingly)
// Define EMA lengths
fastLength = 9
slowLength = 21
// Compute EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Define crossover conditions
longEntry = ta.crossover(fastEMA, slowEMA) // Buy when 9 EMA crosses above 21 EMA
shortEntry = ta.crossunder(fastEMA, slowEMA) // Sell when 9 EMA crosses below 21 EMA
// Track trade state
var float entryPrice = na
var bool inTrade = false
var bool isLong = false
// Entry Logic (Enter with 0.02 lot size)
if (longEntry and not inTrade)
strategy.entry("Long", strategy.long, qty=lotSize)
entryPrice := close
inTrade := true
isLong := true
if (shortEntry and not inTrade)
strategy.entry("Short", strategy.short, qty=lotSize)
entryPrice := close
inTrade := true
isLong := false
// Partial Exit Logic (Close 0.01 lot after 20 pips profit)
if (isLong and inTrade and close >= entryPrice + profitTarget * syminfo.mintick)
strategy.close("Long", qty=partialLot)
if (not isLong and inTrade and close <= entryPrice - profitTarget * syminfo.mintick)
strategy.close("Short", qty=partialLot)
// Full Exit (Close remaining 0.01 lot at the next major crossover)
if (isLong and shortEntry)
strategy.close("Long") // Close remaining position
inTrade := false
if (not isLong and longEntry)
strategy.close("Short") // Close remaining position
inTrade := false
// Plot EMAs
plot(fastEMA, color=color.blue, title="9 EMA")
plot(slowEMA, color=color.red, title="21 EMA")
// Mark Buy/Sell Signals
plotshape(series=longEntry, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal")
plotshape(series=shortEntry, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal")