
यह रणनीति एक गतिशील ब्रेकआउट ट्रेडिंग प्रणाली है, जो मुख्य रूप से मूल्य और पोलिंगर बैंड के बीच संबंधों के माध्यम से ट्रेंडिंग अवसरों को पकड़ने के लिए बोलिंगर बैंड पर आधारित है। यह रणनीति स्व-अनुकूलित सम-रेखा प्रकार चयन तंत्र का उपयोग करती है, जो बाजार में उतार-चढ़ाव के लक्षणों की पहचान करने के लिए मानक विचलन चैनल के साथ संयुक्त है, जो विशेष रूप से अस्थिर बाजार के वातावरण में उपयोग के लिए उपयुक्त है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह एक तर्कसंगत, तर्कसंगत और स्पष्ट प्रवृत्ति ट्रैकिंग रणनीति है। यह बाजार की गतिशीलता को बोलिंगर बैंड की गतिशील विशेषताओं के माध्यम से पकड़ता है, और इसमें एक अच्छा जोखिम नियंत्रण तंत्र है। रणनीति अनुकूलन योग्य है और पैरामीटर को समायोजित करके विभिन्न बाजार स्थितियों के अनुकूल हो सकती है। वास्तविक समय में पर्याप्त पैरामीटर अनुकूलन और पुनः परीक्षण की सिफारिश की जाती है, और अनुशंसित अनुकूलन दिशा के साथ रणनीति में सुधार किया जाता है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Demo GPT - Bollinger Bands", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500)
// Date range inputs
startYear = input.int(2018, "Start Year", minval=1970, maxval=2100)
startMonth = input.int(1, "Start Month", minval=1, maxval=12)
startDay = input.int(1, "Start Day", minval=1, maxval=31)
endYear = input.int(2069, "End Year", minval=1970, maxval=2100)
endMonth = input.int(12, "End Month", minval=1, maxval=12)
endDay = input.int(31, "End Day", minval=1, maxval=31)
// Time range
startTime = timestamp("GMT+0", startYear, startMonth, startDay, 0, 0)
endTime = timestamp("GMT+0", endYear, endMonth, endDay, 23, 59)
// Moving average function
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Calculate Bollinger Bands
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot
plot(basis, "Basis", color=#2962FF, offset=offset)
p1 = plot(upper, "Upper", color=#F23645, offset=offset)
p2 = plot(lower, "Lower", color=#089981, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))
// Strategy logic: Only go long and flat
inDateRange = time >= startTime and time <= endTime
noPosition = strategy.position_size == 0
longPosition = strategy.position_size > 0
// Buy if close is above upper band
if inDateRange and noPosition and close > upper
strategy.entry("Long", strategy.long)
// Sell/Exit if close is below lower band
if inDateRange and longPosition and close < lower
strategy.close("Long")