mod note:
When Energy is a showing up as major market driver for the days activity; you want to know where else that strength is showing up. It is looking for stocks that are showing similar strength.
It also looks for expanding volume, expanding range and a developing trend, helping separate stocks that are simply moving from stocks where something meaningful may be developing.
When Energy is driving the market, this can uncover candidates you might never have thought to put on your watchlist.
Keep breathing, they said. Don't talk. Stay with them, don't phase out. Silly stupid sleepers lose.
Thus the name; Energy Elite Scan. Coffee not required.
(add PPS limits and BbBOOooMMMm!)
DevNote: Premarket leave-out sequencing data. (Light) 15 min.
When Energy is a showing up as major market driver for the days activity; you want to know where else that strength is showing up. It is looking for stocks that are showing similar strength.
It also looks for expanding volume, expanding range and a developing trend, helping separate stocks that are simply moving from stocks where something meaningful may be developing.
When Energy is driving the market, this can uncover candidates you might never have thought to put on your watchlist.
Keep breathing, they said. Don't talk. Stay with them, don't phase out. Silly stupid sleepers lose.
Thus the name; Energy Elite Scan. Coffee not required.
(add PPS limits and BbBOOooMMMm!)
Code:
# =========================
# CARBON STATION SCANNER – ENERGY ELITE
# AdeodatusTravelLink Series; 8/2026
# ==========
# ---------- SECTOR DOMINANCE ----------
def xle = close("XLE");
def spy = close("SPY");
def sectorRS = xle / spy;
def sectorHot = sectorRS > Average(sectorRS, 20);
# ---------- INTERNAL ROTATION ----------
def stockRS = close / xle;
def leader = stockRS > Average(stockRS, 20);
# ---------- ACCUMULATION (SMART MONEY PROXY) ----------
def upVol = if close > close[1] then volume else 0;
def downVol = if close < close[1] then volume else 0;
def accDist = Sum(upVol - downVol, 20);
def accumulation = accDist > 0;
# ---------- ZANGER-STYLE VOLUME EXPANSION ----------
def volAvg = Average(volume, 30);
def zvr = volume / volAvg;
def volumeIgnition = zvr > 1.5;
# ---------- RANGE EXPANSION ----------
def tr = TrueRange(high, close, low);
def trAvg = Average(tr, 14);
def expansion = tr > trAvg * 1.2;
# ---------- EARLY TREND (NOT EXTENDED) ----------
def trend = close > Average(close, 20);
def notExtended = close < Average(close, 50) * 1.12;
# ---------- MOMENTUM WINDOW ----------
def rsi = RSI(14);
def momentum = rsi > 50 and rsi < 70;
# ---------- LIQUIDITY ----------
def priceOK = close > 10;
# ---------- IGNITION SCORE ----------
def score =
(if sectorHot then 1 else 0) +
(if leader then 1 else 0) +
(if accumulation then 1 else 0) +
(if volumeIgnition then 1 else 0) +
(if expansion then 1 else 0) +
(if trend then 1 else 0);
DevNote: Premarket leave-out sequencing data. (Light) 15 min.
Last edited by a moderator: