Each indicator tells a different story about price, momentum, and market sentiment. Understanding what you're testing makes your backtests more intentional — and your edge more durable.
RSI measures the speed and magnitude of recent price changes on a scale of 0–100. It compares average gains to average losses over a rolling period (default 14 days). Readings above 70 are traditionally overbought; below 30 is oversold.
You can set RSI thresholds as entry conditions — for example, RSI below 30 to find oversold setups. YEK Edge also tracks a signal line (SMA or EMA of RSI) so you can catch crossovers, not just static levels. Custom periods (e.g. RSI 7 or RSI 21) are supported.
- RSI below 30 in a strong downtrend often stays oversold for days — combine with a price stabilisation condition to avoid catching falling knives.
- RSI crossing above its signal line can signal momentum turning before the price chart confirms it.
MACD subtracts a slow EMA (default 26-period) from a fast EMA (default 12-period) to produce a MACD line. A 9-period EMA of that line forms the signal line. The difference between the two is the histogram — positive means upward momentum, negative means downward.
YEK Edge evaluates the MACD histogram against a threshold you set. A histogram above 0 means the fast EMA is leading the slow one — bullish momentum. A histogram crossing above 0 is a classic momentum-shift signal. All three parameters (fast, slow, signal) are customisable.
- Histogram crossovers (crosses above 0 / crosses below 0) are often more reliable than static thresholds — test both.
- MACD on weekly bars filters out daily noise and can identify stronger, more sustained trends.
Bollinger Bands place a 20-period SMA at the centre, with upper and lower bands set 2 standard deviations away. As volatility rises, the bands widen; as it contracts, they squeeze. Price touching the outer bands doesn't mean reversal — it means the move is statistically extreme.
You can set conditions on price relative to the upper band, middle band (SMA), or lower band. Operators include below, above, crosses above/below, and touches (within 0.5%). Band period and standard deviation width are configurable. YEK Edge also shows the %B position in the results table.
- Price touching the lower band during low volatility squeezes has historically preceded sharp moves — test which direction the squeeze resolves in your specific setup.
- Combine with RSI below 35 when price touches the lower band for a double-confirmation oversold signal.
A Simple MA (SMA) averages closing prices equally over a period. An Exponential MA (EMA) weights recent prices more heavily, reacting faster to new data. A Double EMA (DEMA) applies a second EMA pass to reduce lag further — useful for faster trend identification without excessive noise.
YEK Edge compares the closing price against the MA value. You choose the type (SMA, EMA, DEMA), the period (any number), and whether the condition applies to daily or weekly bars. Crossover operators let you catch the moment price crosses above or below the average — not just where it sits relative to it.
- Price crossing above the 200-day SMA after a prolonged decline is one of the most backtested signals in equity markets — check your specific symbol's history before assuming it holds.
- EMA 20 on weekly bars provides a clean trend filter that removes most false signals from daily charts.
Volume Ratio divides today's volume by its 20-day simple moving average. A reading of 1.0 means normal volume. A reading of 2.0 means today's volume is double the recent average — indicating unusual participation. Very low readings (below 0.5) signal low-conviction moves.
Volume Ratio can confirm or disqualify other signals. For example, RSI below 30 AND Volume Ratio above 1.5 filters for oversold conditions with elevated sell pressure — a potentially more meaningful capitulation signal. Set thresholds above or below any value you want to test.
- High volume on a down day (ratio above 2.0) often marks exhaustion — especially when RSI is already deeply oversold.
- Price breakouts with volume ratio below 1.0 frequently fail. Use it as a filter to avoid low-conviction breakout traps.
The VIX measures the market's expectation of 30-day implied volatility in the S&P 500, derived from options pricing. It is often called the "fear gauge." A VIX below 15 reflects calm, complacent conditions. Above 30 indicates significant stress. Spikes above 40 typically coincide with acute market crises.
VIX is fetched as an external data series and matched to each daily bar by date. You can add a VIX condition to any backtest — for example, VIX above 30 to isolate high-fear environments. When VIX data isn't available for a specific date, YEK Edge skips the condition rather than fail the signal.
- Historically, buying SPY when VIX spikes above 40 and then starts declining has produced strong forward returns — the data is in your scan history.
- VIX below 12 alongside extended price gains can flag complacency. Test what happens in the weeks following those setups.
CNN's Fear & Greed Index is a composite of seven market indicators — momentum, strength, breadth, put/call ratio, junk bond demand, market volatility, and safe-haven demand. It outputs a single score from 0 (Extreme Fear) to 100 (Extreme Greed), updated daily. It reflects the crowd's current emotional state.
Like VIX, Fear & Greed is matched to each bar by date. Add it to any backtest condition — Fear & Greed below 20 isolates extreme-fear periods. The index acts as a macro sentiment filter that can validate or challenge what your price-based indicators are showing. If no data exists for a date, the condition is skipped.
- Readings below 20 (Extreme Fear) have historically been followed by above-average equity returns over the following 30–90 days — verify this with your specific ticker.
- Extreme Greed (above 80) doesn't mean immediate reversal, but combined with overbought RSI it has preceded elevated drawdown risk.
ATR measures the average daily price range over a rolling period (typically 14 days), accounting for gaps between sessions. It captures how much an asset moves each day in absolute price terms. A high ATR means wide daily swings and elevated volatility; a low ATR signals quieter, range-bound price action.
ATR is used in the Strategy Tester as an alternative to percentage-based stop losses and profit targets. Setting a stop loss at 1.5 ATR sizes your risk relative to current volatility — wider stops during volatile markets, tighter stops when the asset is calm. This keeps risk consistent across different market regimes.
- A fixed 5% stop on a stock with an ATR of 4% will trigger almost daily. ATR-based stops adapt automatically — use them when testing across different volatility environments.
- Risk/reward ratios calculated with ATR units are more meaningful than fixed percentages because they reflect what the market is actually doing each day.
Stochastic RSI applies the Stochastic oscillator formula to RSI values rather than price. It measures where RSI sits relative to its own high-low range over a look-back period, producing a faster-responding oscillator that oscillates between 0 and 1 (or 0–100). The resulting %K line is then smoothed into a %D signal line.
You can condition entries on Stochastic RSI crossing above or below key levels (e.g. %K crosses above 0.2 from oversold territory), or on %K crossing the %D line. Four parameters are configurable: the RSI period, the Stochastic look-back (%K period), the signal smoothing (%D period), and an optional additional smoothing pass.
- Stochastic RSI reacts faster than plain RSI — it can generate more signals in choppy markets. Combine with a trend filter to reduce noise.
- Oversold readings (<0.2) in an uptrending asset are often high-probability pullback entries; overbought readings (>0.8) in a downtrend can flag exhaustion bounces.
Williams %R measures the current close relative to the highest high over a look-back period (default 14 days), expressed on a scale of −100 to 0. Readings near 0 mean the close is near the period's high (overbought); readings near −100 mean the close is near the period's low (oversold).
Set threshold conditions such as Williams %R below −80 to identify oversold setups, or crosses above −20 for overbought reversals. The look-back period is fully customisable. Note the inverted scale: lower values are more oversold, not the other way around.
- Williams %R can stay pinned near 0 or −100 during strong trends — a "crosses" condition is often more useful than a static level in trending markets.
- Because the scale runs −100 to 0, remember that −80 is the oversold zone and −20 is the overbought zone — the opposite of what you might expect at first glance.
On-Balance Volume (OBV) is a running cumulative total that adds volume on up-days and subtracts it on down-days. It captures whether volume is flowing into or out of an asset. Comparing OBV to a moving average of itself shows whether volume momentum is trending up or down — rising OBV above its MA suggests accumulation; falling OBV below its MA suggests distribution.
YEK Edge evaluates whether OBV is above or below its smoothing MA, or whether it has recently crossed that MA. This lets you confirm that volume is supporting a price move before entering. The MA period is configurable so you can tune sensitivity from short-term (e.g. 10-period) to longer-term trend confirmation (e.g. 50-period).
- OBV divergence — when price makes a new high but OBV does not — is a classic warning sign that the move lacks volume backing and may reverse.
- OBV is a cumulative series, so its absolute level is meaningless; only its direction and relationship to its own MA matter.
The Wavelet Trend indicator uses the Maximal Overlap Discrete Wavelet Transform (MODWT) with a Symlet-22 filter to decompose price into high-frequency noise and a low-frequency long-run trend component. Unlike moving averages, wavelets separate frequency components without shifting the signal in time — the resulting trend line has zero lag at the boundary. The indicator reports the percentage deviation of price from this wavelet-derived trend: positive means price is above its long-run trend, negative means below. Based on research by Eroğlu, Yener & Yiğit (2023) — Pairs Trading with Wavelet Transform.
YEK Edge computes the MODWT pyramid algorithm at a configurable decomposition level (default 4, recommended for daily candles). The smooth coefficients at the final level represent the true long-run price trend. The wavelet spread — ((price - trend) / trend) × 100 — is evaluated against your chosen threshold. Conditions include above/below trend and custom percentage deviations, allowing you to detect when price has diverged significantly from its structural trend. A minimum of 100 candles is required.
- Wavelet trend filtering outperforms standard moving averages for long-run trend detection because it separates frequency bands cleanly, avoiding the lag inherent in MA-based smoothers.
- Large negative spreads (price well below wavelet trend) often indicate oversold conditions relative to the structural trend — combine with RSI or volume for confirmation.
- Higher decomposition levels capture progressively longer-run trends. Level 4 is empirically optimal for daily data; use level 2-3 for intraday or shorter horizons.
- The sym22 filter (44 coefficients) provides excellent frequency separation with minimal spectral leakage, making it well-suited for financial time series.