
यह रणनीति एक द्वि-समान रेखा क्रॉसिंग सिग्नल पर आधारित एक मात्रात्मक ट्रेडिंग प्रणाली है, जो बाजार की प्रवृत्ति में परिवर्तन को पहचानने के लिए अल्पकालिक और दीर्घकालिक चलती औसत के क्रॉसिंग के माध्यम से और गतिशील स्टॉप-लॉस प्रबंधन के साथ जोखिम को नियंत्रित करने के लिए है। यह रणनीति बाजार मूल्य पत्र का उपयोग करके व्यापार करती है, जो सिग्नल के ट्रिगर होने पर स्वचालित रूप से मौजूदा पदों को खाली करती है और एक नई स्थिति खोलती है, जो स्टॉप-लॉस पॉइंट सेट करके धन की सुरक्षा करती है।
रणनीति दो अलग-अलग चक्रों की सरल चलती औसत (एसएमए) का उपयोग करती है ट्रेडिंग सिग्नल के मुख्य आधार के रूप में। जब अल्पकालिक औसत रेखा पर लंबी अवधि की औसत रेखा होती है, तो सिस्टम एक मल्टी सिग्नल उत्पन्न करता है; जब अल्पकालिक औसत रेखा के नीचे लंबी अवधि की औसत रेखा होती है, तो सिस्टम एक शून्य सिग्नल उत्पन्न करता है। सिग्नल उत्पन्न होने पर सिस्टम वर्तमान स्थिति की स्थिति की जांच करता है, यदि कोई रिवर्स स्थिति है, तो स्थिति को बंद कर देता है, और फिर सिग्नल की दिशा के अनुसार एक नया स्थिति खोलता है। प्रत्येक व्यापार पूर्व निर्धारित प्रतिशत के आधार पर स्वचालित रूप से स्टॉप-लॉस बिंदु सेट करता है, जो जोखिम-लाभ अनुपात के गतिशील प्रबंधन को लागू करता है।
यह एक संरचित, स्पष्ट तर्क के साथ एक मात्रात्मक ट्रेडिंग रणनीति है। गतिशील स्टॉप और स्टॉप लॉस मैनेजमेंट जोखिम के साथ दो समानांतर क्रॉस के माध्यम से प्रवृत्ति में परिवर्तन को पकड़ने के लिए। रणनीति का लाभ यह है कि इसकी प्रणालीगतता उच्च है, जोखिम नियंत्रित है, लेकिन वास्तविक बाजार में विभिन्न प्रकार के बाजार जोखिमों का सामना करने के लिए अभी भी ध्यान रखना होगा। निरंतर अनुकूलन और सुधार के माध्यम से, रणनीति को विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन बनाए रखने की उम्मीद है। वास्तविक बाजार से पहले पर्याप्त प्रतिक्रिया परीक्षण करने और वास्तविक स्थिति के अनुसार पैरामीटर सेटिंग्स को समायोजित करने की सिफारिश की जाती है।
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTCUSD Daily Strategy - Market Orders Only", overlay=true, initial_capital=10000, currency=currency.USD)
// Configurable Inputs
stop_loss_percent = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1)
take_profit_percent = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1)
short_ma_length = input.int(title="Short MA Length", defval=9, minval=1)
long_ma_length = input.int(title="Long MA Length", defval=21, minval=1)
// Moving Averages
short_ma = ta.sma(close, short_ma_length)
long_ma = ta.sma(close, long_ma_length)
// Plotting Moving Averages
plot(short_ma, color=color.blue, title="Short MA")
plot(long_ma, color=color.red, title="Long MA")
// Buy and Sell Signals
buy_signal = ta.crossover(short_ma, long_ma)
sell_signal = ta.crossunder(short_ma, long_ma)
// Market Buy Logic
if (buy_signal and strategy.position_size <= 0)
// Close any existing short position
if (strategy.position_size < 0)
strategy.close(id="Market Sell")
// Calculate Stop Loss and Take Profit Prices
entry_price = close
long_stop = entry_price * (1 - stop_loss_percent / 100)
long_take_profit = entry_price * (1 + take_profit_percent / 100)
// Enter Long Position
strategy.entry(id="Market Buy", direction=strategy.long)
strategy.exit(id="Exit Long", from_entry="Market Buy", stop=long_stop, limit=long_take_profit)
// Alert for Market Buy
alert("Market Buy Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(long_stop) + ", Take Profit: " + str.tostring(long_take_profit), alert.freq_once_per_bar_close)
// Market Sell Logic
if (sell_signal and strategy.position_size >= 0)
// Close any existing long position
if (strategy.position_size > 0)
strategy.close(id="Market Buy")
// Calculate Stop Loss and Take Profit Prices
entry_price = close
short_stop = entry_price * (1 + stop_loss_percent / 100)
short_take_profit = entry_price * (1 - take_profit_percent / 100)
// Enter Short Position
strategy.entry(id="Market Sell", direction=strategy.short)
strategy.exit(id="Exit Short", from_entry="Market Sell", stop=short_stop, limit=short_take_profit)
// Alert for Market Sell
alert("Market Sell Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(short_stop) + ", Take Profit: " + str.tostring(short_take_profit), alert.freq_once_per_bar_close)