यह रणनीति बोलिंगर बैंड्स संकेतक पर आधारित एक गति ट्रैकिंग ट्रेडिंग प्रणाली है। यह मूल्य और ऊपरी बोलिंगर बैंड के बीच संबंध की निगरानी करके संभावित ब्रेकआउट अवसरों की पहचान करता है, और जब मूल्य निचले बैंड से नीचे टूट जाता है तो पदों को बंद कर देता है। बोलिंगर बैंड्स में तीन लाइनें होती हैंः मध्य बैंड (चलती औसत), ऊपरी और निचले बैंड (मानक विचलन का उपयोग करके गणना की जाती है) । रणनीति कई प्रकार के चलती औसत का समर्थन करती है और व्यापारी वरीयताओं के आधार पर पैरामीटर समायोजन की अनुमति देती है।
रणनीति का मूल तर्क निम्नलिखित बिंदुओं पर आधारित हैः
यह बोलिंगर बैंड पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है, जो मूल्य और बैंड के बीच संबंध का निरीक्षण करके बाजार के रुझानों को पकड़ती है। यह रणनीति अच्छी अनुकूलन क्षमता और जोखिम प्रबंधन तंत्र के साथ अच्छी तरह से डिज़ाइन की गई है। सुझाए गए अनुकूलन दिशाओं के माध्यम से, रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है। यह विशेष रूप से अस्थिर बाजारों के लिए उपयुक्त है, लेकिन व्यापारियों को वास्तविक परिस्थितियों के अनुसार मापदंडों और जोखिम नियंत्रण उपायों को समायोजित करने की आवश्यकता है।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Demo GPT - Bollinger Bands Strategy", overlay=true, initial_capital=100000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3) // 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) startDate = input(timestamp('01 Jan 2018 00:00 +0000'), title="Start Date") endDate = input(timestamp('31 Dec 2069 23:59 +0000'), title="End Date") // 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) // Calculations basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plotting 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 inTradeWindow = true longCondition = close > upper and inTradeWindow exitCondition = close < lower and inTradeWindow if (longCondition) strategy.entry("Long", strategy.long, qty=1) if (exitCondition) strategy.close("Long")