यह ट्रेडिंग रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए आरएसआई, स्टोकैस्टिक, बोलिंगर बैंड और सुपरट्रेंड सहित कई संकेतकों को जोड़ती है।
विशेष रूप से, यह 50 से ऊपर के आरएसआई और डी से ऊपर के स्टोकैस्टिक के मूल्य को तेजी के संकेत के रूप में मानता है। सुपरट्रेंड से नीचे की कीमत एक अपट्रेंड का प्रतिनिधित्व करती है, और बीबी मध्य बैंड से नीचे सुपरट्रेंड लंबे संकेत का गठन करता है।
इसके विपरीत, 50 से नीचे का आरएसआई और डी से नीचे का स्टोकैस्टिक के मंदी के संकेत देता है। सुपरट्रेंड से ऊपर की कीमत एक डाउनट्रेंड दिखाती है, और बीबी मध्य बैंड से ऊपर का सुपरट्रेंड शॉर्ट सिग्नल बनाता है।
मल्टी-इंडिकेटर कॉम्बो सिग्नल विश्वसनीयता में सुधार के लिए एक प्रभावी फिल्टर के रूप में कार्य करता है। रणनीति जोखिम को नियंत्रित करने के लिए स्टॉप लॉस और लाभ लेने की शर्तें भी निर्धारित करती है।
हालांकि, संकेतकों को जोड़ने से विलंब भी होता है, संभावित रूप से इष्टतम प्रविष्टियों की कमी होती है। समग्र आर्थिक प्रभावों की निगरानी के साथ-साथ मापदंडों के लाइव ट्यूनिंग की अभी भी आवश्यकता होती है। दीर्घकालिक स्थिर लाभ के लिए व्यापक जोखिम प्रबंधन महत्वपूर्ण है।
/*backtest start: 2023-01-01 00:00:00 end: 2023-03-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rajm14 //@version=5 strategy(title = "Golden Swing Strategy - Souradeep Dey", shorttitle = "GSS", overlay = true, process_orders_on_close = true, default_qty_type = strategy.cash, default_qty_value=100000, currency = currency.USD) // Indicator - RSI - 20 rsiSrc = input(defval = close, title = "RSI Source") rsiLen = input.int(defval = 20, title = "RSI Length", minval = 0, maxval = 200, step = 1) rsi = ta.rsi(rsiSrc, rsiLen) //plot(rsi) // Indicator - Stochastic (55,34,21) kLength = input.int(defval = 55, title="Stoch %K Length", minval=1) kSmooth = input.int(defval = 34, title="Stoch %K Smoothing", minval=1) dLength = input.int(defval = 21, title="Stoch %D Smoothing", minval=1) kLine = ta.sma(ta.stoch(close, high, low, kLength), kSmooth) dLine = ta.sma(kLine, dLength) // plot(kLine, color=color.red) // plot(dLine, color=color.green) // Indicator - ATR(5) atrLength = input(5, "ATR Length") atr = ta.atr(5) // plot(atr) // Indicator - SuperTrend(10,2) atrPeriod = input(10, "SuperTrend ATR Length") stSrc = hl2 stfactor = input.float(2.0, "SuperTrend Multiplier", step = 0.1) stAtr = ta.atr(atrPeriod) [supertrend, direction] = ta.supertrend(stfactor, atrPeriod) bodyMiddle = (open + close) / 2 upTrend = direction < 0 ? supertrend : na downTrend = direction < 0? na : supertrend // plot(bodyMiddle, display=display.none) // plot(upTrend) // plot(downTrend) // Indicator - Bollinger Bands (20,2) bblength = input.int(defval = 20, title = "BB Length") bbsource = input(defval = close, title = "BB Source") bbStdDev = input.float(defval = 2.0, title = "BB Std Dev", step = 0.1) bbmultiplier = bbStdDev * ta.stdev(bbsource, bblength) bbMband = ta.sma(bbsource, bblength) bbUband = bbMband + bbmultiplier bbLband = bbMband - bbmultiplier // plot (bbUband, color = color.red, linewidth = 2) // plot (bbMband, color = color.black, linewidth = 2) // plot (bbLband, color = color.green, linewidth = 2) // Trade Entry LongEntry = rsi >= 50 and kLine > dLine and low < supertrend and direction < 0 and supertrend < bbMband ShortEntry = rsi <= 50 and kLine < dLine and high > supertrend and direction > 0 and supertrend > bbMband plotshape(LongEntry, style = shape.triangleup, text = "Long", location = location.belowbar, size = size.large, color = color.green) plotshape(ShortEntry, style = shape.triangledown, text = "Short", location = location.abovebar, size = size.large, color = color.red) //Trade execution if LongEntry strategy.entry(id = "Buy", direction = strategy.long, limit = close * .5 * atr) closelong = close >= strategy.position_avg_price * 2.2 * atr stoplong = close <= strategy.position_avg_price * 1.1 * atr if closelong strategy.close(id = "Buy") if stoplong strategy.close(id = "Buy") if ShortEntry strategy.entry(id = "Sell", direction = strategy.long, limit = close * .5 * atr) closeshort = close <= strategy.position_avg_price * 2.2 * atr stopshort = close >= strategy.position_avg_price * 1.1 * atr if closeshort strategy.close(id = "Sell") if stopshort strategy.close(id = "Sell")