//@version=5
strategy("TEMA + Bollinger Bands Strategy", overlay=true)
length = input.int(20, 'BB Len', minval=1)
temaLength = input.int(9, 'TEMA Len', minval=1)
rsiLength = input.int(14, 'Len RSI', minval=1)
mult = input.float(2.0, 'Mult', minval=0.001, maxval=50)
source = close
sma1=ta.sma(source, temaLength)
sma2=ta.sma(sma1, temaLength)
tema=ta.sma(sma2, temaLength)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
rsi = ta.rsi(source, rsiLength)
var isCrossed30 = rsi > 30
var isCrossed70 = rsi > 70
if rsi > 70 and rsi[1] <= 70
isCrossed30 := false
isCrossed70 := true
else if rsi > 30 and rsi[1] <= 30
isCrossed30 := true
isCrossed70 := false
else if rsi <= 30
isCrossed30 := false
isCrossed70 := false
isLong = isCrossed30 and tema <= basis and tema > tema[1]
isLongExit = isCrossed70 and tema > basis and tema < tema[1]
isShort = isCrossed70 and tema > basis and tema < tema[1]
isShortExit = isCrossed30 and tema <= basis and tema > tema[1]
strategy.entry("BBandLE", strategy.long, when=isLong, comment="BBRSI_L")
strategy.close(id="BBandLE", when=isLongExit or isShort, comment="BBRSI_L Exit")
strategy.entry("BBandSE", strategy.short, when=isShort, comment="BBRSI_S")
strategy.close(id="BBandSE", when=isShortExit or isLong, comment="BBRSI_S Exit")
plot(tema, 'TEMA', linewidth=2)
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper, "Upper", color=#2962FF)
p2 = plot(lower, "Lower", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
Overview
TEMA + Bollinger Bands Strategy plots the TEMA line along with the Bollinger Bands basis and outer bands. Long entries trigger when RSI crosses below 30, TEMA is below the basis but crosses upward. Long positions close when RSI crosses above 70 or TEMA crosses downward through the basis. Short entries activate under symmetric conditions and close on opposite RSI or TEMA signals. Inputs modify the Bollinger period, TEMA length, RSI length, and band multiplier. The strategy uses no stop loss by default and operates on any market with any timeframe.
The inputs you can change from the gear icon on the chart. Defaults are the author's.
Setting
Type
Default
Variable
BB Len
int
20
length
TEMA Len
int
9
temaLength
Len RSI
int
14
rsiLength
Mult
float
2.0
mult
Third-party code. ForexR did not write, test or endorse this script, and the summary above was generated automatically from its code and README. Indicators describe the past, and a strategy's backtest can look better than live trading, especially when a script repaints. Check it in the Strategy Tester and on a demo account before you rely on it.
This strategy plots MACD line, signal line, Bollinger Bands, and RSI on the price chart. It signals long entries on MACD crossover above signal with RSI below 50 and price below BB basis, plus optional DMI filter. Short entries are available but disabled by de
This strategy identifies trend-following entries using a triple exponential moving average alignment and ATR-based exits on the main price chart. Long signals trigger when the fast EMA is above the medium EMA and medium is above slow, accompanied by a close ab
This educational strategy demonstrates moving average crossovers filtered by RSI momentum, incorporating ATR-based risk management. It calculates a 10-period SMA, a 30-period SMA, a 14-period RSI, and a 14-period ATR. Long entries trigger when the fast SMA cro
This strategy combines exponential moving averages (EMA 9, 21, 50), RSI, MACD, and Supertrend indicators to enter long positions. It triggers trades using six dynamic setups based on momentum breakouts, EMA crossovers, and pullbacks. Position sizing is compute
This strategy plots exponential-moving-average Bollinger bands on the price chart and calculates RSI. It opens a long position when close crosses above the upper band while RSI is at or above a threshold, the date filter allows trading, and no position is open
CombinedBinHAndClucV6 is a trading strategy based on the popular BinHV45 and ClucMay72018 algorithms. It calculates dual Bollinger Bands, Exponential Moving Averages, Relative Strength Index, Average True Range, and volume metrics across primary and one-hour h