यह रणनीति पोलिंग बैंड, अपेक्षाकृत मजबूत सूचकांक ((आरएसआई) और यादृच्छिक आरएसआई के तीन तकनीकी संकेतकों को जोड़ती है, जो बाजार में ओवरबॉय और ओवरसोल की स्थिति को खोजने के लिए मूल्य की अस्थिरता और गतिशीलता का विश्लेषण करके सबसे अच्छा खरीद और बेचने का समय निर्धारित करती है। रणनीति 20 गुना लीवरेज का उपयोग करती है, जो विकल्पों के व्यापार को रोकती है, 0.60% और 0.25% के स्टॉप लॉस को रोकती है, और जोखिम को नियंत्रित करने के लिए प्रति दिन केवल एक बार व्यापार करने के लिए सीमित है।
इस रणनीति के केंद्र में बाजार की स्थिति का आकलन करने के लिए पोलिंग बैंड, आरएसआई और यादृच्छिक आरएसआई के तीन संकेतकों का उपयोग किया जाता है। पोलिंग बैंड में मूल्य में उतार-चढ़ाव की दर को मापने के लिए मध्य ट्रैक, ऊपरी ट्रैक, ऊपरी ट्रैक, और नीचे ट्रैक शामिल हैं। आरएसआई एक गतिशील ऑसिलेटर है जो ओवरबॉट और ओवरसोल्ड स्थितियों की पहचान करने के लिए उपयोग किया जाता है। इस रणनीति में 14 चक्र आरएसआई का उपयोग किया जाता है। यादृच्छिक आरएसआई आरएसआई मानों के लिए एक यादृच्छिक ऑसिलेटर फॉर्मूला लागू करता है, जो 14 चक्र की लंबाई का भी उपयोग करता है।
जब आरएसआई 34 से कम है, तो एक खरीद संकेत ट्रिगर होता है जब यादृच्छिक आरएसआई 20 से कम होता है, और समापन मूल्य निचले ट्रैक के पास या उससे कम होता है। जब आरएसआई 66 से अधिक होता है, और यादृच्छिक आरएसआई 80 से अधिक होता है, और समापन मूल्य ऊपरी ट्रैक के पास या उससे अधिक होता है, तो एक बेचने का संकेत ट्रिगर होता है। रणनीति 20 गुना लीवरेज का उपयोग करती है, स्टॉप-ऑफ-ऑप्शन ट्रेडिंग 0.60 और स्टॉप-ऑफ-लॉस 0.25% पर सेट होती है। इसके अलावा, यह रणनीति जोखिम को नियंत्रित करने के लिए प्रति दिन केवल एक बार व्यापार करती है।
यह रणनीति पोलिंग बैंड, आरएसआई और यादृच्छिक आरएसआई के तीन तकनीकी संकेतकों के संयोजन के माध्यम से सबसे अच्छा खरीदने और बेचने के लिए समय खोजने के लिए कीमतों की अस्थिरता और गतिशीलता की जानकारी का उपयोग करती है। रणनीति ने स्पष्ट रूप से रोकथाम की सीमा निर्धारित की है और प्रति दिन व्यापार की संख्या को नियंत्रित करने के लिए जोखिम का प्रबंधन किया है। हालांकि इस रणनीति में इसके फायदे हैं, फिर भी बाजार जोखिम, पैरामीटर संवेदनशीलता और लीवरेज जोखिम जैसी चुनौतियों का सामना करना पड़ता है। गतिशील रूप से पैरामीटर को समायोजित करके, अन्य संकेतकों को शामिल करके, रोकथाम को अनुकूलित करने और धन प्रबंधन में सुधार करने जैसे तरीकों से रणनीति के प्रदर्शन को और अनुकूलित किया जा सकता है।
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI + Stochastic RSI Strategy with OTM Options", overlay=true)
// Define leverage factor (e.g., 20x leverage for OTM options)
leverage = 1
// Bollinger Bands
length = 20
deviation = 3
basis = ta.sma(close, length)
dev = ta.stdev(close, length)
upper = basis + deviation * dev
lower = basis - deviation * dev
// RSI
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
// Stochastic RSI
stoch_length = 14
stoch_k = ta.stoch(close, close, close, stoch_length)
// Entry condition with Bollinger Bands
longCondition = rsi < 34 and stoch_k < 20 and close <= lower
shortCondition = rsi > 66 and stoch_k > 80 and close >= upper
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Bollinger Band")
plot(lower, color=color.green, title="Lower Bollinger Band")
// Track if a trade has been made today
var int lastTradeDay = na
// Options Simulation: Take-Profit and Stop-Loss Conditions
profitPercent = 0.01 // 1% take profit
lossPercent = 0.002 // 0.2% stop loss
// Entry Signals
if (dayofmonth(timenow) != dayofmonth(lastTradeDay))
if (longCondition)
longTakeProfitPrice = close * (1 + profitPercent)
longStopLossPrice = close * (1 - lossPercent)
strategy.entry("Long", strategy.long, qty=leverage * strategy.equity / close)
strategy.exit("Take Profit Long", from_entry="Long", limit=longTakeProfitPrice, stop=longStopLossPrice)
lastTradeDay := dayofmonth(timenow)
if (shortCondition)
shortTakeProfitPrice = close * (1 - profitPercent)
shortStopLossPrice = close * (1 + lossPercent)
strategy.entry("Short", strategy.short, qty=leverage * strategy.equity / close)
strategy.exit("Take Profit Short", from_entry="Short", limit=shortTakeProfitPrice, stop=shortStopLossPrice)
lastTradeDay := dayofmonth(timenow)