
यह रणनीति दो तकनीकी संकेतकों को जोड़ती है, पोलिंग बैंड और इंडेक्स मूविंग एवरेज (ईएमए), जो बाजार में अल्पकालिक मूल्य उतार-चढ़ाव को पकड़ने के लिए है। पोलिंग बैंड को कीमतों की अस्थिरता को मापने के लिए उपयोग किया जाता है, जबकि ईएमए को प्रवृत्ति की दिशा का आकलन करने के लिए उपयोग किया जाता है। जब समापन मूल्य ईएमए को तोड़ता है और ऊपर की ओर बढ़ता है, तो यह संकेत देता है कि ऊपर की ओर बढ़ना जारी रह सकता है, तो अधिक स्थिति खोलें; इसके विपरीत, जब समापन मूल्य ईएमए को तोड़ता है और नीचे की ओर गिरता है, तो यह संकेत देता है कि नीचे की ओर बढ़ना जारी रह सकता है, तो स्थिति खोलें। यह रणनीति नीचे की ओर जाने वाले जोखिम को नियंत्रित करने और मुनाफे को लॉक करने के लिए स्टॉप लॉस और स्टॉप्स जैसे जोखिम प्रबंधन तकनीकों को भी जोड़ती है। कुल मिलाकर, यह रणनीति स्पष्ट रूप से परिभाषित प्रवेश और निकास स्थितियों पर आधारित है, जो व्यापारियों को एक व्यापारिक प्रणाली प्रदान करती है जो व्यापार की सफलता की संभावना को बढ़ाता है।
इस रणनीति का मूल पोलिंग बैंड और ईएमए के संयोजन का उपयोग करके संभावित व्यापारिक अवसरों की पहचान करना है। पोलिंग बैंड तीन लाइनों से बना हैः मध्य ट्रैक (आमतौर पर एक सरल चलती औसत), ऊपरी ट्रैक (आमतौर पर एक निश्चित गुणांक के मानक अंतर के साथ) और निचला ट्रैक (आमतौर पर एक निश्चित गुणांक के मानक अंतर के साथ) । कीमतों के ऊपर या नीचे की ओर चलने से आमतौर पर बाजार में भारी उतार-चढ़ाव होता है, जबकि मध्य ट्रैक के पास कीमतें चलती हैं। ईएमए एक ट्रेंड ट्रैकिंग सूचक है, जो हाल के मूल्य परिवर्तनों को अधिक वजन देता है, और इसलिए सरल चलती औसत की तुलना में मूल्य परिवर्तनों की प्रतिक्रिया के लिए अधिक संवेदनशील है।
इस रणनीति का लेन-देन तर्क इस प्रकार है:
पोलिंग बैंड और ईएमए ट्रेंड ट्रैकिंग रणनीति बाजार में अल्पकालिक मूल्य उतार-चढ़ाव को पकड़ने के लिए एक व्यवस्थित तरीका प्रदान करती है, जो कि अस्थिरता और ट्रेंड ट्रैकिंग संकेतकों के संयोजन के माध्यम से होती है। इस रणनीति का लाभ यह है कि यह बाजार की प्रवृत्तियों को प्रभावी ढंग से पहचानने और ट्रैक करने में सक्षम है, जबकि जोखिम प्रबंधन और स्थिति प्रबंधन तकनीकों के साथ संयुक्त है। हालांकि, यह रणनीति पैरामीटर संवेदनशीलता, बाजार के शोर, प्रवृत्ति उलटने जैसे जोखिमों का भी सामना करती है, जिसमें पैरामीटर अनुकूलन, प्रवृत्ति की पुष्टि, गतिशील स्टॉप लॉस स्टॉप, स्थिति प्रबंधन अनुकूलन और बहु-समय विश्लेषण ढांचे के माध्यम से सुधार और अनुकूलन की आवश्यकता होती है। कुल मिलाकर, पोलिंग बैंड और ईएमए ट्रेंड ट्रैकिंग रणनीति व्यापारियों को एक व्यवहार्य व्यापारिक ढांचा प्रदान करती है, लेकिन वास्तविक अनुप्रयोगों में विशिष्ट बाजार स्थितियों और व्यापार के आधार पर उचित लक्ष्य और अनुकूलन की आवश्यकता होती है।
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and EMA Strategy", overlay=true)
// Bollinger Bands Inputs
bb_length = input.int(20, minval=1, title="Bollinger Bands Length")
bb_mult = input.float(2.0, minval=0.001, maxval=50, title="Bollinger Bands StdDev")
bb_src = input(close, title="Bollinger Bands Source")
bb_offset = input.int(0, title="Bollinger Bands Offset", minval=-500, maxval=500)
// EMA Inputs
ema_period = input.int(9, minval=1, title="EMA Period")
ema_src = input(close, title="EMA Source")
ema_offset = input.int(0, title="EMA Offset", minval=-500, maxval=500)
// Calculate Bollinger Bands
bb_basis = ta.sma(bb_src, bb_length)
bb_dev = bb_mult * ta.stdev(bb_src, bb_length)
bb_upper = bb_basis + bb_dev
bb_lower = bb_basis - bb_dev
// Plot Bollinger Bands
plot(bb_basis, "BB Basis", color=color.blue, offset=bb_offset)
p1 = plot(bb_upper, "BB Upper", color=color.red, offset=bb_offset)
p2 = plot(bb_lower, "BB Lower", color=color.green, offset=bb_offset)
fill(p1, p2, title="BB Background", color=color.rgb(33, 150, 243, 95))
// Calculate EMA
ema_value = ta.ema(ema_src, ema_period)
// Plot EMA
plot(ema_value, title="EMA", color=color.orange, offset=ema_offset)
// Strategy Conditions
long_condition = ta.crossover(close, ema_value) and close > bb_upper
short_condition = ta.crossunder(close, ema_value) and close < bb_lower
// Define Stop Loss and Take Profit Levels
stop_loss_pct = input.float(0.5, title="Stop Loss (%)")
take_profit_pct = input.float(1.0, title="Take Profit (%)")
stop_loss_level_long = close * (1 - stop_loss_pct / 100)
take_profit_level_long = close * (1 + take_profit_pct / 100)
stop_loss_level_short = close * (1 + stop_loss_pct / 100)
take_profit_level_short = close * (1 - take_profit_pct / 100)
// Calculate Position Size Based on Risk Per Trade
risk_per_trade = input.float(1.0, title="Risk Per Trade (%)")
capital_at_risk = strategy.equity * risk_per_trade / 100
risk_per_unit_long = math.abs(close - stop_loss_level_long)
risk_per_unit_short = math.abs(close - stop_loss_level_short)
position_size_long = capital_at_risk / risk_per_unit_long
position_size_short = capital_at_risk / risk_per_unit_short
// Enter Long and Short Trades
if long_condition
strategy.entry("Long", strategy.long, qty=position_size_long)
strategy.exit("Take Profit", "Long", limit=take_profit_level_long)
strategy.exit("Stop Loss", "Long", stop=stop_loss_level_long)
if short_condition
strategy.entry("Short", strategy.short, qty=position_size_short)
strategy.exit("Take Profit", "Short", limit=take_profit_level_short)
strategy.exit("Stop Loss", "Short", stop=stop_loss_level_short)