
यह रणनीति मूविंग एवरेज क्रॉसओवर संकेतों पर आधारित एक स्वचालित ट्रेडिंग प्रणाली है, जो एक निश्चित जोखिम-वापसी अनुपात निर्धारित करके ट्रेडिंग प्रदर्शन को अनुकूलित करती है। यह रणनीति बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए तीव्र गतिमान औसत (फास्ट एमए) और धीमी गतिमान औसत (स्लो एमए) के क्रॉसओवर का उपयोग करती है, और स्थिति जोखिम का प्रबंधन करने के लिए पूर्व निर्धारित स्टॉप लॉस बिंदु और लाभ लक्ष्य को जोड़ती है।
रणनीति का मुख्य तर्क विभिन्न अवधियों (10 अवधियों और 30 अवधियों) के दो चलती औसतों द्वारा उत्पन्न क्रॉसओवर संकेतों पर आधारित है। जब तीव्र रेखा धीमी रेखा को पार करती है, तो सिस्टम एक लम्बा सिग्नल उत्पन्न करता है; जब तीव्र रेखा धीमी रेखा को पार करती है, तो सिस्टम एक छोटा सिग्नल उत्पन्न करता है। प्रत्येक स्थिति खुलने के बाद, सिस्टम स्वचालित रूप से पूर्व निर्धारित 2% स्टॉप लॉस अनुपात के आधार पर स्टॉप लॉस स्थिति की गणना करेगा, और 2.5 गुना जोखिम-वापसी अनुपात के अनुसार लाभ लक्ष्य निर्धारित करेगा। यह दृष्टिकोण सुनिश्चित करता है कि प्रत्येक व्यापार का जोखिम-लाभ प्रोफ़ाइल निश्चित हो।
यह रणनीति क्लासिक तकनीकी विश्लेषण विधियों को आधुनिक जोखिम प्रबंधन अवधारणाओं के साथ जोड़कर एक संपूर्ण ट्रेडिंग प्रणाली का निर्माण करती है। यद्यपि इसमें कुछ सीमाएं हैं, लेकिन निरंतर अनुकूलन और सुधार के माध्यम से, इस रणनीति से विभिन्न बाजार परिवेशों में स्थिर प्रदर्शन बनाए रखने की उम्मीद की जाती है। महत्वपूर्ण बात यह है कि वास्तविक ट्रेडिंग परिणामों के आधार पर पैरामीटर सेटिंग्स को लगातार समायोजित किया जाए और वर्तमान बाजार परिवेश के लिए सबसे उपयुक्त कॉन्फ़िगरेशन ढूंढा जाए।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SOL 15m 2.5 R:R Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1)
//---------------------------------------------------
// User Inputs
//---------------------------------------------------
// sym = input.symbol("swap", "Symbol")
timeframe = input.timeframe("15", "Timeframe")
fastLength = input.int(10, "Fast MA Length")
slowLength = input.int(30, "Slow MA Length")
stopLossPerc = input.float(2.0, "Stop Loss %", step=0.1) // This is an example; adjust to achieve ~45% win rate
RR = input.float(2.5, "Risk to Reward Ratio", step=0.1)
//---------------------------------------------------
// Data Sources
//---------------------------------------------------
price = request.security("swap", timeframe, close)
// Compute moving averages
fastMA = ta.sma(price, fastLength)
slowMA = ta.sma(price, slowLength)
// Entry Conditions
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)
//---------------------------------------------------
// Stop Loss and Take Profit Calculation
//---------------------------------------------------
var entryPrice = 0.0
if (strategy.position_size == 0) // not in a position
if longCondition
// Long entry
entryPrice := price
strategy.entry("Long", strategy.long)
if shortCondition
// Short entry
entryPrice := price
strategy.entry("Short", strategy.short)
if strategy.position_size > 0
// We are in a long position
if strategy.position_avg_price > 0 and strategy.position_size > 0
longStop = strategy.position_avg_price * (1 - stopLossPerc/100)
longTarget = strategy.position_avg_price * (1 + (stopLossPerc/100)*RR)
strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget)
if strategy.position_size < 0
// We are in a short position
if strategy.position_avg_price > 0 and strategy.position_size < 0
shortStop = strategy.position_avg_price * (1 + stopLossPerc/100)
shortTarget = strategy.position_avg_price * (1 - (stopLossPerc/100)*RR)
strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget)
//---------------------------------------------------
// Plotting
//---------------------------------------------------
plot(fastMA, color=color.new(color.teal, 0), title="Fast MA")
plot(slowMA, color=color.new(color.orange, 0), title="Slow MA")