Strategy vault / Trend following
Multi Indicator Golden Swing Trading Strategy
This trading strategy combines multiple indicators including RSI, Stochastic, Bollinger Bands and SuperTrend to generate trading signals. Specifically, it considers RSI above 50 and Stochastic K value above D as…
This trading strategy combines multiple indicators including RSI, Stochastic, Bollinger Bands and SuperTrend to generate trading signals.
Specifically, it considers RSI above 50 and Stochastic K value above D as bullish signals. Price below SuperTrend represents an uptrend, and SuperTrend below BB middle band forms the long signal.
Conversely, RSI below 50 and Stochastic K below D gives bearish signals. Price above SuperTrend shows a downtrend, and SuperTrend above BB middle band creates the short signal.
The multi-indicator combo serves as an effective filter to improve signal reliability. The strategy also sets stop loss and take profit conditions to control risk.
However, combining indicators also introduces lag, potentially missing optimal entries. Live tuning of parameters is still required, along with monitoring overall economic impacts. Comprehensive risk management is crucial for long-term steady profits.
Parameters
| Name | Default | What it controls |
|---|---|---|
| v_input_1_close | 0 | RSI Source: close | high | low | open | hl2 | hlc3 | hlcc4 | ohlc4 |
| v_input_int_1 | 20 | RSI Length |
| v_input_int_2 | 55 | Stoch %K Length |
| v_input_int_3 | 34 | Stoch %K Smoothing |
| v_input_int_4 | 21 | Stoch %D Smoothing |
| v_input_2 | 5 | ATR Length |
| v_input_3 | 10 | SuperTrend ATR Length |
| v_input_float_1 | 2 | SuperTrend Multiplier |
| v_input_int_5 | 20 | BB Length |
| v_input_4_close | 0 | BB Source: close | high | low | open | hl2 | hlc3 | hlcc4 | ohlc4 |
| v_input_float_2 | 2 | BB Std Dev |
Source Pine Script
/*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")
Published by ChaoZhang on the FMZ strategy square · last modified 2023-09-11. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.
Build this with AgenKit
A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Multi-Indicator-Golden-Swing-Trading-Strategy.md- npx agenkit install engineering-kit in your project
- Paste the command into your agent and approve each phase
- Get tests, backtest, risk controls and a paper-trading switch
Understand it first
Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.
Related specs
- Triple SuperTrend Quantitative Trading StrategyPine Script · Trend following · 1d
- SuperTrend Trading Strategy with Multiple FiltersPine Script · Trend following · 1h
- Mini Pullback Supertrend StrategyPine Script · Trend following · 1h
- Triple SuperTrend and Stoch RSI StrategyPine Script · Trend following · 1d
- Dual directional Trailing Stop Moving Average Trend StrategyPine Script · Trend following · 1m
- Enhanced Moving Average Crossover Sakkoulas Trading StrategyPine Script · Trend following · 1h