{"@context":"https://schema.org","@type":"DefinedTermSet","name":"EvenKeel IndicatorSoup Indicator Glossary","description":"Authoritative definitions, formulas, signal rules, and trading timeframe guidance for every enriched indicator in the EvenKeel AutoTrader / IndicatorSoup pipeline.","dateModified":"2026-05-30T22:27:27.824973+00:00","publisher":{"@type":"Organization","name":"EvenKeel"},"about":{"@type":"FinancialProduct","name":"US500_USD"},"hasDefinedTerm":[{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_10_20_m1","name":"Cross Bb Lower 10 20 M1","termCode":"cross_bb_lower_10_20_m1","description":"Price below Bollinger lower band (period 10, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_10_20_m15","name":"Cross Bb Lower 10 20 M15","termCode":"cross_bb_lower_10_20_m15","description":"Price below Bollinger lower band (period 10, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_10_20_m5","name":"Cross Bb Lower 10 20 M5","termCode":"cross_bb_lower_10_20_m5","description":"Price below Bollinger lower band (period 10, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_10_20_m1","name":"Cross Bb Mid 10 20 M1","termCode":"cross_bb_mid_10_20_m1","description":"Price above Bollinger middle (SMA 10, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > Bollinger middle (SMA(10)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_10_20_m15","name":"Cross Bb Mid 10 20 M15","termCode":"cross_bb_mid_10_20_m15","description":"Price above Bollinger middle (SMA 10, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > Bollinger middle (SMA(10)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_10_20_m5","name":"Cross Bb Mid 10 20 M5","termCode":"cross_bb_mid_10_20_m5","description":"Price above Bollinger middle (SMA 10, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > Bollinger middle (SMA(10)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_10_20_m1","name":"Cross Bb Upper 10 20 M1","termCode":"cross_bb_upper_10_20_m1","description":"Price above Bollinger upper band (period 10, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_10_20_m15","name":"Cross Bb Upper 10 20 M15","termCode":"cross_bb_upper_10_20_m15","description":"Price above Bollinger upper band (period 10, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_10_20_m5","name":"Cross Bb Upper 10 20 M5","termCode":"cross_bb_upper_10_20_m5","description":"Price above Bollinger upper band (period 10, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_20_20_m1","name":"Cross Bb Lower 20 20 M1","termCode":"cross_bb_lower_20_20_m1","description":"Price below Bollinger lower band (period 20, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_20_20_m15","name":"Cross Bb Lower 20 20 M15","termCode":"cross_bb_lower_20_20_m15","description":"Price below Bollinger lower band (period 20, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_20_20_m5","name":"Cross Bb Lower 20 20 M5","termCode":"cross_bb_lower_20_20_m5","description":"Price below Bollinger lower band (period 20, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_20_20_m1","name":"Cross Bb Mid 20 20 M1","termCode":"cross_bb_mid_20_20_m1","description":"Price above Bollinger middle (SMA 20, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > Bollinger middle (SMA(20)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_20_20_m15","name":"Cross Bb Mid 20 20 M15","termCode":"cross_bb_mid_20_20_m15","description":"Price above Bollinger middle (SMA 20, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > Bollinger middle (SMA(20)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_20_20_m5","name":"Cross Bb Mid 20 20 M5","termCode":"cross_bb_mid_20_20_m5","description":"Price above Bollinger middle (SMA 20, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > Bollinger middle (SMA(20)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_20_20_m1","name":"Cross Bb Upper 20 20 M1","termCode":"cross_bb_upper_20_20_m1","description":"Price above Bollinger upper band (period 20, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_20_20_m15","name":"Cross Bb Upper 20 20 M15","termCode":"cross_bb_upper_20_20_m15","description":"Price above Bollinger upper band (period 20, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_20_20_m5","name":"Cross Bb Upper 20 20 M5","termCode":"cross_bb_upper_20_20_m5","description":"Price above Bollinger upper band (period 20, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_50_20_m1","name":"Cross Bb Lower 50 20 M1","termCode":"cross_bb_lower_50_20_m1","description":"Price below Bollinger lower band (period 50, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_50_20_m15","name":"Cross Bb Lower 50 20 M15","termCode":"cross_bb_lower_50_20_m15","description":"Price below Bollinger lower band (period 50, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_lower_50_20_m5","name":"Cross Bb Lower 50 20 M5","termCode":"cross_bb_lower_50_20_m5","description":"Price below Bollinger lower band (period 50, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price below lower band / oversold); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_50_20_m1","name":"Cross Bb Mid 50 20 M1","termCode":"cross_bb_mid_50_20_m1","description":"Price above Bollinger middle (SMA 50, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > Bollinger middle (SMA(50)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_50_20_m15","name":"Cross Bb Mid 50 20 M15","termCode":"cross_bb_mid_50_20_m15","description":"Price above Bollinger middle (SMA 50, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > Bollinger middle (SMA(50)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_mid_50_20_m5","name":"Cross Bb Mid 50 20 M5","termCode":"cross_bb_mid_50_20_m5","description":"Price above Bollinger middle (SMA 50, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > Bollinger middle (SMA(50)), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above middle band); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_50_20_m1","name":"Cross Bb Upper 50 20 M1","termCode":"cross_bb_upper_50_20_m1","description":"Price above Bollinger upper band (period 50, 2σ) on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M1: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_50_20_m15","name":"Cross Bb Upper 50 20 M15","termCode":"cross_bb_upper_50_20_m15","description":"Price above Bollinger upper band (period 50, 2σ) on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M15: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_bb_upper_50_20_m5","name":"Cross Bb Upper 50 20 M5","termCode":"cross_bb_upper_50_20_m5","description":"Price above Bollinger upper band (period 50, 2σ) on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"bollinger"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag on M5: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bearish if 1 (price above upper band / stretched); bullish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_13_m1","name":"Cross Ema 8 13 M1","termCode":"cross_ema_8_13_m1","description":"EMA stack 8/13 on M1: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_13_m15","name":"Cross Ema 8 13 M15","termCode":"cross_ema_8_13_m15","description":"EMA stack 8/13 on M15: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_13_m5","name":"Cross Ema 8 13 M5","termCode":"cross_ema_8_13_m5","description":"EMA stack 8/13 on M5: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_13_m1","name":"Cross Sma 8 13 M1","termCode":"cross_sma_8_13_m1","description":"SMA stack 8/13 on M1: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_13_m15","name":"Cross Sma 8 13 M15","termCode":"cross_sma_8_13_m15","description":"SMA stack 8/13 on M15: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_13_m5","name":"Cross Sma 8 13 M5","termCode":"cross_sma_8_13_m5","description":"SMA stack 8/13 on M5: 1 when the 8-period average is above the 13-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_8_17_9_m1","name":"Cross Macd 8 17 9 M1","termCode":"cross_macd_8_17_9_m1","description":"MACD(8,17,9) stack on M1: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M1 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_8_17_9_m15","name":"Cross Macd 8 17 9 M15","termCode":"cross_macd_8_17_9_m15","description":"MACD(8,17,9) stack on M15: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M15 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_8_17_9_m5","name":"Cross Macd 8 17 9 M5","termCode":"cross_macd_8_17_9_m5","description":"MACD(8,17,9) stack on M5: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M5 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_8_17_9_m1","name":"MACD Below zero, MACD above signal (8/17/9 M1)","termCode":"macd_quad_neg_above_8_17_9_m1","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_8_17_9_m15","name":"MACD Below zero, MACD above signal (8/17/9 M15)","termCode":"macd_quad_neg_above_8_17_9_m15","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_8_17_9_m5","name":"MACD Below zero, MACD above signal (8/17/9 M5)","termCode":"macd_quad_neg_above_8_17_9_m5","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_8_17_9_m1","name":"MACD Below zero, MACD below signal (8/17/9 M1)","termCode":"macd_quad_neg_below_8_17_9_m1","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_8_17_9_m15","name":"MACD Below zero, MACD below signal (8/17/9 M15)","termCode":"macd_quad_neg_below_8_17_9_m15","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_8_17_9_m5","name":"MACD Below zero, MACD below signal (8/17/9 M5)","termCode":"macd_quad_neg_below_8_17_9_m5","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_8_17_9_m1","name":"MACD Above zero, MACD above signal (8/17/9 M1)","termCode":"macd_quad_pos_above_8_17_9_m1","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_8_17_9_m15","name":"MACD Above zero, MACD above signal (8/17/9 M15)","termCode":"macd_quad_pos_above_8_17_9_m15","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_8_17_9_m5","name":"MACD Above zero, MACD above signal (8/17/9 M5)","termCode":"macd_quad_pos_above_8_17_9_m5","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_8_17_9_m1","name":"MACD Above zero, MACD below signal (8/17/9 M1)","termCode":"macd_quad_pos_below_8_17_9_m1","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_8_17_9_m15","name":"MACD Above zero, MACD below signal (8/17/9 M15)","termCode":"macd_quad_pos_below_8_17_9_m15","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_8_17_9_m5","name":"MACD Above zero, MACD below signal (8/17/9 M5)","termCode":"macd_quad_pos_below_8_17_9_m5","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_20_m1","name":"Cross Ema 13 20 M1","termCode":"cross_ema_13_20_m1","description":"EMA stack 13/20 on M1: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_20_m15","name":"Cross Ema 13 20 M15","termCode":"cross_ema_13_20_m15","description":"EMA stack 13/20 on M15: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_20_m5","name":"Cross Ema 13 20 M5","termCode":"cross_ema_13_20_m5","description":"EMA stack 13/20 on M5: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_20_m1","name":"Cross Ema 8 20 M1","termCode":"cross_ema_8_20_m1","description":"EMA stack 8/20 on M1: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_20_m15","name":"Cross Ema 8 20 M15","termCode":"cross_ema_8_20_m15","description":"EMA stack 8/20 on M15: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_20_m5","name":"Cross Ema 8 20 M5","termCode":"cross_ema_8_20_m5","description":"EMA stack 8/20 on M5: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_20_m1","name":"Cross Sma 13 20 M1","termCode":"cross_sma_13_20_m1","description":"SMA stack 13/20 on M1: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_20_m15","name":"Cross Sma 13 20 M15","termCode":"cross_sma_13_20_m15","description":"SMA stack 13/20 on M15: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_20_m5","name":"Cross Sma 13 20 M5","termCode":"cross_sma_13_20_m5","description":"SMA stack 13/20 on M5: 1 when the 13-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_20_m1","name":"Cross Sma 8 20 M1","termCode":"cross_sma_8_20_m1","description":"SMA stack 8/20 on M1: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_20_m15","name":"Cross Sma 8 20 M15","termCode":"cross_sma_8_20_m15","description":"SMA stack 8/20 on M15: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_20_m5","name":"Cross Sma 8 20 M5","termCode":"cross_sma_8_20_m5","description":"SMA stack 8/20 on M5: 1 when the 8-period average is above the 20-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_200_m1","name":"Cross Ema 13 200 M1","termCode":"cross_ema_13_200_m1","description":"EMA stack 13/200 on M1: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_200_m15","name":"Cross Ema 13 200 M15","termCode":"cross_ema_13_200_m15","description":"EMA stack 13/200 on M15: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_200_m5","name":"Cross Ema 13 200 M5","termCode":"cross_ema_13_200_m5","description":"EMA stack 13/200 on M5: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_200_m1","name":"Cross Ema 20 200 M1","termCode":"cross_ema_20_200_m1","description":"EMA stack 20/200 on M1: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_200_m15","name":"Cross Ema 20 200 M15","termCode":"cross_ema_20_200_m15","description":"EMA stack 20/200 on M15: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_200_m5","name":"Cross Ema 20 200 M5","termCode":"cross_ema_20_200_m5","description":"EMA stack 20/200 on M5: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_200_m1","name":"Cross Ema 21 200 M1","termCode":"cross_ema_21_200_m1","description":"EMA stack 21/200 on M1: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_200_m15","name":"Cross Ema 21 200 M15","termCode":"cross_ema_21_200_m15","description":"EMA stack 21/200 on M15: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_200_m5","name":"Cross Ema 21 200 M5","termCode":"cross_ema_21_200_m5","description":"EMA stack 21/200 on M5: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_200_m1","name":"Cross Ema 34 200 M1","termCode":"cross_ema_34_200_m1","description":"EMA stack 34/200 on M1: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_200_m15","name":"Cross Ema 34 200 M15","termCode":"cross_ema_34_200_m15","description":"EMA stack 34/200 on M15: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_200_m5","name":"Cross Ema 34 200 M5","termCode":"cross_ema_34_200_m5","description":"EMA stack 34/200 on M5: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_50_200_m1","name":"Cross Ema 50 200 M1","termCode":"cross_ema_50_200_m1","description":"EMA stack 50/200 on M1: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_50_200_m15","name":"Cross Ema 50 200 M15","termCode":"cross_ema_50_200_m15","description":"EMA stack 50/200 on M15: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_50_200_m5","name":"Cross Ema 50 200 M5","termCode":"cross_ema_50_200_m5","description":"EMA stack 50/200 on M5: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_200_m1","name":"Cross Ema 8 200 M1","termCode":"cross_ema_8_200_m1","description":"EMA stack 8/200 on M1: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_200_m15","name":"Cross Ema 8 200 M15","termCode":"cross_ema_8_200_m15","description":"EMA stack 8/200 on M15: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_200_m5","name":"Cross Ema 8 200 M5","termCode":"cross_ema_8_200_m5","description":"EMA stack 8/200 on M5: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_200_m1","name":"Cross Sma 13 200 M1","termCode":"cross_sma_13_200_m1","description":"SMA stack 13/200 on M1: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_200_m15","name":"Cross Sma 13 200 M15","termCode":"cross_sma_13_200_m15","description":"SMA stack 13/200 on M15: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_200_m5","name":"Cross Sma 13 200 M5","termCode":"cross_sma_13_200_m5","description":"SMA stack 13/200 on M5: 1 when the 13-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_200_m1","name":"Cross Sma 20 200 M1","termCode":"cross_sma_20_200_m1","description":"SMA stack 20/200 on M1: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_200_m15","name":"Cross Sma 20 200 M15","termCode":"cross_sma_20_200_m15","description":"SMA stack 20/200 on M15: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_200_m5","name":"Cross Sma 20 200 M5","termCode":"cross_sma_20_200_m5","description":"SMA stack 20/200 on M5: 1 when the 20-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_200_m1","name":"Cross Sma 21 200 M1","termCode":"cross_sma_21_200_m1","description":"SMA stack 21/200 on M1: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_200_m15","name":"Cross Sma 21 200 M15","termCode":"cross_sma_21_200_m15","description":"SMA stack 21/200 on M15: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_200_m5","name":"Cross Sma 21 200 M5","termCode":"cross_sma_21_200_m5","description":"SMA stack 21/200 on M5: 1 when the 21-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_200_m1","name":"Cross Sma 34 200 M1","termCode":"cross_sma_34_200_m1","description":"SMA stack 34/200 on M1: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_200_m15","name":"Cross Sma 34 200 M15","termCode":"cross_sma_34_200_m15","description":"SMA stack 34/200 on M15: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_200_m5","name":"Cross Sma 34 200 M5","termCode":"cross_sma_34_200_m5","description":"SMA stack 34/200 on M5: 1 when the 34-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_50_200_m1","name":"Cross Sma 50 200 M1","termCode":"cross_sma_50_200_m1","description":"SMA stack 50/200 on M1: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_50_200_m15","name":"Cross Sma 50 200 M15","termCode":"cross_sma_50_200_m15","description":"SMA stack 50/200 on M15: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_50_200_m5","name":"Cross Sma 50 200 M5","termCode":"cross_sma_50_200_m5","description":"SMA stack 50/200 on M5: 1 when the 50-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_200_m1","name":"Cross Sma 8 200 M1","termCode":"cross_sma_8_200_m1","description":"SMA stack 8/200 on M1: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_200_m15","name":"Cross Sma 8 200 M15","termCode":"cross_sma_8_200_m15","description":"SMA stack 8/200 on M15: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_200_m5","name":"Cross Sma 8 200 M5","termCode":"cross_sma_8_200_m5","description":"SMA stack 8/200 on M5: 1 when the 8-period average is above the 200-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_21_m1","name":"Cross Ema 13 21 M1","termCode":"cross_ema_13_21_m1","description":"EMA stack 13/21 on M1: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_21_m15","name":"Cross Ema 13 21 M15","termCode":"cross_ema_13_21_m15","description":"EMA stack 13/21 on M15: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_21_m5","name":"Cross Ema 13 21 M5","termCode":"cross_ema_13_21_m5","description":"EMA stack 13/21 on M5: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_21_m1","name":"Cross Ema 20 21 M1","termCode":"cross_ema_20_21_m1","description":"EMA stack 20/21 on M1: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_21_m15","name":"Cross Ema 20 21 M15","termCode":"cross_ema_20_21_m15","description":"EMA stack 20/21 on M15: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_21_m5","name":"Cross Ema 20 21 M5","termCode":"cross_ema_20_21_m5","description":"EMA stack 20/21 on M5: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_21_m1","name":"Cross Ema 8 21 M1","termCode":"cross_ema_8_21_m1","description":"EMA stack 8/21 on M1: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_21_m15","name":"Cross Ema 8 21 M15","termCode":"cross_ema_8_21_m15","description":"EMA stack 8/21 on M15: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_21_m5","name":"Cross Ema 8 21 M5","termCode":"cross_ema_8_21_m5","description":"EMA stack 8/21 on M5: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_21_m1","name":"Cross Sma 13 21 M1","termCode":"cross_sma_13_21_m1","description":"SMA stack 13/21 on M1: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_21_m15","name":"Cross Sma 13 21 M15","termCode":"cross_sma_13_21_m15","description":"SMA stack 13/21 on M15: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_21_m5","name":"Cross Sma 13 21 M5","termCode":"cross_sma_13_21_m5","description":"SMA stack 13/21 on M5: 1 when the 13-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_21_m1","name":"Cross Sma 20 21 M1","termCode":"cross_sma_20_21_m1","description":"SMA stack 20/21 on M1: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_21_m15","name":"Cross Sma 20 21 M15","termCode":"cross_sma_20_21_m15","description":"SMA stack 20/21 on M15: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_21_m5","name":"Cross Sma 20 21 M5","termCode":"cross_sma_20_21_m5","description":"SMA stack 20/21 on M5: 1 when the 20-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_21_m1","name":"Cross Sma 8 21 M1","termCode":"cross_sma_8_21_m1","description":"SMA stack 8/21 on M1: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_21_m15","name":"Cross Sma 8 21 M15","termCode":"cross_sma_8_21_m15","description":"SMA stack 8/21 on M15: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_21_m5","name":"Cross Sma 8 21 M5","termCode":"cross_sma_8_21_m5","description":"SMA stack 8/21 on M5: 1 when the 8-period average is above the 21-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_12_26_9_m1","name":"Cross Macd 12 26 9 M1","termCode":"cross_macd_12_26_9_m1","description":"MACD(12,26,9) stack on M1: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M1 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_12_26_9_m15","name":"Cross Macd 12 26 9 M15","termCode":"cross_macd_12_26_9_m15","description":"MACD(12,26,9) stack on M15: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M15 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_macd_12_26_9_m5","name":"Cross Macd 12 26 9 M5","termCode":"cross_macd_12_26_9_m5","description":"MACD(12,26,9) stack on M5: 1 when the MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD stack on M5 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (MACD line above signal); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_12_26_9_m1","name":"MACD Below zero, MACD above signal (12/26/9 M1)","termCode":"macd_quad_neg_above_12_26_9_m1","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_12_26_9_m15","name":"MACD Below zero, MACD above signal (12/26/9 M15)","termCode":"macd_quad_neg_above_12_26_9_m15","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_above_12_26_9_m5","name":"MACD Below zero, MACD above signal (12/26/9 M5)","termCode":"macd_quad_neg_above_12_26_9_m5","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_12_26_9_m1","name":"MACD Below zero, MACD below signal (12/26/9 M1)","termCode":"macd_quad_neg_below_12_26_9_m1","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_12_26_9_m15","name":"MACD Below zero, MACD below signal (12/26/9 M15)","termCode":"macd_quad_neg_below_12_26_9_m15","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_neg_below_12_26_9_m5","name":"MACD Below zero, MACD below signal (12/26/9 M5)","termCode":"macd_quad_neg_below_12_26_9_m5","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote −1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_12_26_9_m1","name":"MACD Above zero, MACD above signal (12/26/9 M1)","termCode":"macd_quad_pos_above_12_26_9_m1","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_12_26_9_m15","name":"MACD Above zero, MACD above signal (12/26/9 M15)","termCode":"macd_quad_pos_above_12_26_9_m15","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_above_12_26_9_m5","name":"MACD Above zero, MACD above signal (12/26/9 M5)","termCode":"macd_quad_pos_above_12_26_9_m5","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is above zero and MACD line is above the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Vote +1 when this quadrant is active (flag=1); else 0."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_12_26_9_m1","name":"MACD Above zero, MACD below signal (12/26/9 M1)","termCode":"macd_quad_pos_below_12_26_9_m1","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_12_26_9_m15","name":"MACD Above zero, MACD below signal (12/26/9 M15)","termCode":"macd_quad_pos_below_12_26_9_m15","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_quad_pos_below_12_26_9_m5","name":"MACD Above zero, MACD below signal (12/26/9 M5)","termCode":"macd_quad_pos_below_12_26_9_m5","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is above zero and MACD line is at or below the signal line.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings."},{"@type":"PropertyValue","name":"usefulness","value":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum."},{"@type":"PropertyValue","name":"signalRule","value":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_34_m1","name":"Cross Ema 13 34 M1","termCode":"cross_ema_13_34_m1","description":"EMA stack 13/34 on M1: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_34_m15","name":"Cross Ema 13 34 M15","termCode":"cross_ema_13_34_m15","description":"EMA stack 13/34 on M15: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_34_m5","name":"Cross Ema 13 34 M5","termCode":"cross_ema_13_34_m5","description":"EMA stack 13/34 on M5: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_34_m1","name":"Cross Ema 20 34 M1","termCode":"cross_ema_20_34_m1","description":"EMA stack 20/34 on M1: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_34_m15","name":"Cross Ema 20 34 M15","termCode":"cross_ema_20_34_m15","description":"EMA stack 20/34 on M15: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_34_m5","name":"Cross Ema 20 34 M5","termCode":"cross_ema_20_34_m5","description":"EMA stack 20/34 on M5: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_34_m1","name":"Cross Ema 21 34 M1","termCode":"cross_ema_21_34_m1","description":"EMA stack 21/34 on M1: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_34_m15","name":"Cross Ema 21 34 M15","termCode":"cross_ema_21_34_m15","description":"EMA stack 21/34 on M15: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_34_m5","name":"Cross Ema 21 34 M5","termCode":"cross_ema_21_34_m5","description":"EMA stack 21/34 on M5: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_34_m1","name":"Cross Ema 8 34 M1","termCode":"cross_ema_8_34_m1","description":"EMA stack 8/34 on M1: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_34_m15","name":"Cross Ema 8 34 M15","termCode":"cross_ema_8_34_m15","description":"EMA stack 8/34 on M15: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_34_m5","name":"Cross Ema 8 34 M5","termCode":"cross_ema_8_34_m5","description":"EMA stack 8/34 on M5: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_34_m1","name":"Cross Sma 13 34 M1","termCode":"cross_sma_13_34_m1","description":"SMA stack 13/34 on M1: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_34_m15","name":"Cross Sma 13 34 M15","termCode":"cross_sma_13_34_m15","description":"SMA stack 13/34 on M15: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_34_m5","name":"Cross Sma 13 34 M5","termCode":"cross_sma_13_34_m5","description":"SMA stack 13/34 on M5: 1 when the 13-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_34_m1","name":"Cross Sma 20 34 M1","termCode":"cross_sma_20_34_m1","description":"SMA stack 20/34 on M1: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_34_m15","name":"Cross Sma 20 34 M15","termCode":"cross_sma_20_34_m15","description":"SMA stack 20/34 on M15: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_34_m5","name":"Cross Sma 20 34 M5","termCode":"cross_sma_20_34_m5","description":"SMA stack 20/34 on M5: 1 when the 20-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_34_m1","name":"Cross Sma 21 34 M1","termCode":"cross_sma_21_34_m1","description":"SMA stack 21/34 on M1: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_34_m15","name":"Cross Sma 21 34 M15","termCode":"cross_sma_21_34_m15","description":"SMA stack 21/34 on M15: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_34_m5","name":"Cross Sma 21 34 M5","termCode":"cross_sma_21_34_m5","description":"SMA stack 21/34 on M5: 1 when the 21-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_34_m1","name":"Cross Sma 8 34 M1","termCode":"cross_sma_8_34_m1","description":"SMA stack 8/34 on M1: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_34_m15","name":"Cross Sma 8 34 M15","termCode":"cross_sma_8_34_m15","description":"SMA stack 8/34 on M15: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_34_m5","name":"Cross Sma 8 34 M5","termCode":"cross_sma_8_34_m5","description":"SMA stack 8/34 on M5: 1 when the 8-period average is above the 34-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_50_m1","name":"Cross Ema 13 50 M1","termCode":"cross_ema_13_50_m1","description":"EMA stack 13/50 on M1: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_50_m15","name":"Cross Ema 13 50 M15","termCode":"cross_ema_13_50_m15","description":"EMA stack 13/50 on M15: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_13_50_m5","name":"Cross Ema 13 50 M5","termCode":"cross_ema_13_50_m5","description":"EMA stack 13/50 on M5: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_50_m1","name":"Cross Ema 20 50 M1","termCode":"cross_ema_20_50_m1","description":"EMA stack 20/50 on M1: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_50_m15","name":"Cross Ema 20 50 M15","termCode":"cross_ema_20_50_m15","description":"EMA stack 20/50 on M15: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_20_50_m5","name":"Cross Ema 20 50 M5","termCode":"cross_ema_20_50_m5","description":"EMA stack 20/50 on M5: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_50_m1","name":"Cross Ema 21 50 M1","termCode":"cross_ema_21_50_m1","description":"EMA stack 21/50 on M1: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_50_m15","name":"Cross Ema 21 50 M15","termCode":"cross_ema_21_50_m15","description":"EMA stack 21/50 on M15: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_21_50_m5","name":"Cross Ema 21 50 M5","termCode":"cross_ema_21_50_m5","description":"EMA stack 21/50 on M5: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_50_m1","name":"Cross Ema 34 50 M1","termCode":"cross_ema_34_50_m1","description":"EMA stack 34/50 on M1: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_50_m15","name":"Cross Ema 34 50 M15","termCode":"cross_ema_34_50_m15","description":"EMA stack 34/50 on M15: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_34_50_m5","name":"Cross Ema 34 50 M5","termCode":"cross_ema_34_50_m5","description":"EMA stack 34/50 on M5: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_50_m1","name":"Cross Ema 8 50 M1","termCode":"cross_ema_8_50_m1","description":"EMA stack 8/50 on M1: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_50_m15","name":"Cross Ema 8 50 M15","termCode":"cross_ema_8_50_m15","description":"EMA stack 8/50 on M15: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_ema_8_50_m5","name":"Cross Ema 8 50 M5","termCode":"cross_ema_8_50_m5","description":"EMA stack 8/50 on M5: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_50_m1","name":"Cross Sma 13 50 M1","termCode":"cross_sma_13_50_m1","description":"SMA stack 13/50 on M1: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_50_m15","name":"Cross Sma 13 50 M15","termCode":"cross_sma_13_50_m15","description":"SMA stack 13/50 on M15: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_13_50_m5","name":"Cross Sma 13 50 M5","termCode":"cross_sma_13_50_m5","description":"SMA stack 13/50 on M5: 1 when the 13-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_50_m1","name":"Cross Sma 20 50 M1","termCode":"cross_sma_20_50_m1","description":"SMA stack 20/50 on M1: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_50_m15","name":"Cross Sma 20 50 M15","termCode":"cross_sma_20_50_m15","description":"SMA stack 20/50 on M15: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_20_50_m5","name":"Cross Sma 20 50 M5","termCode":"cross_sma_20_50_m5","description":"SMA stack 20/50 on M5: 1 when the 20-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_50_m1","name":"Cross Sma 21 50 M1","termCode":"cross_sma_21_50_m1","description":"SMA stack 21/50 on M1: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_50_m15","name":"Cross Sma 21 50 M15","termCode":"cross_sma_21_50_m15","description":"SMA stack 21/50 on M15: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_21_50_m5","name":"Cross Sma 21 50 M5","termCode":"cross_sma_21_50_m5","description":"SMA stack 21/50 on M5: 1 when the 21-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_50_m1","name":"Cross Sma 34 50 M1","termCode":"cross_sma_34_50_m1","description":"SMA stack 34/50 on M1: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_50_m15","name":"Cross Sma 34 50 M15","termCode":"cross_sma_34_50_m15","description":"SMA stack 34/50 on M15: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_34_50_m5","name":"Cross Sma 34 50 M5","termCode":"cross_sma_34_50_m5","description":"SMA stack 34/50 on M5: 1 when the 34-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_50_m1","name":"Cross Sma 8 50 M1","termCode":"cross_sma_8_50_m1","description":"SMA stack 8/50 on M1: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_50_m15","name":"Cross Sma 8 50 M15","termCode":"cross_sma_8_50_m15","description":"SMA stack 8/50 on M15: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-cross_sma_8_50_m5","name":"Cross Sma 8 50 M5","termCode":"cross_sma_8_50_m5","description":"SMA stack 8/50 on M5: 1 when the 8-period average is above the 50-period average.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"crosses"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average."},{"@type":"PropertyValue","name":"usefulness","value":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_close","name":"Last D1 Close","termCode":"last_d1_close","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"Close of the last fully completed D1 bar, forward-filled to each M1 row."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if last HTF close > last HTF SMA 20; bearish if below."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_ema_20","name":"Last D1 Ema 20","termCode":"last_d1_ema_20","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"EMA(20) of D1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_ema_50","name":"Last D1 Ema 50","termCode":"last_d1_ema_50","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"EMA(50) of D1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_high","name":"Last D1 High","termCode":"last_d1_high","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"High of the last fully completed D1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_low","name":"Last D1 Low","termCode":"last_d1_low","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"Low of the last fully completed D1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_open","name":"Last D1 Open","termCode":"last_d1_open","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"Open of the last fully completed D1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_sma_20","name":"Last D1 Sma 20","termCode":"last_d1_sma_20","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"SMA(20) of D1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-last_d1_sma_50","name":"Last D1 Sma 50","termCode":"last_d1_sma_50","description":"Last completed D1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"SMA(50) of D1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_close","name":"Last H1 Close","termCode":"last_h1_close","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"Close of the last fully completed H1 bar, forward-filled to each M1 row."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if last HTF close > last HTF SMA 20; bearish if below."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_ema_20","name":"Last H1 Ema 20","termCode":"last_h1_ema_20","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"EMA(20) of H1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_ema_50","name":"Last H1 Ema 50","termCode":"last_h1_ema_50","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"EMA(50) of H1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_high","name":"Last H1 High","termCode":"last_h1_high","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"High of the last fully completed H1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_low","name":"Last H1 Low","termCode":"last_h1_low","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"Low of the last fully completed H1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_open","name":"Last H1 Open","termCode":"last_h1_open","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"Open of the last fully completed H1 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_sma_20","name":"Last H1 Sma 20","termCode":"last_h1_sma_20","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"SMA(20) of H1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h1_sma_50","name":"Last H1 Sma 50","termCode":"last_h1_sma_50","description":"Last completed H1 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h1"},{"@type":"PropertyValue","name":"formula","value":"SMA(50) of H1 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_close","name":"Last H4 Close","termCode":"last_h4_close","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"Close of the last fully completed H4 bar, forward-filled to each M1 row."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if last HTF close > last HTF SMA 20; bearish if below."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_ema_20","name":"Last H4 Ema 20","termCode":"last_h4_ema_20","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"EMA(20) of H4 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_ema_50","name":"Last H4 Ema 50","termCode":"last_h4_ema_50","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"EMA(50) of H4 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_high","name":"Last H4 High","termCode":"last_h4_high","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"High of the last fully completed H4 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_low","name":"Last H4 Low","termCode":"last_h4_low","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"Low of the last fully completed H4 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_open","name":"Last H4 Open","termCode":"last_h4_open","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"Open of the last fully completed H4 bar, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_sma_20","name":"Last H4 Sma 20","termCode":"last_h4_sma_20","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"SMA(20) of H4 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-last_h4_sma_50","name":"Last H4 Sma 50","termCode":"last_h4_sma_50","description":"Last completed H4 bar value forward-filled to M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"htf"},{"@type":"PropertyValue","name":"timeframe","value":"h4"},{"@type":"PropertyValue","name":"formula","value":"SMA(50) of H4 closes on completed bars only, forward-filled to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp."},{"@type":"PropertyValue","name":"signalRule","value":"Compared via close vs SMA columns at same timestamp."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_8_17_9_m1","name":"Macd Hist 8 17 9 M1","termCode":"macd_hist_8_17_9_m1","description":"MACD histogram for MACD(8,17,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M1: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_8_17_9_m15","name":"Macd Hist 8 17 9 M15","termCode":"macd_hist_8_17_9_m15","description":"MACD histogram for MACD(8,17,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M15: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_8_17_9_m5","name":"Macd Hist 8 17 9 M5","termCode":"macd_hist_8_17_9_m5","description":"MACD histogram for MACD(8,17,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M5: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_8_17_9_m1","name":"Macd Line 8 17 9 M1","termCode":"macd_line_8_17_9_m1","description":"MACD line for MACD(8,17,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M1: EMA(8) − EMA(17) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_8_17_9_m15","name":"Macd Line 8 17 9 M15","termCode":"macd_line_8_17_9_m15","description":"MACD line for MACD(8,17,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M15: EMA(8) − EMA(17) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_8_17_9_m5","name":"Macd Line 8 17 9 M5","termCode":"macd_line_8_17_9_m5","description":"MACD line for MACD(8,17,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M5: EMA(8) − EMA(17) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_8_17_9_m1","name":"Macd Signal 8 17 9 M1","termCode":"macd_signal_8_17_9_m1","description":"MACD signal for MACD(8,17,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M1: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_8_17_9_m15","name":"Macd Signal 8 17 9 M15","termCode":"macd_signal_8_17_9_m15","description":"MACD signal for MACD(8,17,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M15: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_8_17_9_m5","name":"Macd Signal 8 17 9 M5","termCode":"macd_signal_8_17_9_m5","description":"MACD signal for MACD(8,17,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p17"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M5: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_12_26_9_m1","name":"Macd Hist 12 26 9 M1","termCode":"macd_hist_12_26_9_m1","description":"MACD histogram for MACD(12,26,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M1: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_12_26_9_m15","name":"Macd Hist 12 26 9 M15","termCode":"macd_hist_12_26_9_m15","description":"MACD histogram for MACD(12,26,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M15: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_hist_12_26_9_m5","name":"Macd Hist 12 26 9 M5","termCode":"macd_hist_12_26_9_m5","description":"MACD histogram for MACD(12,26,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD histogram on M5: MACD line − signal line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if histogram > 0; bearish if < 0; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_12_26_9_m1","name":"Macd Line 12 26 9 M1","termCode":"macd_line_12_26_9_m1","description":"MACD line for MACD(12,26,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M1: EMA(12) − EMA(26) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_12_26_9_m15","name":"Macd Line 12 26 9 M15","termCode":"macd_line_12_26_9_m15","description":"MACD line for MACD(12,26,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M15: EMA(12) − EMA(26) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_line_12_26_9_m5","name":"Macd Line 12 26 9 M5","termCode":"macd_line_12_26_9_m5","description":"MACD line for MACD(12,26,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD line on M5: EMA(12) − EMA(26) of mid close."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_12_26_9_m1","name":"Macd Signal 12 26 9 M1","termCode":"macd_signal_12_26_9_m1","description":"MACD signal for MACD(12,26,9) on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M1: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_12_26_9_m15","name":"Macd Signal 12 26 9 M15","termCode":"macd_signal_12_26_9_m15","description":"MACD signal for MACD(12,26,9) on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M15: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-macd_signal_12_26_9_m5","name":"Macd Signal 12 26 9 M5","termCode":"macd_signal_12_26_9_m5","description":"MACD signal for MACD(12,26,9) on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"momentum"},{"@type":"PropertyValue","name":"timeframe","value":"p26"},{"@type":"PropertyValue","name":"formula","value":"MACD signal on M5: EMA(9) of the MACD line."},{"@type":"PropertyValue","name":"usefulness","value":"MACD level context for momentum and trend-following soup recipes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral level column — pair with cross_macd or macd_hist in recipes."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_13_m1","name":"Ema Std 13 M1","termCode":"ema_std_13_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_13_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_200_m1","name":"Ema Std 200 M1","termCode":"ema_std_200_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_200_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_20_m1","name":"Ema Std 20 M1","termCode":"ema_std_20_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_20_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_21_m1","name":"Ema Std 21 M1","termCode":"ema_std_21_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_21_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_34_m1","name":"Ema Std 34 M1","termCode":"ema_std_34_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_34_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_50_m1","name":"Ema Std 50 M1","termCode":"ema_std_50_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_50_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_8_m1","name":"Ema Std 8 M1","termCode":"ema_std_8_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_8_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_13_m1","name":"Sma Std 13 M1","termCode":"sma_std_13_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_13_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_200_m1","name":"Sma Std 200 M1","termCode":"sma_std_200_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_200_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_20_m1","name":"Sma Std 20 M1","termCode":"sma_std_20_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_20_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_21_m1","name":"Sma Std 21 M1","termCode":"sma_std_21_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_21_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_34_m1","name":"Sma Std 34 M1","termCode":"sma_std_34_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_34_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_50_m1","name":"Sma Std 50 M1","termCode":"sma_std_50_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_50_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_8_m1","name":"Sma Std 8 M1","termCode":"sma_std_8_m1","description":"Moving average level (1 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_8_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_13_m15","name":"Ema Std 13 M15","termCode":"ema_std_13_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_13_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_200_m15","name":"Ema Std 200 M15","termCode":"ema_std_200_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_200_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_20_m15","name":"Ema Std 20 M15","termCode":"ema_std_20_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_20_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_21_m15","name":"Ema Std 21 M15","termCode":"ema_std_21_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_21_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_34_m15","name":"Ema Std 34 M15","termCode":"ema_std_34_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_34_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_50_m15","name":"Ema Std 50 M15","termCode":"ema_std_50_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_50_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_8_m15","name":"Ema Std 8 M15","termCode":"ema_std_8_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_8_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_13_m15","name":"Sma Std 13 M15","termCode":"sma_std_13_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_13_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_200_m15","name":"Sma Std 200 M15","termCode":"sma_std_200_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_200_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_20_m15","name":"Sma Std 20 M15","termCode":"sma_std_20_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_20_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_21_m15","name":"Sma Std 21 M15","termCode":"sma_std_21_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_21_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_34_m15","name":"Sma Std 34 M15","termCode":"sma_std_34_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_34_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_50_m15","name":"Sma Std 50 M15","termCode":"sma_std_50_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_50_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_8_m15","name":"Sma Std 8 M15","termCode":"sma_std_8_m15","description":"Moving average level (15 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_8_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_13_m5","name":"Ema Std 13 M5","termCode":"ema_std_13_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_13_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_200_m5","name":"Ema Std 200 M5","termCode":"ema_std_200_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_200_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_20_m5","name":"Ema Std 20 M5","termCode":"ema_std_20_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_20_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_21_m5","name":"Ema Std 21 M5","termCode":"ema_std_21_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_21_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_34_m5","name":"Ema Std 34 M5","termCode":"ema_std_34_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_34_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_50_m5","name":"Ema Std 50 M5","termCode":"ema_std_50_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_50_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_std_8_m5","name":"Ema Std 8 M5","termCode":"ema_std_8_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `ema_std_8_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_13_m5","name":"Sma Std 13 M5","termCode":"sma_std_13_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_13_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_200_m5","name":"Sma Std 200 M5","termCode":"sma_std_200_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_200_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_20_m5","name":"Sma Std 20 M5","termCode":"sma_std_20_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_20_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_21_m5","name":"Sma Std 21 M5","termCode":"sma_std_21_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_21_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_34_m5","name":"Sma Std 34 M5","termCode":"sma_std_34_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_34_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_50_m5","name":"Sma Std 50 M5","termCode":"sma_std_50_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_50_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_std_8_m5","name":"Sma Std 8 M5","termCode":"sma_std_8_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Enriched feature `sma_std_8_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context)."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_10_m1","name":"Above Sma 10 M1","termCode":"above_sma_10_m1","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(10) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_10_m15","name":"Above Sma 10 M15","termCode":"above_sma_10_m15","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(10) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_10_m5","name":"Above Sma 10 M5","termCode":"above_sma_10_m5","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(10) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m15_atr","name":"Dist Sma 10 M15 Atr","termCode":"dist_sma_10_m15_atr","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(10)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m15_pts","name":"Dist Sma 10 M15 Pts","termCode":"dist_sma_10_m15_pts","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(10) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m1_atr","name":"Dist Sma 10 M1 Atr","termCode":"dist_sma_10_m1_atr","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(10)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m1_pts","name":"Dist Sma 10 M1 Pts","termCode":"dist_sma_10_m1_pts","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(10) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m5_atr","name":"Dist Sma 10 M5 Atr","termCode":"dist_sma_10_m5_atr","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(10)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_10_m5_pts","name":"Dist Sma 10 M5 Pts","termCode":"dist_sma_10_m5_pts","description":"Distance from SMA in ATR units (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(10) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_10_m1","name":"Ema 10 M1","termCode":"ema_10_m1","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=10) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_10_m15","name":"Ema 10 M15","termCode":"ema_10_m15","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=10) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_10_m5","name":"Ema 10 M5","termCode":"ema_10_m5","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=10) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m1","name":"Sma 10 M1","termCode":"sma_10_m1","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m15","name":"Sma 10 M15","termCode":"sma_10_m15","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m15_slope_1","name":"Sma 10 M15 Slope 1","termCode":"sma_10_m15_slope_1","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m15_slope_5","name":"Sma 10 M15 Slope 5","termCode":"sma_10_m15_slope_5","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m1_slope_1","name":"Sma 10 M1 Slope 1","termCode":"sma_10_m1_slope_1","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m1_slope_5","name":"Sma 10 M1 Slope 5","termCode":"sma_10_m1_slope_5","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m5","name":"Sma 10 M5","termCode":"sma_10_m5","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m5_slope_1","name":"Sma 10 M5 Slope 1","termCode":"sma_10_m5_slope_1","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_10_m5_slope_5","name":"Sma 10 M5 Slope 5","termCode":"sma_10_m5_slope_5","description":"Moving average level (10 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p10"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_100_m1","name":"Above Sma 100 M1","termCode":"above_sma_100_m1","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(100) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_100_m15","name":"Above Sma 100 M15","termCode":"above_sma_100_m15","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(100) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_100_m5","name":"Above Sma 100 M5","termCode":"above_sma_100_m5","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(100) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m15_atr","name":"Dist Sma 100 M15 Atr","termCode":"dist_sma_100_m15_atr","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(100)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m15_pts","name":"Dist Sma 100 M15 Pts","termCode":"dist_sma_100_m15_pts","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(100) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m1_atr","name":"Dist Sma 100 M1 Atr","termCode":"dist_sma_100_m1_atr","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(100)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m1_pts","name":"Dist Sma 100 M1 Pts","termCode":"dist_sma_100_m1_pts","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(100) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m5_atr","name":"Dist Sma 100 M5 Atr","termCode":"dist_sma_100_m5_atr","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(100)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_100_m5_pts","name":"Dist Sma 100 M5 Pts","termCode":"dist_sma_100_m5_pts","description":"Distance from SMA in ATR units (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(100) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_100_m1","name":"Ema 100 M1","termCode":"ema_100_m1","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=100) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_100_m15","name":"Ema 100 M15","termCode":"ema_100_m15","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=100) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_100_m5","name":"Ema 100 M5","termCode":"ema_100_m5","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=100) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m1","name":"Sma 100 M1","termCode":"sma_100_m1","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m15","name":"Sma 100 M15","termCode":"sma_100_m15","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m15_slope_1","name":"Sma 100 M15 Slope 1","termCode":"sma_100_m15_slope_1","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m15_slope_5","name":"Sma 100 M15 Slope 5","termCode":"sma_100_m15_slope_5","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m1_slope_1","name":"Sma 100 M1 Slope 1","termCode":"sma_100_m1_slope_1","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m1_slope_5","name":"Sma 100 M1 Slope 5","termCode":"sma_100_m1_slope_5","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m5","name":"Sma 100 M5","termCode":"sma_100_m5","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m5_slope_1","name":"Sma 100 M5 Slope 1","termCode":"sma_100_m5_slope_1","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_100_m5_slope_5","name":"Sma 100 M5 Slope 5","termCode":"sma_100_m5_slope_5","description":"Moving average level (100 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p100"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_13_m1","name":"Above Sma 13 M1","termCode":"above_sma_13_m1","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(13) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_13_m15","name":"Above Sma 13 M15","termCode":"above_sma_13_m15","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(13) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_13_m5","name":"Above Sma 13 M5","termCode":"above_sma_13_m5","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(13) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m15_atr","name":"Dist Sma 13 M15 Atr","termCode":"dist_sma_13_m15_atr","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(13)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m15_pts","name":"Dist Sma 13 M15 Pts","termCode":"dist_sma_13_m15_pts","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(13) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m1_atr","name":"Dist Sma 13 M1 Atr","termCode":"dist_sma_13_m1_atr","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(13)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m1_pts","name":"Dist Sma 13 M1 Pts","termCode":"dist_sma_13_m1_pts","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(13) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m5_atr","name":"Dist Sma 13 M5 Atr","termCode":"dist_sma_13_m5_atr","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(13)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_13_m5_pts","name":"Dist Sma 13 M5 Pts","termCode":"dist_sma_13_m5_pts","description":"Distance from SMA in ATR units (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(13) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_13_m1","name":"Ema 13 M1","termCode":"ema_13_m1","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=13) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_13_m15","name":"Ema 13 M15","termCode":"ema_13_m15","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=13) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_13_m5","name":"Ema 13 M5","termCode":"ema_13_m5","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=13) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m1","name":"Sma 13 M1","termCode":"sma_13_m1","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m15","name":"Sma 13 M15","termCode":"sma_13_m15","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m15_slope_1","name":"Sma 13 M15 Slope 1","termCode":"sma_13_m15_slope_1","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m15_slope_5","name":"Sma 13 M15 Slope 5","termCode":"sma_13_m15_slope_5","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m1_slope_1","name":"Sma 13 M1 Slope 1","termCode":"sma_13_m1_slope_1","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m1_slope_5","name":"Sma 13 M1 Slope 5","termCode":"sma_13_m1_slope_5","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m5","name":"Sma 13 M5","termCode":"sma_13_m5","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m5_slope_1","name":"Sma 13 M5 Slope 1","termCode":"sma_13_m5_slope_1","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_13_m5_slope_5","name":"Sma 13 M5 Slope 5","termCode":"sma_13_m5_slope_5","description":"Moving average level (13 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p13"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_144_m1","name":"Above Sma 144 M1","termCode":"above_sma_144_m1","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(144) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_144_m15","name":"Above Sma 144 M15","termCode":"above_sma_144_m15","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(144) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_144_m5","name":"Above Sma 144 M5","termCode":"above_sma_144_m5","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(144) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m15_atr","name":"Dist Sma 144 M15 Atr","termCode":"dist_sma_144_m15_atr","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(144)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m15_pts","name":"Dist Sma 144 M15 Pts","termCode":"dist_sma_144_m15_pts","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(144) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m1_atr","name":"Dist Sma 144 M1 Atr","termCode":"dist_sma_144_m1_atr","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(144)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m1_pts","name":"Dist Sma 144 M1 Pts","termCode":"dist_sma_144_m1_pts","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(144) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m5_atr","name":"Dist Sma 144 M5 Atr","termCode":"dist_sma_144_m5_atr","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(144)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_144_m5_pts","name":"Dist Sma 144 M5 Pts","termCode":"dist_sma_144_m5_pts","description":"Distance from SMA in ATR units (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(144) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_144_m1","name":"Ema 144 M1","termCode":"ema_144_m1","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=144) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_144_m15","name":"Ema 144 M15","termCode":"ema_144_m15","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=144) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_144_m5","name":"Ema 144 M5","termCode":"ema_144_m5","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=144) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m1","name":"Sma 144 M1","termCode":"sma_144_m1","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m15","name":"Sma 144 M15","termCode":"sma_144_m15","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m15_slope_1","name":"Sma 144 M15 Slope 1","termCode":"sma_144_m15_slope_1","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m15_slope_5","name":"Sma 144 M15 Slope 5","termCode":"sma_144_m15_slope_5","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m1_slope_1","name":"Sma 144 M1 Slope 1","termCode":"sma_144_m1_slope_1","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m1_slope_5","name":"Sma 144 M1 Slope 5","termCode":"sma_144_m1_slope_5","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m5","name":"Sma 144 M5","termCode":"sma_144_m5","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m5_slope_1","name":"Sma 144 M5 Slope 1","termCode":"sma_144_m5_slope_1","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_144_m5_slope_5","name":"Sma 144 M5 Slope 5","termCode":"sma_144_m5_slope_5","description":"Moving average level (144 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p144"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_20_m1","name":"Above Sma 20 M1","termCode":"above_sma_20_m1","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(20) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_20_m15","name":"Above Sma 20 M15","termCode":"above_sma_20_m15","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(20) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_20_m5","name":"Above Sma 20 M5","termCode":"above_sma_20_m5","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(20) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m15_atr","name":"Dist Sma 20 M15 Atr","termCode":"dist_sma_20_m15_atr","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(20)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m15_pts","name":"Dist Sma 20 M15 Pts","termCode":"dist_sma_20_m15_pts","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(20) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m1_atr","name":"Dist Sma 20 M1 Atr","termCode":"dist_sma_20_m1_atr","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(20)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m1_pts","name":"Dist Sma 20 M1 Pts","termCode":"dist_sma_20_m1_pts","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(20) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m5_atr","name":"Dist Sma 20 M5 Atr","termCode":"dist_sma_20_m5_atr","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(20)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_20_m5_pts","name":"Dist Sma 20 M5 Pts","termCode":"dist_sma_20_m5_pts","description":"Distance from SMA in ATR units (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(20) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_20_m1","name":"Ema 20 M1","termCode":"ema_20_m1","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=20) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_20_m15","name":"Ema 20 M15","termCode":"ema_20_m15","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=20) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_20_m5","name":"Ema 20 M5","termCode":"ema_20_m5","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=20) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m1","name":"Sma 20 M1","termCode":"sma_20_m1","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m15","name":"Sma 20 M15","termCode":"sma_20_m15","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m15_slope_1","name":"Sma 20 M15 Slope 1","termCode":"sma_20_m15_slope_1","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m15_slope_5","name":"Sma 20 M15 Slope 5","termCode":"sma_20_m15_slope_5","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m1_slope_1","name":"Sma 20 M1 Slope 1","termCode":"sma_20_m1_slope_1","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m1_slope_5","name":"Sma 20 M1 Slope 5","termCode":"sma_20_m1_slope_5","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m5","name":"Sma 20 M5","termCode":"sma_20_m5","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m5_slope_1","name":"Sma 20 M5 Slope 1","termCode":"sma_20_m5_slope_1","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_20_m5_slope_5","name":"Sma 20 M5 Slope 5","termCode":"sma_20_m5_slope_5","description":"Moving average level (20 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p20"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_200_m1","name":"Above Sma 200 M1","termCode":"above_sma_200_m1","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(200) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_200_m15","name":"Above Sma 200 M15","termCode":"above_sma_200_m15","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(200) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_200_m5","name":"Above Sma 200 M5","termCode":"above_sma_200_m5","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(200) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m15_atr","name":"Dist Sma 200 M15 Atr","termCode":"dist_sma_200_m15_atr","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(200)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m15_pts","name":"Dist Sma 200 M15 Pts","termCode":"dist_sma_200_m15_pts","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(200) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m1_atr","name":"Dist Sma 200 M1 Atr","termCode":"dist_sma_200_m1_atr","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(200)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m1_pts","name":"Dist Sma 200 M1 Pts","termCode":"dist_sma_200_m1_pts","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(200) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m5_atr","name":"Dist Sma 200 M5 Atr","termCode":"dist_sma_200_m5_atr","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(200)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_200_m5_pts","name":"Dist Sma 200 M5 Pts","termCode":"dist_sma_200_m5_pts","description":"Distance from SMA in ATR units (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(200) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_200_m1","name":"Ema 200 M1","termCode":"ema_200_m1","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=200) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_200_m15","name":"Ema 200 M15","termCode":"ema_200_m15","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=200) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_200_m5","name":"Ema 200 M5","termCode":"ema_200_m5","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=200) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m1","name":"Sma 200 M1","termCode":"sma_200_m1","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m15","name":"Sma 200 M15","termCode":"sma_200_m15","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m15_slope_1","name":"Sma 200 M15 Slope 1","termCode":"sma_200_m15_slope_1","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m15_slope_5","name":"Sma 200 M15 Slope 5","termCode":"sma_200_m15_slope_5","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m1_slope_1","name":"Sma 200 M1 Slope 1","termCode":"sma_200_m1_slope_1","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m1_slope_5","name":"Sma 200 M1 Slope 5","termCode":"sma_200_m1_slope_5","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m5","name":"Sma 200 M5","termCode":"sma_200_m5","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m5_slope_1","name":"Sma 200 M5 Slope 1","termCode":"sma_200_m5_slope_1","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_200_m5_slope_5","name":"Sma 200 M5 Slope 5","termCode":"sma_200_m5_slope_5","description":"Moving average level (200 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p200"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Multi-session trend and major swing structure (half day to several sessions)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_21_m1","name":"Above Sma 21 M1","termCode":"above_sma_21_m1","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(21) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_21_m15","name":"Above Sma 21 M15","termCode":"above_sma_21_m15","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(21) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_21_m5","name":"Above Sma 21 M5","termCode":"above_sma_21_m5","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(21) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m15_atr","name":"Dist Sma 21 M15 Atr","termCode":"dist_sma_21_m15_atr","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(21)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m15_pts","name":"Dist Sma 21 M15 Pts","termCode":"dist_sma_21_m15_pts","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(21) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m1_atr","name":"Dist Sma 21 M1 Atr","termCode":"dist_sma_21_m1_atr","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(21)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m1_pts","name":"Dist Sma 21 M1 Pts","termCode":"dist_sma_21_m1_pts","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(21) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m5_atr","name":"Dist Sma 21 M5 Atr","termCode":"dist_sma_21_m5_atr","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(21)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_21_m5_pts","name":"Dist Sma 21 M5 Pts","termCode":"dist_sma_21_m5_pts","description":"Distance from SMA in ATR units (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(21) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_21_m1","name":"Ema 21 M1","termCode":"ema_21_m1","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=21) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_21_m15","name":"Ema 21 M15","termCode":"ema_21_m15","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=21) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_21_m5","name":"Ema 21 M5","termCode":"ema_21_m5","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=21) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m1","name":"Sma 21 M1","termCode":"sma_21_m1","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m15","name":"Sma 21 M15","termCode":"sma_21_m15","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m15_slope_1","name":"Sma 21 M15 Slope 1","termCode":"sma_21_m15_slope_1","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m15_slope_5","name":"Sma 21 M15 Slope 5","termCode":"sma_21_m15_slope_5","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m1_slope_1","name":"Sma 21 M1 Slope 1","termCode":"sma_21_m1_slope_1","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m1_slope_5","name":"Sma 21 M1 Slope 5","termCode":"sma_21_m1_slope_5","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m5","name":"Sma 21 M5","termCode":"sma_21_m5","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m5_slope_1","name":"Sma 21 M5 Slope 1","termCode":"sma_21_m5_slope_1","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_21_m5_slope_5","name":"Sma 21 M5 Slope 5","termCode":"sma_21_m5_slope_5","description":"Moving average level (21 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p21"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_3_m1","name":"Above Sma 3 M1","termCode":"above_sma_3_m1","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(3) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_3_m15","name":"Above Sma 3 M15","termCode":"above_sma_3_m15","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(3) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_3_m5","name":"Above Sma 3 M5","termCode":"above_sma_3_m5","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(3) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m15_atr","name":"Dist Sma 3 M15 Atr","termCode":"dist_sma_3_m15_atr","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(3)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m15_pts","name":"Dist Sma 3 M15 Pts","termCode":"dist_sma_3_m15_pts","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(3) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m1_atr","name":"Dist Sma 3 M1 Atr","termCode":"dist_sma_3_m1_atr","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(3)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m1_pts","name":"Dist Sma 3 M1 Pts","termCode":"dist_sma_3_m1_pts","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(3) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m5_atr","name":"Dist Sma 3 M5 Atr","termCode":"dist_sma_3_m5_atr","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(3)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_3_m5_pts","name":"Dist Sma 3 M5 Pts","termCode":"dist_sma_3_m5_pts","description":"Distance from SMA in ATR units (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(3) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_3_m1","name":"Ema 3 M1","termCode":"ema_3_m1","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=3) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_3_m15","name":"Ema 3 M15","termCode":"ema_3_m15","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=3) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_3_m5","name":"Ema 3 M5","termCode":"ema_3_m5","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=3) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m1","name":"Sma 3 M1","termCode":"sma_3_m1","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m15","name":"Sma 3 M15","termCode":"sma_3_m15","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m15_slope_1","name":"Sma 3 M15 Slope 1","termCode":"sma_3_m15_slope_1","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m15_slope_5","name":"Sma 3 M15 Slope 5","termCode":"sma_3_m15_slope_5","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m1_slope_1","name":"Sma 3 M1 Slope 1","termCode":"sma_3_m1_slope_1","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m1_slope_5","name":"Sma 3 M1 Slope 5","termCode":"sma_3_m1_slope_5","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m5","name":"Sma 3 M5","termCode":"sma_3_m5","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m5_slope_1","name":"Sma 3 M5 Slope 1","termCode":"sma_3_m5_slope_1","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_3_m5_slope_5","name":"Sma 3 M5 Slope 5","termCode":"sma_3_m5_slope_5","description":"Moving average level (3 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p3"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_34_m1","name":"Above Sma 34 M1","termCode":"above_sma_34_m1","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(34) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_34_m15","name":"Above Sma 34 M15","termCode":"above_sma_34_m15","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(34) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_34_m5","name":"Above Sma 34 M5","termCode":"above_sma_34_m5","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(34) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m15_atr","name":"Dist Sma 34 M15 Atr","termCode":"dist_sma_34_m15_atr","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(34)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m15_pts","name":"Dist Sma 34 M15 Pts","termCode":"dist_sma_34_m15_pts","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(34) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m1_atr","name":"Dist Sma 34 M1 Atr","termCode":"dist_sma_34_m1_atr","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(34)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m1_pts","name":"Dist Sma 34 M1 Pts","termCode":"dist_sma_34_m1_pts","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(34) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m5_atr","name":"Dist Sma 34 M5 Atr","termCode":"dist_sma_34_m5_atr","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(34)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_34_m5_pts","name":"Dist Sma 34 M5 Pts","termCode":"dist_sma_34_m5_pts","description":"Distance from SMA in ATR units (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(34) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_34_m1","name":"Ema 34 M1","termCode":"ema_34_m1","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=34) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_34_m15","name":"Ema 34 M15","termCode":"ema_34_m15","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=34) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_34_m5","name":"Ema 34 M5","termCode":"ema_34_m5","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=34) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m1","name":"Sma 34 M1","termCode":"sma_34_m1","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m15","name":"Sma 34 M15","termCode":"sma_34_m15","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m15_slope_1","name":"Sma 34 M15 Slope 1","termCode":"sma_34_m15_slope_1","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m15_slope_5","name":"Sma 34 M15 Slope 5","termCode":"sma_34_m15_slope_5","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m1_slope_1","name":"Sma 34 M1 Slope 1","termCode":"sma_34_m1_slope_1","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m1_slope_5","name":"Sma 34 M1 Slope 5","termCode":"sma_34_m1_slope_5","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m5","name":"Sma 34 M5","termCode":"sma_34_m5","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m5_slope_1","name":"Sma 34 M5 Slope 1","termCode":"sma_34_m5_slope_1","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_34_m5_slope_5","name":"Sma 34 M5 Slope 5","termCode":"sma_34_m5_slope_5","description":"Moving average level (34 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p34"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_5_m1","name":"Above Sma 5 M1","termCode":"above_sma_5_m1","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(5) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_5_m15","name":"Above Sma 5 M15","termCode":"above_sma_5_m15","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(5) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_5_m5","name":"Above Sma 5 M5","termCode":"above_sma_5_m5","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(5) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m15_atr","name":"Dist Sma 5 M15 Atr","termCode":"dist_sma_5_m15_atr","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(5)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m15_pts","name":"Dist Sma 5 M15 Pts","termCode":"dist_sma_5_m15_pts","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(5) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m1_atr","name":"Dist Sma 5 M1 Atr","termCode":"dist_sma_5_m1_atr","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(5)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m1_pts","name":"Dist Sma 5 M1 Pts","termCode":"dist_sma_5_m1_pts","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(5) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m5_atr","name":"Dist Sma 5 M5 Atr","termCode":"dist_sma_5_m5_atr","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(5)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_5_m5_pts","name":"Dist Sma 5 M5 Pts","termCode":"dist_sma_5_m5_pts","description":"Distance from SMA in ATR units (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(5) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_5_m1","name":"Ema 5 M1","termCode":"ema_5_m1","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=5) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_5_m15","name":"Ema 5 M15","termCode":"ema_5_m15","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=5) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_5_m5","name":"Ema 5 M5","termCode":"ema_5_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=5) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m1","name":"Sma 5 M1","termCode":"sma_5_m1","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m15","name":"Sma 5 M15","termCode":"sma_5_m15","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m15_slope_1","name":"Sma 5 M15 Slope 1","termCode":"sma_5_m15_slope_1","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m15_slope_5","name":"Sma 5 M15 Slope 5","termCode":"sma_5_m15_slope_5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m1_slope_1","name":"Sma 5 M1 Slope 1","termCode":"sma_5_m1_slope_1","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m1_slope_5","name":"Sma 5 M1 Slope 5","termCode":"sma_5_m1_slope_5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m5","name":"Sma 5 M5","termCode":"sma_5_m5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m5_slope_1","name":"Sma 5 M5 Slope 1","termCode":"sma_5_m5_slope_1","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_5_m5_slope_5","name":"Sma 5 M5 Slope 5","termCode":"sma_5_m5_slope_5","description":"Moving average level (5 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p5"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_50_m1","name":"Above Sma 50 M1","termCode":"above_sma_50_m1","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(50) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_50_m15","name":"Above Sma 50 M15","termCode":"above_sma_50_m15","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(50) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_50_m5","name":"Above Sma 50 M5","termCode":"above_sma_50_m5","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(50) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m15_atr","name":"Dist Sma 50 M15 Atr","termCode":"dist_sma_50_m15_atr","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(50)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m15_pts","name":"Dist Sma 50 M15 Pts","termCode":"dist_sma_50_m15_pts","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(50) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m1_atr","name":"Dist Sma 50 M1 Atr","termCode":"dist_sma_50_m1_atr","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(50)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m1_pts","name":"Dist Sma 50 M1 Pts","termCode":"dist_sma_50_m1_pts","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(50) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m5_atr","name":"Dist Sma 50 M5 Atr","termCode":"dist_sma_50_m5_atr","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(50)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_50_m5_pts","name":"Dist Sma 50 M5 Pts","termCode":"dist_sma_50_m5_pts","description":"Distance from SMA in ATR units (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(50) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_50_m1","name":"Ema 50 M1","termCode":"ema_50_m1","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=50) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_50_m15","name":"Ema 50 M15","termCode":"ema_50_m15","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=50) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_50_m5","name":"Ema 50 M5","termCode":"ema_50_m5","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=50) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m1","name":"Sma 50 M1","termCode":"sma_50_m1","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m15","name":"Sma 50 M15","termCode":"sma_50_m15","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m15_slope_1","name":"Sma 50 M15 Slope 1","termCode":"sma_50_m15_slope_1","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m15_slope_5","name":"Sma 50 M15 Slope 5","termCode":"sma_50_m15_slope_5","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m1_slope_1","name":"Sma 50 M1 Slope 1","termCode":"sma_50_m1_slope_1","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m1_slope_5","name":"Sma 50 M1 Slope 5","termCode":"sma_50_m1_slope_5","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m5","name":"Sma 50 M5","termCode":"sma_50_m5","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m5_slope_1","name":"Sma 50 M5 Slope 1","termCode":"sma_50_m5_slope_1","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_50_m5_slope_5","name":"Sma 50 M5 Slope 5","termCode":"sma_50_m5_slope_5","description":"Moving average level (50 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p50"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday swings and trend legs (30 minutes to half session)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_55_m1","name":"Above Sma 55 M1","termCode":"above_sma_55_m1","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(55) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_55_m15","name":"Above Sma 55 M15","termCode":"above_sma_55_m15","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(55) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_55_m5","name":"Above Sma 55 M5","termCode":"above_sma_55_m5","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(55) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m15_atr","name":"Dist Sma 55 M15 Atr","termCode":"dist_sma_55_m15_atr","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(55)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m15_pts","name":"Dist Sma 55 M15 Pts","termCode":"dist_sma_55_m15_pts","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(55) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m1_atr","name":"Dist Sma 55 M1 Atr","termCode":"dist_sma_55_m1_atr","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(55)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m1_pts","name":"Dist Sma 55 M1 Pts","termCode":"dist_sma_55_m1_pts","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(55) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m5_atr","name":"Dist Sma 55 M5 Atr","termCode":"dist_sma_55_m5_atr","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(55)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_55_m5_pts","name":"Dist Sma 55 M5 Pts","termCode":"dist_sma_55_m5_pts","description":"Distance from SMA in ATR units (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(55) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_55_m1","name":"Ema 55 M1","termCode":"ema_55_m1","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=55) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_55_m15","name":"Ema 55 M15","termCode":"ema_55_m15","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=55) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_55_m5","name":"Ema 55 M5","termCode":"ema_55_m5","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=55) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m1","name":"Sma 55 M1","termCode":"sma_55_m1","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m15","name":"Sma 55 M15","termCode":"sma_55_m15","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m15_slope_1","name":"Sma 55 M15 Slope 1","termCode":"sma_55_m15_slope_1","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m15_slope_5","name":"Sma 55 M15 Slope 5","termCode":"sma_55_m15_slope_5","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m1_slope_1","name":"Sma 55 M1 Slope 1","termCode":"sma_55_m1_slope_1","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m1_slope_5","name":"Sma 55 M1 Slope 5","termCode":"sma_55_m1_slope_5","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m5","name":"Sma 55 M5","termCode":"sma_55_m5","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m5_slope_1","name":"Sma 55 M5 Slope 1","termCode":"sma_55_m5_slope_1","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_55_m5_slope_5","name":"Sma 55 M5 Slope 5","termCode":"sma_55_m5_slope_5","description":"Moving average level (55 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p55"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_8_m1","name":"Above Sma 8 M1","termCode":"above_sma_8_m1","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(8) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_8_m15","name":"Above Sma 8 M15","termCode":"above_sma_8_m15","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(8) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_8_m5","name":"Above Sma 8 M5","termCode":"above_sma_8_m5","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(8) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m15_atr","name":"Dist Sma 8 M15 Atr","termCode":"dist_sma_8_m15_atr","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(8)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m15_pts","name":"Dist Sma 8 M15 Pts","termCode":"dist_sma_8_m15_pts","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(8) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m1_atr","name":"Dist Sma 8 M1 Atr","termCode":"dist_sma_8_m1_atr","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(8)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m1_pts","name":"Dist Sma 8 M1 Pts","termCode":"dist_sma_8_m1_pts","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(8) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m5_atr","name":"Dist Sma 8 M5 Atr","termCode":"dist_sma_8_m5_atr","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(8)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_8_m5_pts","name":"Dist Sma 8 M5 Pts","termCode":"dist_sma_8_m5_pts","description":"Distance from SMA in ATR units (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(8) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_8_m1","name":"Ema 8 M1","termCode":"ema_8_m1","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=8) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_8_m15","name":"Ema 8 M15","termCode":"ema_8_m15","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=8) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_8_m5","name":"Ema 8 M5","termCode":"ema_8_m5","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=8) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m1","name":"Sma 8 M1","termCode":"sma_8_m1","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m15","name":"Sma 8 M15","termCode":"sma_8_m15","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m15_slope_1","name":"Sma 8 M15 Slope 1","termCode":"sma_8_m15_slope_1","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m15_slope_5","name":"Sma 8 M15 Slope 5","termCode":"sma_8_m15_slope_5","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m1_slope_1","name":"Sma 8 M1 Slope 1","termCode":"sma_8_m1_slope_1","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m1_slope_5","name":"Sma 8 M1 Slope 5","termCode":"sma_8_m1_slope_5","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m5","name":"Sma 8 M5","termCode":"sma_8_m5","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m5_slope_1","name":"Sma 8 M5 Slope 1","termCode":"sma_8_m5_slope_1","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_8_m5_slope_5","name":"Sma 8 M5 Slope 5","termCode":"sma_8_m5_slope_5","description":"Moving average level (8 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p8"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_89_m1","name":"Above Sma 89 M1","termCode":"above_sma_89_m1","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(89) on M1, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_89_m15","name":"Above Sma 89 M15","termCode":"above_sma_89_m15","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(89) on M15, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-above_sma_89_m5","name":"Above Sma 89 M5","termCode":"above_sma_89_m5","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Binary flag: 1 if mid close > SMA(89) on M5, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0)."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if 1 (price above SMA); bearish if 0."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m15_atr","name":"Dist Sma 89 M15 Atr","termCode":"dist_sma_89_m15_atr","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(89)) / ATR(14) on M15 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m15_pts","name":"Dist Sma 89 M15 Pts","termCode":"dist_sma_89_m15_pts","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(89) on M15, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m1_atr","name":"Dist Sma 89 M1 Atr","termCode":"dist_sma_89_m1_atr","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(89)) / ATR(14) on M1 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m1_pts","name":"Dist Sma 89 M1 Pts","termCode":"dist_sma_89_m1_pts","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(89) on M1, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m5_atr","name":"Dist Sma 89 M5 Atr","termCode":"dist_sma_89_m5_atr","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"(Close − SMA(89)) / ATR(14) on M5 — distance normalized by volatility."},{"@type":"PropertyValue","name":"usefulness","value":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR."}]},{"@type":"DefinedTerm","@id":"#indicator-dist_sma_89_m5_pts","name":"Dist Sma 89 M5 Pts","termCode":"dist_sma_89_m5_pts","description":"Distance from SMA in ATR units (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Mid close minus SMA(89) on M5, in index points."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_89_m1","name":"Ema 89 M1","termCode":"ema_89_m1","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=89) on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_89_m15","name":"Ema 89 M15","termCode":"ema_89_m15","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=89) on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ema_89_m5","name":"Ema 89 M5","termCode":"ema_89_m5","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Exponential moving average of mid close (span=89) on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m1","name":"Sma 89 M1","termCode":"sma_89_m1","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m15","name":"Sma 89 M15","termCode":"sma_89_m15","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m15_slope_1","name":"Sma 89 M15 Slope 1","termCode":"sma_89_m15_slope_1","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m15_slope_5","name":"Sma 89 M15 Slope 5","termCode":"sma_89_m15_slope_5","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m1_slope_1","name":"Sma 89 M1 Slope 1","termCode":"sma_89_m1_slope_1","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m1_slope_5","name":"Sma 89 M1 Slope 5","termCode":"sma_89_m1_slope_5","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m5","name":"Sma 89 M5","termCode":"sma_89_m5","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m5_slope_1","name":"Sma 89 M5 Slope 1","termCode":"sma_89_m5_slope_1","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-sma_89_m5_slope_5","name":"Sma 89 M5 Slope 5","termCode":"sma_89_m5_slope_5","description":"Moving average level (89 bar lookback).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"moving_averages"},{"@type":"PropertyValue","name":"timeframe","value":"p89"},{"@type":"PropertyValue","name":"formula","value":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1."},{"@type":"PropertyValue","name":"usefulness","value":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes."},{"@type":"PropertyValue","name":"timeframeUse","value":"Session-scale trend and pullback depth (1–3 hour context)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-gap_flag","name":"Gap Flag","termCode":"gap_flag","description":"Data quality flag on the M1 bar.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"quality"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"1 when the prior M1 bar is missing (timestamp gap > 1 minute), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring."},{"@type":"PropertyValue","name":"timeframeUse","value":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction."},{"@type":"PropertyValue","name":"signalRule","value":"Always neutral (quality only)."}]},{"@type":"DefinedTerm","@id":"#indicator-missing_bid_ask_flag","name":"Missing Bid Ask Flag","termCode":"missing_bid_ask_flag","description":"Data quality flag on the M1 bar.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"quality"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"1 when bid or ask close is null on the M1 bar, else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring."},{"@type":"PropertyValue","name":"timeframeUse","value":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-stale_minute_flag","name":"Stale Minute Flag","termCode":"stale_minute_flag","description":"Data quality flag on the M1 bar.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"quality"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Reserved quality flag for stale quote detection (currently 0)."},{"@type":"PropertyValue","name":"usefulness","value":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring."},{"@type":"PropertyValue","name":"timeframeUse","value":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction."},{"@type":"PropertyValue","name":"signalRule","value":"Always neutral (quality only)."}]},{"@type":"DefinedTerm","@id":"#indicator-wide_spread_flag","name":"Wide Spread Flag","termCode":"wide_spread_flag","description":"Data quality flag on the M1 bar.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"quality"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"1 when spread_close exceeds the 95th percentile of the trailing 60-bar spread window."},{"@type":"PropertyValue","name":"usefulness","value":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring."},{"@type":"PropertyValue","name":"timeframeUse","value":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction."},{"@type":"PropertyValue","name":"signalRule","value":"Always neutral (quality only)."}]},{"@type":"DefinedTerm","@id":"#indicator-gap_open_pts","name":"Gap Open Pts","termCode":"gap_open_pts","description":"Overnight / session open gap vs prior close (daily open metric).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"d1"},{"@type":"PropertyValue","name":"formula","value":"Session open minus prior bar close in index points: mid_open_t − mid_close_{t−1}."},{"@type":"PropertyValue","name":"usefulness","value":"Quantifies overnight or session-open shock versus the prior close. Useful for gap-and-go vs gap-fill setups, opening-range bias, and filtering mean-reversion strategies on large opens."},{"@type":"PropertyValue","name":"timeframeUse","value":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-body_pct","name":"Body Pct","termCode":"body_pct","description":"Feature column from AutoTrader enrich (returns, m1).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"|Close − open| / (high − low) on the current M1 bar (0 if range is zero)."},{"@type":"PropertyValue","name":"usefulness","value":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-lower_wick_pct","name":"Lower Wick Pct","termCode":"lower_wick_pct","description":"Feature column from AutoTrader enrich (returns, m1).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"(min(open, close) − low) / (high − low) on the current M1 bar."},{"@type":"PropertyValue","name":"usefulness","value":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-range_pct","name":"Range Pct","termCode":"range_pct","description":"Feature column from AutoTrader enrich (returns, m1).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"(High − low) / mid_close on the current M1 bar."},{"@type":"PropertyValue","name":"usefulness","value":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_1m","name":"Ret Log 1M","termCode":"ret_log_1m","description":"Log return over the lag window on M1 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 1 minute(s): ln(close_t / close_{t−1}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-upper_wick_pct","name":"Upper Wick Pct","termCode":"upper_wick_pct","description":"Feature column from AutoTrader enrich (returns, m1).","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"(High − max(open, close)) / (high − low) on the current M1 bar."},{"@type":"PropertyValue","name":"usefulness","value":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_10m","name":"Ret Log 10M","termCode":"ret_log_10m","description":"Log return over the lag window on M10 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m10"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 10 minute(s): ln(close_t / close_{t−10}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_120m","name":"Ret Log 120M","termCode":"ret_log_120m","description":"Log return over the lag window on M120 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m120"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 120 minute(s): ln(close_t / close_{t−120}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Half-session to full-session context (2–6 hours)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_15m","name":"Ret Log 15M","termCode":"ret_log_15m","description":"Log return over the lag window on M15 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 15 minute(s): ln(close_t / close_{t−15}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_2m","name":"Ret Log 2M","termCode":"ret_log_2m","description":"Log return over the lag window on M2 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m2"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 2 minute(s): ln(close_t / close_{t−2}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_240m","name":"Ret Log 240M","termCode":"ret_log_240m","description":"Log return over the lag window on M240 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m240"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 240 minute(s): ln(close_t / close_{t−240}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Half-session to full-session context (2–6 hours)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_3m","name":"Ret Log 3M","termCode":"ret_log_3m","description":"Log return over the lag window on M3 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m3"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 3 minute(s): ln(close_t / close_{t−3}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_30m","name":"Ret Log 30M","termCode":"ret_log_30m","description":"Log return over the lag window on M30 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m30"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 30 minute(s): ln(close_t / close_{t−30}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly rhythm trades and lunch-to-close setups (30–90 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_5m","name":"Ret Log 5M","termCode":"ret_log_5m","description":"Log return over the lag window on M5 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 5 minute(s): ln(close_t / close_{t−5}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-ret_log_60m","name":"Ret Log 60M","termCode":"ret_log_60m","description":"Log return over the lag window on M60 bars.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"returns"},{"@type":"PropertyValue","name":"timeframe","value":"m60"},{"@type":"PropertyValue","name":"formula","value":"Natural log return of mid close over 60 minute(s): ln(close_t / close_{t−60}). Computed on the M1 grid using only past bars (no lookahead)."},{"@type":"PropertyValue","name":"usefulness","value":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction."},{"@type":"PropertyValue","name":"timeframeUse","value":"Hourly rhythm trades and lunch-to-close setups (30–90 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral."}]},{"@type":"DefinedTerm","@id":"#indicator-mins_since_ny_open","name":"Mins Since Ny Open","termCode":"mins_since_ny_open","description":"US cash session context on the M1 grid.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"session"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Minutes elapsed since 09:30 NY on the current session day (0 outside session)."},{"@type":"PropertyValue","name":"usefulness","value":"Opening-drive and ORB strategies: first hour often has distinct volatility and directional bias."},{"@type":"PropertyValue","name":"timeframeUse","value":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 during the first two hours after NY open (0–120 minutes), else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-mins_to_ny_close","name":"Mins To Ny Close","termCode":"mins_to_ny_close","description":"US cash session context on the M1 grid.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"session"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Minutes remaining until 16:00 NY close (0 outside session)."},{"@type":"PropertyValue","name":"usefulness","value":"End-of-day positioning, MOC flows, and fade vs continuation into the close."},{"@type":"PropertyValue","name":"timeframeUse","value":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value."},{"@type":"PropertyValue","name":"signalRule","value":"Threshold-based sign from raw feature value."}]},{"@type":"DefinedTerm","@id":"#indicator-session_ny","name":"Session Ny","termCode":"session_ny","description":"US cash session context on the M1 grid.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"session"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"1 when timestamp falls in US cash session (09:30–16:00 America/New_York), else 0."},{"@type":"PropertyValue","name":"usefulness","value":"Separates US RTH liquidity from overnight Globex — critical for index futures edge and spread behavior."},{"@type":"PropertyValue","name":"timeframeUse","value":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when the session flag is active, else 0."},{"@type":"PropertyValue","name":"signalRule","value":"Bullish when NY session open hour flag is set."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_14_m1","name":"Atr 14 M1","termCode":"atr_14_m1","description":"Average true range on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 14 bars on M1: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_20_m1","name":"Atr 20 M1","termCode":"atr_20_m1","description":"Average true range on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 20 bars on M1: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_10_m1","name":"Std Ret 10 M1","termCode":"std_ret_10_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 10 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_120_m1","name":"Std Ret 120 M1","termCode":"std_ret_120_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 120 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_20_m1","name":"Std Ret 20 M1","termCode":"std_ret_20_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 20 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_240_m1","name":"Std Ret 240 M1","termCode":"std_ret_240_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 240 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_5_m1","name":"Std Ret 5 M1","termCode":"std_ret_5_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 5 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_60_m1","name":"Std Ret 60 M1","termCode":"std_ret_60_m1","description":"Rolling std of log returns on M1.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m1"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 60 bars on the M1 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_14_m15","name":"Atr 14 M15","termCode":"atr_14_m15","description":"Average true range on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 14 bars on M15: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_20_m15","name":"Atr 20 M15","termCode":"atr_20_m15","description":"Average true range on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 20 bars on M15: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_10_m15","name":"Std Ret 10 M15","termCode":"std_ret_10_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 10 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_120_m15","name":"Std Ret 120 M15","termCode":"std_ret_120_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 120 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_20_m15","name":"Std Ret 20 M15","termCode":"std_ret_20_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 20 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_240_m15","name":"Std Ret 240 M15","termCode":"std_ret_240_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 240 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_5_m15","name":"Std Ret 5 M15","termCode":"std_ret_5_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 5 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_60_m15","name":"Std Ret 60 M15","termCode":"std_ret_60_m15","description":"Rolling std of log returns on M15.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m15"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 60 bars on the M15 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Short intraday moves and opening-drive follow-through (5–45 minutes)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_14_m5","name":"Atr 14 M5","termCode":"atr_14_m5","description":"Average true range on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 14 bars on M5: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-atr_20_m5","name":"Atr 20 M5","termCode":"atr_20_m5","description":"Average true range on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Average True Range over 20 bars on M5: mean of max(H−L, |H−C_prev|, |L−C_prev|)."},{"@type":"PropertyValue","name":"usefulness","value":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"Neutral (level indicator) unless paired with direction rule."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_10_m5","name":"Std Ret 10 M5","termCode":"std_ret_10_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 10 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_120_m5","name":"Std Ret 120 M5","termCode":"std_ret_120_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 120 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_20_m5","name":"Std Ret 20 M5","termCode":"std_ret_20_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 20 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_240_m5","name":"Std Ret 240 M5","termCode":"std_ret_240_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 240 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_5_m5","name":"Std Ret 5 M5","termCode":"std_ret_5_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 5 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]},{"@type":"DefinedTerm","@id":"#indicator-std_ret_60_m5","name":"Std Ret 60 M5","termCode":"std_ret_60_m5","description":"Rolling std of log returns on M5.","additionalProperty":[{"@type":"PropertyValue","name":"family","value":"volatility"},{"@type":"PropertyValue","name":"timeframe","value":"m5"},{"@type":"PropertyValue","name":"formula","value":"Rolling standard deviation of 1-bar log returns over 60 bars on the M5 series (realized volatility)."},{"@type":"PropertyValue","name":"usefulness","value":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure."},{"@type":"PropertyValue","name":"timeframeUse","value":"Scalping and immediate momentum (1–10 minute trades)."},{"@type":"PropertyValue","name":"signalCalculation","value":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules."},{"@type":"PropertyValue","name":"signalRule","value":"High vol vs 60-bar median: expanding + up bar = bullish bias."}]}],"terms":[{"id":"cross_bb_lower_10_20_m1","family":"bollinger","timeframe":"p10","name":"Cross Bb Lower 10 20 M1","description":"Price below Bollinger lower band (period 10, 2σ) on M1.","formula":"Binary flag on M1: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_10_20_m15","family":"bollinger","timeframe":"p10","name":"Cross Bb Lower 10 20 M15","description":"Price below Bollinger lower band (period 10, 2σ) on M15.","formula":"Binary flag on M15: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_10_20_m5","family":"bollinger","timeframe":"p10","name":"Cross Bb Lower 10 20 M5","description":"Price below Bollinger lower band (period 10, 2σ) on M5.","formula":"Binary flag on M5: 1 if close < lower band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_10_20_m1","family":"bollinger","timeframe":"p10","name":"Cross Bb Mid 10 20 M1","description":"Price above Bollinger middle (SMA 10, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > Bollinger middle (SMA(10)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_10_20_m15","family":"bollinger","timeframe":"p10","name":"Cross Bb Mid 10 20 M15","description":"Price above Bollinger middle (SMA 10, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > Bollinger middle (SMA(10)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_10_20_m5","family":"bollinger","timeframe":"p10","name":"Cross Bb Mid 10 20 M5","description":"Price above Bollinger middle (SMA 10, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > Bollinger middle (SMA(10)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_10_20_m1","family":"bollinger","timeframe":"p10","name":"Cross Bb Upper 10 20 M1","description":"Price above Bollinger upper band (period 10, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_10_20_m15","family":"bollinger","timeframe":"p10","name":"Cross Bb Upper 10 20 M15","description":"Price above Bollinger upper band (period 10, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_10_20_m5","family":"bollinger","timeframe":"p10","name":"Cross Bb Upper 10 20 M5","description":"Price above Bollinger upper band (period 10, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > upper band (SMA(10) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_20_20_m1","family":"bollinger","timeframe":"p20","name":"Cross Bb Lower 20 20 M1","description":"Price below Bollinger lower band (period 20, 2σ) on M1.","formula":"Binary flag on M1: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_20_20_m15","family":"bollinger","timeframe":"p20","name":"Cross Bb Lower 20 20 M15","description":"Price below Bollinger lower band (period 20, 2σ) on M15.","formula":"Binary flag on M15: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_20_20_m5","family":"bollinger","timeframe":"p20","name":"Cross Bb Lower 20 20 M5","description":"Price below Bollinger lower band (period 20, 2σ) on M5.","formula":"Binary flag on M5: 1 if close < lower band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"cross_bb_mid_20_20_m1","family":"bollinger","timeframe":"p20","name":"Cross Bb Mid 20 20 M1","description":"Price above Bollinger middle (SMA 20, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > Bollinger middle (SMA(20)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"cross_bb_mid_20_20_m15","family":"bollinger","timeframe":"p20","name":"Cross Bb Mid 20 20 M15","description":"Price above Bollinger middle (SMA 20, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > Bollinger middle (SMA(20)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"cross_bb_mid_20_20_m5","family":"bollinger","timeframe":"p20","name":"Cross Bb Mid 20 20 M5","description":"Price above Bollinger middle (SMA 20, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > Bollinger middle (SMA(20)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"cross_bb_upper_20_20_m1","family":"bollinger","timeframe":"p20","name":"Cross Bb Upper 20 20 M1","description":"Price above Bollinger upper band (period 20, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_20_20_m15","family":"bollinger","timeframe":"p20","name":"Cross Bb Upper 20 20 M15","description":"Price above Bollinger upper band (period 20, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_20_20_m5","family":"bollinger","timeframe":"p20","name":"Cross Bb Upper 20 20 M5","description":"Price above Bollinger upper band (period 20, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > upper band (SMA(20) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"cross_bb_lower_50_20_m1","family":"bollinger","timeframe":"p50","name":"Cross Bb Lower 50 20 M1","description":"Price below Bollinger lower band (period 50, 2σ) on M1.","formula":"Binary flag on M1: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_50_20_m15","family":"bollinger","timeframe":"p50","name":"Cross Bb Lower 50 20 M15","description":"Price below Bollinger lower band (period 50, 2σ) on M15.","formula":"Binary flag on M15: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_lower_50_20_m5","family":"bollinger","timeframe":"p50","name":"Cross Bb Lower 50 20 M5","description":"Price below Bollinger lower band (period 50, 2σ) on M5.","formula":"Binary flag on M5: 1 if close < lower band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Lower-band touch / extension: flags oversold stretches. Useful for bounce recipes or trend-break confirmation when combined with momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is below the lower band (value=1, oversold); −1 when inside (value=0).","rule":"Bullish if 1 (price below lower band / oversold); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_50_20_m1","family":"bollinger","timeframe":"p50","name":"Cross Bb Mid 50 20 M1","description":"Price above Bollinger middle (SMA 50, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > Bollinger middle (SMA(50)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_50_20_m15","family":"bollinger","timeframe":"p50","name":"Cross Bb Mid 50 20 M15","description":"Price above Bollinger middle (SMA 50, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > Bollinger middle (SMA(50)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_mid_50_20_m5","family":"bollinger","timeframe":"p50","name":"Cross Bb Mid 50 20 M5","description":"Price above Bollinger middle (SMA 50, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > Bollinger middle (SMA(50)), else 0.","usefulness":"Bollinger mid-band bias: is price above or below the rolling mean? Useful as a simple trend/mean-reversion filter inside volatility envelopes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the middle band (value=1); −1 when below (value=0).","rule":"Bullish if 1 (price above middle band); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_50_20_m1","family":"bollinger","timeframe":"p50","name":"Cross Bb Upper 50 20 M1","description":"Price above Bollinger upper band (period 50, 2σ) on M1.","formula":"Binary flag on M1: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_50_20_m15","family":"bollinger","timeframe":"p50","name":"Cross Bb Upper 50 20 M15","description":"Price above Bollinger upper band (period 50, 2σ) on M15.","formula":"Binary flag on M15: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_bb_upper_50_20_m5","family":"bollinger","timeframe":"p50","name":"Cross Bb Upper 50 20 M5","description":"Price above Bollinger upper band (period 50, 2σ) on M5.","formula":"Binary flag on M5: 1 if close > upper band (SMA(50) ± 2σ rolling std), else 0.","usefulness":"Upper-band touch / extension: flags stretched rallies outside the envelope. Often used for breakout continuation or mean-reversion fade setups.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when price is above the upper band (value=1, stretched); +1 when inside (value=0).","rule":"Bearish if 1 (price above upper band / stretched); bullish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_13_m1","family":"crosses","timeframe":"p13","name":"Cross Ema 8 13 M1","description":"EMA stack 8/13 on M1: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_13_m15","family":"crosses","timeframe":"p13","name":"Cross Ema 8 13 M15","description":"EMA stack 8/13 on M15: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_13_m5","family":"crosses","timeframe":"p13","name":"Cross Ema 8 13 M5","description":"EMA stack 8/13 on M5: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"cross_sma_8_13_m1","family":"crosses","timeframe":"p13","name":"Cross Sma 8 13 M1","description":"SMA stack 8/13 on M1: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_13_m15","family":"crosses","timeframe":"p13","name":"Cross Sma 8 13 M15","description":"SMA stack 8/13 on M15: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_13_m5","family":"crosses","timeframe":"p13","name":"Cross Sma 8 13 M5","description":"SMA stack 8/13 on M5: 1 when the 8-period average is above the 13-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(13), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/13): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_8_17_9_m1","family":"crosses","timeframe":"p17","name":"Cross Macd 8 17 9 M1","description":"MACD(8,17,9) stack on M1: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M1 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_8_17_9_m15","family":"crosses","timeframe":"p17","name":"Cross Macd 8 17 9 M15","description":"MACD(8,17,9) stack on M15: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M15 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_8_17_9_m5","family":"crosses","timeframe":"p17","name":"Cross Macd 8 17 9 M5","description":"MACD(8,17,9) stack on M5: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M5 bars: 1 if MACD line (8/17 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_8_17_9_m1","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD above signal (8/17/9 M1)","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_8_17_9_m15","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD above signal (8/17/9 M15)","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_8_17_9_m5","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD above signal (8/17/9 M5)","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_8_17_9_m1","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD below signal (8/17/9 M1)","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_8_17_9_m15","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD below signal (8/17/9 M15)","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_8_17_9_m5","family":"crosses","timeframe":"p17","name":"MACD Below zero, MACD below signal (8/17/9 M5)","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_above_8_17_9_m1","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD above signal (8/17/9 M1)","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_above_8_17_9_m15","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD above signal (8/17/9 M15)","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_above_8_17_9_m5","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD above signal (8/17/9 M5)","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_below_8_17_9_m1","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD below signal (8/17/9 M1)","description":"MACD(8,17,9) quadrant on M1: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M1 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_below_8_17_9_m15","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD below signal (8/17/9 M15)","description":"MACD(8,17,9) quadrant on M15: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M15 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_below_8_17_9_m5","family":"crosses","timeframe":"p17","name":"MACD Above zero, MACD below signal (8/17/9 M5)","description":"MACD(8,17,9) quadrant on M5: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M5 bars (8/17/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_20_m1","family":"crosses","timeframe":"p20","name":"Cross Ema 13 20 M1","description":"EMA stack 13/20 on M1: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_20_m15","family":"crosses","timeframe":"p20","name":"Cross Ema 13 20 M15","description":"EMA stack 13/20 on M15: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_20_m5","family":"crosses","timeframe":"p20","name":"Cross Ema 13 20 M5","description":"EMA stack 13/20 on M5: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"cross_ema_8_20_m1","family":"crosses","timeframe":"p20","name":"Cross Ema 8 20 M1","description":"EMA stack 8/20 on M1: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_20_m15","family":"crosses","timeframe":"p20","name":"Cross Ema 8 20 M15","description":"EMA stack 8/20 on M15: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_20_m5","family":"crosses","timeframe":"p20","name":"Cross Ema 8 20 M5","description":"EMA stack 8/20 on M5: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_20_m1","family":"crosses","timeframe":"p20","name":"Cross Sma 13 20 M1","description":"SMA stack 13/20 on M1: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_20_m15","family":"crosses","timeframe":"p20","name":"Cross Sma 13 20 M15","description":"SMA stack 13/20 on M15: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_20_m5","family":"crosses","timeframe":"p20","name":"Cross Sma 13 20 M5","description":"SMA stack 13/20 on M5: 1 when the 13-period average is above the 20-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_20_m1","family":"crosses","timeframe":"p20","name":"Cross Sma 8 20 M1","description":"SMA stack 8/20 on M1: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_20_m15","family":"crosses","timeframe":"p20","name":"Cross Sma 8 20 M15","description":"SMA stack 8/20 on M15: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_20_m5","family":"crosses","timeframe":"p20","name":"Cross Sma 8 20 M5","description":"SMA stack 8/20 on M5: 1 when the 8-period average is above the 20-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(20), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/20): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 13 200 M1","description":"EMA stack 13/200 on M1: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 13 200 M15","description":"EMA stack 13/200 on M15: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 13 200 M5","description":"EMA stack 13/200 on M5: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 20 200 M1","description":"EMA stack 20/200 on M1: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 20 200 M15","description":"EMA stack 20/200 on M15: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 20 200 M5","description":"EMA stack 20/200 on M5: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 21 200 M1","description":"EMA stack 21/200 on M1: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 21 200 M15","description":"EMA stack 21/200 on M15: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 21 200 M5","description":"EMA stack 21/200 on M5: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 34 200 M1","description":"EMA stack 34/200 on M1: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 34 200 M15","description":"EMA stack 34/200 on M15: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 34 200 M5","description":"EMA stack 34/200 on M5: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(34) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_50_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 50 200 M1","description":"EMA stack 50/200 on M1: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_50_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 50 200 M15","description":"EMA stack 50/200 on M15: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_50_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 50 200 M5","description":"EMA stack 50/200 on M5: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(50) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_200_m1","family":"crosses","timeframe":"p200","name":"Cross Ema 8 200 M1","description":"EMA stack 8/200 on M1: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_200_m15","family":"crosses","timeframe":"p200","name":"Cross Ema 8 200 M15","description":"EMA stack 8/200 on M15: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_200_m5","family":"crosses","timeframe":"p200","name":"Cross Ema 8 200 M5","description":"EMA stack 8/200 on M5: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 13 200 M1","description":"SMA stack 13/200 on M1: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 13 200 M15","description":"SMA stack 13/200 on M15: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 13 200 M5","description":"SMA stack 13/200 on M5: 1 when the 13-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 20 200 M1","description":"SMA stack 20/200 on M1: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 20 200 M15","description":"SMA stack 20/200 on M15: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 20 200 M5","description":"SMA stack 20/200 on M5: 1 when the 20-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 21 200 M1","description":"SMA stack 21/200 on M1: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 21 200 M15","description":"SMA stack 21/200 on M15: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 21 200 M5","description":"SMA stack 21/200 on M5: 1 when the 21-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 34 200 M1","description":"SMA stack 34/200 on M1: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 34 200 M15","description":"SMA stack 34/200 on M15: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 34 200 M5","description":"SMA stack 34/200 on M5: 1 when the 34-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(34) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_50_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 50 200 M1","description":"SMA stack 50/200 on M1: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_50_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 50 200 M15","description":"SMA stack 50/200 on M15: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_50_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 50 200 M5","description":"SMA stack 50/200 on M5: 1 when the 50-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(50) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (50/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_200_m1","family":"crosses","timeframe":"p200","name":"Cross Sma 8 200 M1","description":"SMA stack 8/200 on M1: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_200_m15","family":"crosses","timeframe":"p200","name":"Cross Sma 8 200 M15","description":"SMA stack 8/200 on M15: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_200_m5","family":"crosses","timeframe":"p200","name":"Cross Sma 8 200 M5","description":"SMA stack 8/200 on M5: 1 when the 8-period average is above the 200-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(200), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/200): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_21_m1","family":"crosses","timeframe":"p21","name":"Cross Ema 13 21 M1","description":"EMA stack 13/21 on M1: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_21_m15","family":"crosses","timeframe":"p21","name":"Cross Ema 13 21 M15","description":"EMA stack 13/21 on M15: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_21_m5","family":"crosses","timeframe":"p21","name":"Cross Ema 13 21 M5","description":"EMA stack 13/21 on M5: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_21_m1","family":"crosses","timeframe":"p21","name":"Cross Ema 20 21 M1","description":"EMA stack 20/21 on M1: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_21_m15","family":"crosses","timeframe":"p21","name":"Cross Ema 20 21 M15","description":"EMA stack 20/21 on M15: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_21_m5","family":"crosses","timeframe":"p21","name":"Cross Ema 20 21 M5","description":"EMA stack 20/21 on M5: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_21_m1","family":"crosses","timeframe":"p21","name":"Cross Ema 8 21 M1","description":"EMA stack 8/21 on M1: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_21_m15","family":"crosses","timeframe":"p21","name":"Cross Ema 8 21 M15","description":"EMA stack 8/21 on M15: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_21_m5","family":"crosses","timeframe":"p21","name":"Cross Ema 8 21 M5","description":"EMA stack 8/21 on M5: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_21_m1","family":"crosses","timeframe":"p21","name":"Cross Sma 13 21 M1","description":"SMA stack 13/21 on M1: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_21_m15","family":"crosses","timeframe":"p21","name":"Cross Sma 13 21 M15","description":"SMA stack 13/21 on M15: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_21_m5","family":"crosses","timeframe":"p21","name":"Cross Sma 13 21 M5","description":"SMA stack 13/21 on M5: 1 when the 13-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_21_m1","family":"crosses","timeframe":"p21","name":"Cross Sma 20 21 M1","description":"SMA stack 20/21 on M1: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_21_m15","family":"crosses","timeframe":"p21","name":"Cross Sma 20 21 M15","description":"SMA stack 20/21 on M15: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_21_m5","family":"crosses","timeframe":"p21","name":"Cross Sma 20 21 M5","description":"SMA stack 20/21 on M5: 1 when the 20-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_21_m1","family":"crosses","timeframe":"p21","name":"Cross Sma 8 21 M1","description":"SMA stack 8/21 on M1: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_21_m15","family":"crosses","timeframe":"p21","name":"Cross Sma 8 21 M15","description":"SMA stack 8/21 on M15: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_21_m5","family":"crosses","timeframe":"p21","name":"Cross Sma 8 21 M5","description":"SMA stack 8/21 on M5: 1 when the 8-period average is above the 21-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(21), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/21): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_12_26_9_m1","family":"crosses","timeframe":"p26","name":"Cross Macd 12 26 9 M1","description":"MACD(12,26,9) stack on M1: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M1 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_12_26_9_m15","family":"crosses","timeframe":"p26","name":"Cross Macd 12 26 9 M15","description":"MACD(12,26,9) stack on M15: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M15 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_macd_12_26_9_m5","family":"crosses","timeframe":"p26","name":"Cross Macd 12 26 9 M5","description":"MACD(12,26,9) stack on M5: 1 when the MACD line is above the signal line.","formula":"Binary MACD stack on M5 bars: 1 if MACD line (12/26 EMA spread) > signal EMA(9), else 0.","usefulness":"Classic MACD / signal cross: confirms whether momentum line is above its signal EMA. Useful for trend continuation entries, histogram flips, and momentum soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when MACD line is above signal (value=1); −1 when below (value=0).","rule":"Bullish if 1 (MACD line above signal); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_12_26_9_m1","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD above signal (12/26/9 M1)","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_12_26_9_m15","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD above signal (12/26/9 M15)","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_above_12_26_9_m5","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD above signal (12/26/9 M5)","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Recovering MACD quadrant: still below zero but MACD has crossed above its signal — early bullish turn while broader momentum remains negative.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_12_26_9_m1","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD below signal (12/26/9 M1)","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_12_26_9_m15","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD below signal (12/26/9 M15)","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_neg_below_12_26_9_m5","family":"crosses","timeframe":"p26","name":"MACD Below zero, MACD below signal (12/26/9 M5)","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is at or below zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line ≤ 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bearish MACD quadrant: momentum below zero and MACD below its signal line. Useful for trend-fade filters and avoiding long entries against momentum.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote −1 when this quadrant is active (flag=1); else 0.","rule":"Vote −1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"macd_quad_pos_above_12_26_9_m1","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD above signal (12/26/9 M1)","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_above_12_26_9_m15","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD above signal (12/26/9 M15)","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_above_12_26_9_m5","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD above signal (12/26/9 M5)","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is above zero and MACD line is above the signal line.","formula":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line > 0 and MACD line > signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Strong bullish MACD quadrant: momentum above zero and accelerating above the signal line. Useful for trend continuation and momentum confirmation recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when this quadrant is active (flag=1); else 0.","rule":"Vote +1 when this quadrant is active (flag=1); else 0.","barTimeframe":"m5","inHeatmap":false,"tier":"common"},{"id":"macd_quad_pos_below_12_26_9_m1","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD below signal (12/26/9 M1)","description":"MACD(12,26,9) quadrant on M1: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M1 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_below_12_26_9_m15","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD below signal (12/26/9 M15)","description":"MACD(12,26,9) quadrant on M15: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M15 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_quad_pos_below_12_26_9_m5","family":"crosses","timeframe":"p26","name":"MACD Above zero, MACD below signal (12/26/9 M5)","description":"MACD(12,26,9) quadrant on M5: 1 when MACD line is above zero and MACD line is at or below the signal line.","formula":"Binary MACD quadrant on M5 bars (12/26/9): 1 when MACD line > 0 and MACD line ≤ signal, else 0. Mutually exclusive with the other three quadrants for the same settings.","usefulness":"Weakening bullish MACD quadrant: still above zero but MACD has slipped below its signal — early loss of momentum while the broader tone remains positive.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Votes neutral (0) — context quadrant for weakening or recovering momentum.","rule":"Vote 0 when this quadrant is active — context only; pair with leading/lagging quadrants.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_34_m1","family":"crosses","timeframe":"p34","name":"Cross Ema 13 34 M1","description":"EMA stack 13/34 on M1: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_34_m15","family":"crosses","timeframe":"p34","name":"Cross Ema 13 34 M15","description":"EMA stack 13/34 on M15: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_34_m5","family":"crosses","timeframe":"p34","name":"Cross Ema 13 34 M5","description":"EMA stack 13/34 on M5: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_34_m1","family":"crosses","timeframe":"p34","name":"Cross Ema 20 34 M1","description":"EMA stack 20/34 on M1: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_34_m15","family":"crosses","timeframe":"p34","name":"Cross Ema 20 34 M15","description":"EMA stack 20/34 on M15: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_34_m5","family":"crosses","timeframe":"p34","name":"Cross Ema 20 34 M5","description":"EMA stack 20/34 on M5: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_34_m1","family":"crosses","timeframe":"p34","name":"Cross Ema 21 34 M1","description":"EMA stack 21/34 on M1: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_34_m15","family":"crosses","timeframe":"p34","name":"Cross Ema 21 34 M15","description":"EMA stack 21/34 on M15: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_34_m5","family":"crosses","timeframe":"p34","name":"Cross Ema 21 34 M5","description":"EMA stack 21/34 on M5: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_34_m1","family":"crosses","timeframe":"p34","name":"Cross Ema 8 34 M1","description":"EMA stack 8/34 on M1: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_34_m15","family":"crosses","timeframe":"p34","name":"Cross Ema 8 34 M15","description":"EMA stack 8/34 on M15: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_34_m5","family":"crosses","timeframe":"p34","name":"Cross Ema 8 34 M5","description":"EMA stack 8/34 on M5: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_34_m1","family":"crosses","timeframe":"p34","name":"Cross Sma 13 34 M1","description":"SMA stack 13/34 on M1: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_34_m15","family":"crosses","timeframe":"p34","name":"Cross Sma 13 34 M15","description":"SMA stack 13/34 on M15: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_34_m5","family":"crosses","timeframe":"p34","name":"Cross Sma 13 34 M5","description":"SMA stack 13/34 on M5: 1 when the 13-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_34_m1","family":"crosses","timeframe":"p34","name":"Cross Sma 20 34 M1","description":"SMA stack 20/34 on M1: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_34_m15","family":"crosses","timeframe":"p34","name":"Cross Sma 20 34 M15","description":"SMA stack 20/34 on M15: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_34_m5","family":"crosses","timeframe":"p34","name":"Cross Sma 20 34 M5","description":"SMA stack 20/34 on M5: 1 when the 20-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_34_m1","family":"crosses","timeframe":"p34","name":"Cross Sma 21 34 M1","description":"SMA stack 21/34 on M1: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_34_m15","family":"crosses","timeframe":"p34","name":"Cross Sma 21 34 M15","description":"SMA stack 21/34 on M15: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_34_m5","family":"crosses","timeframe":"p34","name":"Cross Sma 21 34 M5","description":"SMA stack 21/34 on M5: 1 when the 21-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_34_m1","family":"crosses","timeframe":"p34","name":"Cross Sma 8 34 M1","description":"SMA stack 8/34 on M1: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_34_m15","family":"crosses","timeframe":"p34","name":"Cross Sma 8 34 M15","description":"SMA stack 8/34 on M15: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_34_m5","family":"crosses","timeframe":"p34","name":"Cross Sma 8 34 M5","description":"SMA stack 8/34 on M5: 1 when the 8-period average is above the 34-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(34), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/34): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_50_m1","family":"crosses","timeframe":"p50","name":"Cross Ema 13 50 M1","description":"EMA stack 13/50 on M1: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_50_m15","family":"crosses","timeframe":"p50","name":"Cross Ema 13 50 M15","description":"EMA stack 13/50 on M15: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_13_50_m5","family":"crosses","timeframe":"p50","name":"Cross Ema 13 50 M5","description":"EMA stack 13/50 on M5: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(13) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_50_m1","family":"crosses","timeframe":"p50","name":"Cross Ema 20 50 M1","description":"EMA stack 20/50 on M1: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_50_m15","family":"crosses","timeframe":"p50","name":"Cross Ema 20 50 M15","description":"EMA stack 20/50 on M15: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_20_50_m5","family":"crosses","timeframe":"p50","name":"Cross Ema 20 50 M5","description":"EMA stack 20/50 on M5: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(20) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_50_m1","family":"crosses","timeframe":"p50","name":"Cross Ema 21 50 M1","description":"EMA stack 21/50 on M1: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_50_m15","family":"crosses","timeframe":"p50","name":"Cross Ema 21 50 M15","description":"EMA stack 21/50 on M15: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_21_50_m5","family":"crosses","timeframe":"p50","name":"Cross Ema 21 50 M5","description":"EMA stack 21/50 on M5: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(21) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_50_m1","family":"crosses","timeframe":"p50","name":"Cross Ema 34 50 M1","description":"EMA stack 34/50 on M1: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_50_m15","family":"crosses","timeframe":"p50","name":"Cross Ema 34 50 M15","description":"EMA stack 34/50 on M15: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_34_50_m5","family":"crosses","timeframe":"p50","name":"Cross Ema 34 50 M5","description":"EMA stack 34/50 on M5: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(34) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_50_m1","family":"crosses","timeframe":"p50","name":"Cross Ema 8 50 M1","description":"EMA stack 8/50 on M1: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_50_m15","family":"crosses","timeframe":"p50","name":"Cross Ema 8 50 M15","description":"EMA stack 8/50 on M15: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_ema_8_50_m5","family":"crosses","timeframe":"p50","name":"Cross Ema 8 50 M5","description":"EMA stack 8/50 on M5: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if EMA(8) > EMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_50_m1","family":"crosses","timeframe":"p50","name":"Cross Sma 13 50 M1","description":"SMA stack 13/50 on M1: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_50_m15","family":"crosses","timeframe":"p50","name":"Cross Sma 13 50 M15","description":"SMA stack 13/50 on M15: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_13_50_m5","family":"crosses","timeframe":"p50","name":"Cross Sma 13 50 M5","description":"SMA stack 13/50 on M5: 1 when the 13-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(13) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (13/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_50_m1","family":"crosses","timeframe":"p50","name":"Cross Sma 20 50 M1","description":"SMA stack 20/50 on M1: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_50_m15","family":"crosses","timeframe":"p50","name":"Cross Sma 20 50 M15","description":"SMA stack 20/50 on M15: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_20_50_m5","family":"crosses","timeframe":"p50","name":"Cross Sma 20 50 M5","description":"SMA stack 20/50 on M5: 1 when the 20-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(20) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (20/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_50_m1","family":"crosses","timeframe":"p50","name":"Cross Sma 21 50 M1","description":"SMA stack 21/50 on M1: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_50_m15","family":"crosses","timeframe":"p50","name":"Cross Sma 21 50 M15","description":"SMA stack 21/50 on M15: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_21_50_m5","family":"crosses","timeframe":"p50","name":"Cross Sma 21 50 M5","description":"SMA stack 21/50 on M5: 1 when the 21-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(21) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (21/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_50_m1","family":"crosses","timeframe":"p50","name":"Cross Sma 34 50 M1","description":"SMA stack 34/50 on M1: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_50_m15","family":"crosses","timeframe":"p50","name":"Cross Sma 34 50 M15","description":"SMA stack 34/50 on M15: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_34_50_m5","family":"crosses","timeframe":"p50","name":"Cross Sma 34 50 M5","description":"SMA stack 34/50 on M5: 1 when the 34-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(34) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (34/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_50_m1","family":"crosses","timeframe":"p50","name":"Cross Sma 8 50 M1","description":"SMA stack 8/50 on M1: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M1 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_50_m15","family":"crosses","timeframe":"p50","name":"Cross Sma 8 50 M15","description":"SMA stack 8/50 on M15: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M15 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"cross_sma_8_50_m5","family":"crosses","timeframe":"p50","name":"Cross Sma 8 50 M5","description":"SMA stack 8/50 on M5: 1 when the 8-period average is above the 50-period average.","formula":"Binary stack flag on M5 bars: 1 if SMA(8) > SMA(50), else 0. Equivalently, tracks whether the shorter-period average is above the longer-period average.","usefulness":"Classic MA stack (8/50): confirms whether fast trend is above slow trend (golden / bullish stack) or below (death / bearish stack). Useful for trend filters, stack-alignment recipes, and avoiding counter-trend entries when the longer average dominates.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when shorter-period average is above longer-period average (value=1, golden stack); −1 when longer is on top (value=0, death stack).","rule":"Bullish if 1 (shorter MA above longer MA / golden stack); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"last_d1_close","family":"htf","timeframe":"d1","name":"Last D1 Close","description":"Last completed D1 bar value forward-filled to M1.","formula":"Close of the last fully completed D1 bar, forward-filled to each M1 row.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing.","rule":"Bullish if last HTF close > last HTF SMA 20; bearish if below.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_ema_20","family":"htf","timeframe":"d1","name":"Last D1 Ema 20","description":"Last completed D1 bar value forward-filled to M1.","formula":"EMA(20) of D1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_ema_50","family":"htf","timeframe":"d1","name":"Last D1 Ema 50","description":"Last completed D1 bar value forward-filled to M1.","formula":"EMA(50) of D1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_high","family":"htf","timeframe":"d1","name":"Last D1 High","description":"Last completed D1 bar value forward-filled to M1.","formula":"High of the last fully completed D1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_low","family":"htf","timeframe":"d1","name":"Last D1 Low","description":"Last completed D1 bar value forward-filled to M1.","formula":"Low of the last fully completed D1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_open","family":"htf","timeframe":"d1","name":"Last D1 Open","description":"Last completed D1 bar value forward-filled to M1.","formula":"Open of the last fully completed D1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_sma_20","family":"htf","timeframe":"d1","name":"Last D1 Sma 20","description":"Last completed D1 bar value forward-filled to M1.","formula":"SMA(20) of D1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_d1_sma_50","family":"htf","timeframe":"d1","name":"Last D1 Sma 50","description":"Last completed D1 bar value forward-filled to M1.","formula":"SMA(50) of D1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_close","family":"htf","timeframe":"h1","name":"Last H1 Close","description":"Last completed H1 bar value forward-filled to M1.","formula":"Close of the last fully completed H1 bar, forward-filled to each M1 row.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing.","rule":"Bullish if last HTF close > last HTF SMA 20; bearish if below.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"last_h1_ema_20","family":"htf","timeframe":"h1","name":"Last H1 Ema 20","description":"Last completed H1 bar value forward-filled to M1.","formula":"EMA(20) of H1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_ema_50","family":"htf","timeframe":"h1","name":"Last H1 Ema 50","description":"Last completed H1 bar value forward-filled to M1.","formula":"EMA(50) of H1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_high","family":"htf","timeframe":"h1","name":"Last H1 High","description":"Last completed H1 bar value forward-filled to M1.","formula":"High of the last fully completed H1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_low","family":"htf","timeframe":"h1","name":"Last H1 Low","description":"Last completed H1 bar value forward-filled to M1.","formula":"Low of the last fully completed H1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_open","family":"htf","timeframe":"h1","name":"Last H1 Open","description":"Last completed H1 bar value forward-filled to M1.","formula":"Open of the last fully completed H1 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h1_sma_20","family":"htf","timeframe":"h1","name":"Last H1 Sma 20","description":"Last completed H1 bar value forward-filled to M1.","formula":"SMA(20) of H1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"last_h1_sma_50","family":"htf","timeframe":"h1","name":"Last H1 Sma 50","description":"Last completed H1 bar value forward-filled to M1.","formula":"SMA(50) of H1 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Hourly structure and midday trend context. Useful for 15-minute to 2-hour decision horizons.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_close","family":"htf","timeframe":"h4","name":"Last H4 Close","description":"Last completed H4 bar value forward-filled to M1.","formula":"Close of the last fully completed H4 bar, forward-filled to each M1 row.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if last HTF close > last HTF SMA(20), −1 if below, else 0 when data is missing.","rule":"Bullish if last HTF close > last HTF SMA 20; bearish if below.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_ema_20","family":"htf","timeframe":"h4","name":"Last H4 Ema 20","description":"Last completed H4 bar value forward-filled to M1.","formula":"EMA(20) of H4 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_ema_50","family":"htf","timeframe":"h4","name":"Last H4 Ema 50","description":"Last completed H4 bar value forward-filled to M1.","formula":"EMA(50) of H4 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_high","family":"htf","timeframe":"h4","name":"Last H4 High","description":"Last completed H4 bar value forward-filled to M1.","formula":"High of the last fully completed H4 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_low","family":"htf","timeframe":"h4","name":"Last H4 Low","description":"Last completed H4 bar value forward-filled to M1.","formula":"Low of the last fully completed H4 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_open","family":"htf","timeframe":"h4","name":"Last H4 Open","description":"Last completed H4 bar value forward-filled to M1.","formula":"Open of the last fully completed H4 bar, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_sma_20","family":"htf","timeframe":"h4","name":"Last H4 Sma 20","description":"Last completed H4 bar value forward-filled to M1.","formula":"SMA(20) of H4 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"last_h4_sma_50","family":"htf","timeframe":"h4","name":"Last H4 Sma 50","description":"Last completed H4 bar value forward-filled to M1.","formula":"SMA(50) of H4 closes on completed bars only, forward-filled to M1.","usefulness":"Higher-timeframe anchor without lookahead — only completed HTF bars. Useful for directional bias, support/resistance context, and filtering low-timeframe noise.","timeframeUse":"Intraday swing and session-scale bias (roughly 4-hour structure). Useful for 1–4 hour holds.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Compared via close vs SMA columns at same timestamp.","rule":"Compared via close vs SMA columns at same timestamp.","barTimeframe":null,"inHeatmap":true,"tier":"premium"},{"id":"macd_hist_8_17_9_m1","family":"momentum","timeframe":"p17","name":"Macd Hist 8 17 9 M1","description":"MACD histogram for MACD(8,17,9) on M1 bars.","formula":"MACD histogram on M1: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_hist_8_17_9_m15","family":"momentum","timeframe":"p17","name":"Macd Hist 8 17 9 M15","description":"MACD histogram for MACD(8,17,9) on M15 bars.","formula":"MACD histogram on M15: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_hist_8_17_9_m5","family":"momentum","timeframe":"p17","name":"Macd Hist 8 17 9 M5","description":"MACD histogram for MACD(8,17,9) on M5 bars.","formula":"MACD histogram on M5: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_line_8_17_9_m1","family":"momentum","timeframe":"p17","name":"Macd Line 8 17 9 M1","description":"MACD line for MACD(8,17,9) on M1 bars.","formula":"MACD line on M1: EMA(8) − EMA(17) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_line_8_17_9_m15","family":"momentum","timeframe":"p17","name":"Macd Line 8 17 9 M15","description":"MACD line for MACD(8,17,9) on M15 bars.","formula":"MACD line on M15: EMA(8) − EMA(17) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_line_8_17_9_m5","family":"momentum","timeframe":"p17","name":"Macd Line 8 17 9 M5","description":"MACD line for MACD(8,17,9) on M5 bars.","formula":"MACD line on M5: EMA(8) − EMA(17) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_8_17_9_m1","family":"momentum","timeframe":"p17","name":"Macd Signal 8 17 9 M1","description":"MACD signal for MACD(8,17,9) on M1 bars.","formula":"MACD signal on M1: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_8_17_9_m15","family":"momentum","timeframe":"p17","name":"Macd Signal 8 17 9 M15","description":"MACD signal for MACD(8,17,9) on M15 bars.","formula":"MACD signal on M15: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_8_17_9_m5","family":"momentum","timeframe":"p17","name":"Macd Signal 8 17 9 M5","description":"MACD signal for MACD(8,17,9) on M5 bars.","formula":"MACD signal on M5: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_hist_12_26_9_m1","family":"momentum","timeframe":"p26","name":"Macd Hist 12 26 9 M1","description":"MACD histogram for MACD(12,26,9) on M1 bars.","formula":"MACD histogram on M1: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"macd_hist_12_26_9_m15","family":"momentum","timeframe":"p26","name":"Macd Hist 12 26 9 M15","description":"MACD histogram for MACD(12,26,9) on M15 bars.","formula":"MACD histogram on M15: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"macd_hist_12_26_9_m5","family":"momentum","timeframe":"p26","name":"Macd Hist 12 26 9 M5","description":"MACD histogram for MACD(12,26,9) on M5 bars.","formula":"MACD histogram on M5: MACD line − signal line.","usefulness":"MACD histogram sign and magnitude — short-horizon momentum acceleration vs deceleration. Useful for timing entries when line/signal cross aligns with histogram expansion.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when histogram > 0, −1 when < 0, else 0.","rule":"Bullish if histogram > 0; bearish if < 0; else neutral.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"macd_line_12_26_9_m1","family":"momentum","timeframe":"p26","name":"Macd Line 12 26 9 M1","description":"MACD line for MACD(12,26,9) on M1 bars.","formula":"MACD line on M1: EMA(12) − EMA(26) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_line_12_26_9_m15","family":"momentum","timeframe":"p26","name":"Macd Line 12 26 9 M15","description":"MACD line for MACD(12,26,9) on M15 bars.","formula":"MACD line on M15: EMA(12) − EMA(26) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_line_12_26_9_m5","family":"momentum","timeframe":"p26","name":"Macd Line 12 26 9 M5","description":"MACD line for MACD(12,26,9) on M5 bars.","formula":"MACD line on M5: EMA(12) − EMA(26) of mid close.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_12_26_9_m1","family":"momentum","timeframe":"p26","name":"Macd Signal 12 26 9 M1","description":"MACD signal for MACD(12,26,9) on M1 bars.","formula":"MACD signal on M1: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_12_26_9_m15","family":"momentum","timeframe":"p26","name":"Macd Signal 12 26 9 M15","description":"MACD signal for MACD(12,26,9) on M15 bars.","formula":"MACD signal on M15: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"macd_signal_12_26_9_m5","family":"momentum","timeframe":"p26","name":"Macd Signal 12 26 9 M5","description":"MACD signal for MACD(12,26,9) on M5 bars.","formula":"MACD signal on M5: EMA(9) of the MACD line.","usefulness":"MACD level context for momentum and trend-following soup recipes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level columns vote neutral (0) — use cross_macd or macd_hist for directional votes.","rule":"Neutral level column — pair with cross_macd or macd_hist in recipes.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_13_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 13 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_13_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_200_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 200 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_200_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_20_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 20 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_20_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_21_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 21 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_21_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_34_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 34 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_34_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_50_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 50 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_50_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_8_m1","family":"moving_averages","timeframe":"m1","name":"Ema Std 8 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `ema_std_8_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_13_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 13 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_13_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_200_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 200 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_200_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_20_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 20 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_20_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_21_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 21 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_21_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_34_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 34 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_34_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_50_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 50 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_50_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_std_8_m1","family":"moving_averages","timeframe":"m1","name":"Sma Std 8 M1","description":"Moving average level (1 bar lookback).","formula":"Enriched feature `sma_std_8_m1` from EvenKeel AutoTrader (moving_averages, 1 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_std_13_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 13 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_13_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_200_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 200 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_200_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_20_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 20 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_20_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_21_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 21 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_21_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_34_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 34 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_34_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_50_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 50 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_50_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_8_m15","family":"moving_averages","timeframe":"m15","name":"Ema Std 8 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `ema_std_8_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_13_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 13 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_13_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_200_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 200 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_200_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_20_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 20 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_20_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_21_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 21 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_21_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_34_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 34 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_34_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_50_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 50 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_50_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_std_8_m15","family":"moving_averages","timeframe":"m15","name":"Sma Std 8 M15","description":"Moving average level (15 bar lookback).","formula":"Enriched feature `sma_std_8_m15` from EvenKeel AutoTrader (moving_averages, 15 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_std_13_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 13 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_13_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_200_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 200 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_200_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_20_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 20 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_20_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_21_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 21 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_21_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_34_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 34 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_34_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_50_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 50 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_50_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_std_8_m5","family":"moving_averages","timeframe":"m5","name":"Ema Std 8 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `ema_std_8_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_13_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 13 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_13_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_200_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 200 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_200_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_20_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 20 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_20_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_21_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 21 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_21_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_34_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 34 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_34_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_50_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 50 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_50_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_std_8_m5","family":"moving_averages","timeframe":"m5","name":"Sma Std 8 M5","description":"Moving average level (5 bar lookback).","formula":"Enriched feature `sma_std_8_m5` from EvenKeel AutoTrader (moving_averages, 5 minutes context).","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_10_m1","family":"moving_averages","timeframe":"p10","name":"Above Sma 10 M1","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(10) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_10_m15","family":"moving_averages","timeframe":"p10","name":"Above Sma 10 M15","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(10) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_10_m5","family":"moving_averages","timeframe":"p10","name":"Above Sma 10 M5","description":"Price above SMA with 10 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(10) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_10_m15_atr","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M15 Atr","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"(Close − SMA(10)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_10_m15_pts","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M15 Pts","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"Mid close minus SMA(10) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_10_m1_atr","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M1 Atr","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"(Close − SMA(10)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_10_m1_pts","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M1 Pts","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"Mid close minus SMA(10) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_10_m5_atr","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M5 Atr","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"(Close − SMA(10)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_10_m5_pts","family":"moving_averages","timeframe":"p10","name":"Dist Sma 10 M5 Pts","description":"Distance from SMA in ATR units (10 bar lookback).","formula":"Mid close minus SMA(10) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_10_m1","family":"moving_averages","timeframe":"p10","name":"Ema 10 M1","description":"Moving average level (10 bar lookback).","formula":"Exponential moving average of mid close (span=10) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_10_m15","family":"moving_averages","timeframe":"p10","name":"Ema 10 M15","description":"Moving average level (10 bar lookback).","formula":"Exponential moving average of mid close (span=10) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_10_m5","family":"moving_averages","timeframe":"p10","name":"Ema 10 M5","description":"Moving average level (10 bar lookback).","formula":"Exponential moving average of mid close (span=10) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m1","family":"moving_averages","timeframe":"p10","name":"Sma 10 M1","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_10_m15","family":"moving_averages","timeframe":"p10","name":"Sma 10 M15","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m15_slope_1","family":"moving_averages","timeframe":"p10","name":"Sma 10 M15 Slope 1","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m15_slope_5","family":"moving_averages","timeframe":"p10","name":"Sma 10 M15 Slope 5","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m1_slope_1","family":"moving_averages","timeframe":"p10","name":"Sma 10 M1 Slope 1","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_10_m1_slope_5","family":"moving_averages","timeframe":"p10","name":"Sma 10 M1 Slope 5","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_10_m5","family":"moving_averages","timeframe":"p10","name":"Sma 10 M5","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m5_slope_1","family":"moving_averages","timeframe":"p10","name":"Sma 10 M5 Slope 1","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_10_m5_slope_5","family":"moving_averages","timeframe":"p10","name":"Sma 10 M5 Slope 5","description":"Moving average level (10 bar lookback).","formula":"Simple moving average of mid close over 10 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_100_m1","family":"moving_averages","timeframe":"p100","name":"Above Sma 100 M1","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(100) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_100_m15","family":"moving_averages","timeframe":"p100","name":"Above Sma 100 M15","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(100) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_100_m5","family":"moving_averages","timeframe":"p100","name":"Above Sma 100 M5","description":"Price above SMA with 100 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(100) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m15_atr","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M15 Atr","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"(Close − SMA(100)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m15_pts","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M15 Pts","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"Mid close minus SMA(100) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m1_atr","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M1 Atr","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"(Close − SMA(100)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m1_pts","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M1 Pts","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"Mid close minus SMA(100) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m5_atr","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M5 Atr","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"(Close − SMA(100)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_100_m5_pts","family":"moving_averages","timeframe":"p100","name":"Dist Sma 100 M5 Pts","description":"Distance from SMA in ATR units (100 bar lookback).","formula":"Mid close minus SMA(100) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_100_m1","family":"moving_averages","timeframe":"p100","name":"Ema 100 M1","description":"Moving average level (100 bar lookback).","formula":"Exponential moving average of mid close (span=100) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_100_m15","family":"moving_averages","timeframe":"p100","name":"Ema 100 M15","description":"Moving average level (100 bar lookback).","formula":"Exponential moving average of mid close (span=100) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_100_m5","family":"moving_averages","timeframe":"p100","name":"Ema 100 M5","description":"Moving average level (100 bar lookback).","formula":"Exponential moving average of mid close (span=100) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m1","family":"moving_averages","timeframe":"p100","name":"Sma 100 M1","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m15","family":"moving_averages","timeframe":"p100","name":"Sma 100 M15","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m15_slope_1","family":"moving_averages","timeframe":"p100","name":"Sma 100 M15 Slope 1","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m15_slope_5","family":"moving_averages","timeframe":"p100","name":"Sma 100 M15 Slope 5","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m1_slope_1","family":"moving_averages","timeframe":"p100","name":"Sma 100 M1 Slope 1","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m1_slope_5","family":"moving_averages","timeframe":"p100","name":"Sma 100 M1 Slope 5","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m5","family":"moving_averages","timeframe":"p100","name":"Sma 100 M5","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m5_slope_1","family":"moving_averages","timeframe":"p100","name":"Sma 100 M5 Slope 1","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_100_m5_slope_5","family":"moving_averages","timeframe":"p100","name":"Sma 100 M5 Slope 5","description":"Moving average level (100 bar lookback).","formula":"Simple moving average of mid close over 100 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_13_m1","family":"moving_averages","timeframe":"p13","name":"Above Sma 13 M1","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(13) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_13_m15","family":"moving_averages","timeframe":"p13","name":"Above Sma 13 M15","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(13) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_13_m5","family":"moving_averages","timeframe":"p13","name":"Above Sma 13 M5","description":"Price above SMA with 13 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(13) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_13_m15_atr","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M15 Atr","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"(Close − SMA(13)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_13_m15_pts","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M15 Pts","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"Mid close minus SMA(13) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_13_m1_atr","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M1 Atr","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"(Close − SMA(13)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_13_m1_pts","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M1 Pts","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"Mid close minus SMA(13) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_13_m5_atr","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M5 Atr","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"(Close − SMA(13)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_13_m5_pts","family":"moving_averages","timeframe":"p13","name":"Dist Sma 13 M5 Pts","description":"Distance from SMA in ATR units (13 bar lookback).","formula":"Mid close minus SMA(13) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_13_m1","family":"moving_averages","timeframe":"p13","name":"Ema 13 M1","description":"Moving average level (13 bar lookback).","formula":"Exponential moving average of mid close (span=13) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_13_m15","family":"moving_averages","timeframe":"p13","name":"Ema 13 M15","description":"Moving average level (13 bar lookback).","formula":"Exponential moving average of mid close (span=13) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_13_m5","family":"moving_averages","timeframe":"p13","name":"Ema 13 M5","description":"Moving average level (13 bar lookback).","formula":"Exponential moving average of mid close (span=13) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m1","family":"moving_averages","timeframe":"p13","name":"Sma 13 M1","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_13_m15","family":"moving_averages","timeframe":"p13","name":"Sma 13 M15","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m15_slope_1","family":"moving_averages","timeframe":"p13","name":"Sma 13 M15 Slope 1","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m15_slope_5","family":"moving_averages","timeframe":"p13","name":"Sma 13 M15 Slope 5","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m1_slope_1","family":"moving_averages","timeframe":"p13","name":"Sma 13 M1 Slope 1","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_13_m1_slope_5","family":"moving_averages","timeframe":"p13","name":"Sma 13 M1 Slope 5","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_13_m5","family":"moving_averages","timeframe":"p13","name":"Sma 13 M5","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m5_slope_1","family":"moving_averages","timeframe":"p13","name":"Sma 13 M5 Slope 1","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_13_m5_slope_5","family":"moving_averages","timeframe":"p13","name":"Sma 13 M5 Slope 5","description":"Moving average level (13 bar lookback).","formula":"Simple moving average of mid close over 13 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_144_m1","family":"moving_averages","timeframe":"p144","name":"Above Sma 144 M1","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(144) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_144_m15","family":"moving_averages","timeframe":"p144","name":"Above Sma 144 M15","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(144) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_144_m5","family":"moving_averages","timeframe":"p144","name":"Above Sma 144 M5","description":"Price above SMA with 144 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(144) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m15_atr","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M15 Atr","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"(Close − SMA(144)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m15_pts","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M15 Pts","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"Mid close minus SMA(144) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m1_atr","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M1 Atr","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"(Close − SMA(144)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m1_pts","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M1 Pts","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"Mid close minus SMA(144) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m5_atr","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M5 Atr","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"(Close − SMA(144)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_144_m5_pts","family":"moving_averages","timeframe":"p144","name":"Dist Sma 144 M5 Pts","description":"Distance from SMA in ATR units (144 bar lookback).","formula":"Mid close minus SMA(144) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_144_m1","family":"moving_averages","timeframe":"p144","name":"Ema 144 M1","description":"Moving average level (144 bar lookback).","formula":"Exponential moving average of mid close (span=144) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_144_m15","family":"moving_averages","timeframe":"p144","name":"Ema 144 M15","description":"Moving average level (144 bar lookback).","formula":"Exponential moving average of mid close (span=144) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_144_m5","family":"moving_averages","timeframe":"p144","name":"Ema 144 M5","description":"Moving average level (144 bar lookback).","formula":"Exponential moving average of mid close (span=144) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m1","family":"moving_averages","timeframe":"p144","name":"Sma 144 M1","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m15","family":"moving_averages","timeframe":"p144","name":"Sma 144 M15","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m15_slope_1","family":"moving_averages","timeframe":"p144","name":"Sma 144 M15 Slope 1","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m15_slope_5","family":"moving_averages","timeframe":"p144","name":"Sma 144 M15 Slope 5","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m1_slope_1","family":"moving_averages","timeframe":"p144","name":"Sma 144 M1 Slope 1","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m1_slope_5","family":"moving_averages","timeframe":"p144","name":"Sma 144 M1 Slope 5","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m5","family":"moving_averages","timeframe":"p144","name":"Sma 144 M5","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m5_slope_1","family":"moving_averages","timeframe":"p144","name":"Sma 144 M5 Slope 1","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_144_m5_slope_5","family":"moving_averages","timeframe":"p144","name":"Sma 144 M5 Slope 5","description":"Moving average level (144 bar lookback).","formula":"Simple moving average of mid close over 144 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_20_m1","family":"moving_averages","timeframe":"p20","name":"Above Sma 20 M1","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(20) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"common"},{"id":"above_sma_20_m15","family":"moving_averages","timeframe":"p20","name":"Above Sma 20 M15","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(20) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"above_sma_20_m5","family":"moving_averages","timeframe":"p20","name":"Above Sma 20 M5","description":"Price above SMA with 20 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(20) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"dist_sma_20_m15_atr","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M15 Atr","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"(Close − SMA(20)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_20_m15_pts","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M15 Pts","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"Mid close minus SMA(20) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_20_m1_atr","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M1 Atr","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"(Close − SMA(20)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_20_m1_pts","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M1 Pts","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"Mid close minus SMA(20) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_20_m5_atr","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M5 Atr","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"(Close − SMA(20)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"dist_sma_20_m5_pts","family":"moving_averages","timeframe":"p20","name":"Dist Sma 20 M5 Pts","description":"Distance from SMA in ATR units (20 bar lookback).","formula":"Mid close minus SMA(20) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_20_m1","family":"moving_averages","timeframe":"p20","name":"Ema 20 M1","description":"Moving average level (20 bar lookback).","formula":"Exponential moving average of mid close (span=20) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_20_m15","family":"moving_averages","timeframe":"p20","name":"Ema 20 M15","description":"Moving average level (20 bar lookback).","formula":"Exponential moving average of mid close (span=20) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_20_m5","family":"moving_averages","timeframe":"p20","name":"Ema 20 M5","description":"Moving average level (20 bar lookback).","formula":"Exponential moving average of mid close (span=20) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m1","family":"moving_averages","timeframe":"p20","name":"Sma 20 M1","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_20_m15","family":"moving_averages","timeframe":"p20","name":"Sma 20 M15","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m15_slope_1","family":"moving_averages","timeframe":"p20","name":"Sma 20 M15 Slope 1","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m15_slope_5","family":"moving_averages","timeframe":"p20","name":"Sma 20 M15 Slope 5","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m1_slope_1","family":"moving_averages","timeframe":"p20","name":"Sma 20 M1 Slope 1","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_20_m1_slope_5","family":"moving_averages","timeframe":"p20","name":"Sma 20 M1 Slope 5","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_20_m5","family":"moving_averages","timeframe":"p20","name":"Sma 20 M5","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m5_slope_1","family":"moving_averages","timeframe":"p20","name":"Sma 20 M5 Slope 1","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_20_m5_slope_5","family":"moving_averages","timeframe":"p20","name":"Sma 20 M5 Slope 5","description":"Moving average level (20 bar lookback).","formula":"Simple moving average of mid close over 20 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_200_m1","family":"moving_averages","timeframe":"p200","name":"Above Sma 200 M1","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(200) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_200_m15","family":"moving_averages","timeframe":"p200","name":"Above Sma 200 M15","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(200) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_200_m5","family":"moving_averages","timeframe":"p200","name":"Above Sma 200 M5","description":"Price above SMA with 200 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(200) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_200_m15_atr","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M15 Atr","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"(Close − SMA(200)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_200_m15_pts","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M15 Pts","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"Mid close minus SMA(200) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_200_m1_atr","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M1 Atr","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"(Close − SMA(200)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_200_m1_pts","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M1 Pts","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"Mid close minus SMA(200) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_200_m5_atr","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M5 Atr","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"(Close − SMA(200)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_200_m5_pts","family":"moving_averages","timeframe":"p200","name":"Dist Sma 200 M5 Pts","description":"Distance from SMA in ATR units (200 bar lookback).","formula":"Mid close minus SMA(200) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_200_m1","family":"moving_averages","timeframe":"p200","name":"Ema 200 M1","description":"Moving average level (200 bar lookback).","formula":"Exponential moving average of mid close (span=200) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_200_m15","family":"moving_averages","timeframe":"p200","name":"Ema 200 M15","description":"Moving average level (200 bar lookback).","formula":"Exponential moving average of mid close (span=200) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_200_m5","family":"moving_averages","timeframe":"p200","name":"Ema 200 M5","description":"Moving average level (200 bar lookback).","formula":"Exponential moving average of mid close (span=200) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m1","family":"moving_averages","timeframe":"p200","name":"Sma 200 M1","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m15","family":"moving_averages","timeframe":"p200","name":"Sma 200 M15","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m15_slope_1","family":"moving_averages","timeframe":"p200","name":"Sma 200 M15 Slope 1","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m15_slope_5","family":"moving_averages","timeframe":"p200","name":"Sma 200 M15 Slope 5","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m1_slope_1","family":"moving_averages","timeframe":"p200","name":"Sma 200 M1 Slope 1","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m1_slope_5","family":"moving_averages","timeframe":"p200","name":"Sma 200 M1 Slope 5","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m5","family":"moving_averages","timeframe":"p200","name":"Sma 200 M5","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m5_slope_1","family":"moving_averages","timeframe":"p200","name":"Sma 200 M5 Slope 1","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_200_m5_slope_5","family":"moving_averages","timeframe":"p200","name":"Sma 200 M5 Slope 5","description":"Moving average level (200 bar lookback).","formula":"Simple moving average of mid close over 200 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Multi-session trend and major swing structure (half day to several sessions).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_21_m1","family":"moving_averages","timeframe":"p21","name":"Above Sma 21 M1","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(21) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_21_m15","family":"moving_averages","timeframe":"p21","name":"Above Sma 21 M15","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(21) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_21_m5","family":"moving_averages","timeframe":"p21","name":"Above Sma 21 M5","description":"Price above SMA with 21 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(21) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_21_m15_atr","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M15 Atr","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"(Close − SMA(21)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_21_m15_pts","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M15 Pts","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"Mid close minus SMA(21) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_21_m1_atr","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M1 Atr","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"(Close − SMA(21)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_21_m1_pts","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M1 Pts","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"Mid close minus SMA(21) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_21_m5_atr","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M5 Atr","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"(Close − SMA(21)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_21_m5_pts","family":"moving_averages","timeframe":"p21","name":"Dist Sma 21 M5 Pts","description":"Distance from SMA in ATR units (21 bar lookback).","formula":"Mid close minus SMA(21) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_21_m1","family":"moving_averages","timeframe":"p21","name":"Ema 21 M1","description":"Moving average level (21 bar lookback).","formula":"Exponential moving average of mid close (span=21) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_21_m15","family":"moving_averages","timeframe":"p21","name":"Ema 21 M15","description":"Moving average level (21 bar lookback).","formula":"Exponential moving average of mid close (span=21) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_21_m5","family":"moving_averages","timeframe":"p21","name":"Ema 21 M5","description":"Moving average level (21 bar lookback).","formula":"Exponential moving average of mid close (span=21) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m1","family":"moving_averages","timeframe":"p21","name":"Sma 21 M1","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_21_m15","family":"moving_averages","timeframe":"p21","name":"Sma 21 M15","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m15_slope_1","family":"moving_averages","timeframe":"p21","name":"Sma 21 M15 Slope 1","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m15_slope_5","family":"moving_averages","timeframe":"p21","name":"Sma 21 M15 Slope 5","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m1_slope_1","family":"moving_averages","timeframe":"p21","name":"Sma 21 M1 Slope 1","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_21_m1_slope_5","family":"moving_averages","timeframe":"p21","name":"Sma 21 M1 Slope 5","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_21_m5","family":"moving_averages","timeframe":"p21","name":"Sma 21 M5","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m5_slope_1","family":"moving_averages","timeframe":"p21","name":"Sma 21 M5 Slope 1","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_21_m5_slope_5","family":"moving_averages","timeframe":"p21","name":"Sma 21 M5 Slope 5","description":"Moving average level (21 bar lookback).","formula":"Simple moving average of mid close over 21 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_3_m1","family":"moving_averages","timeframe":"p3","name":"Above Sma 3 M1","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(3) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_3_m15","family":"moving_averages","timeframe":"p3","name":"Above Sma 3 M15","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(3) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_3_m5","family":"moving_averages","timeframe":"p3","name":"Above Sma 3 M5","description":"Price above SMA with 3 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(3) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_3_m15_atr","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M15 Atr","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"(Close − SMA(3)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_3_m15_pts","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M15 Pts","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"Mid close minus SMA(3) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_3_m1_atr","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M1 Atr","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"(Close − SMA(3)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_3_m1_pts","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M1 Pts","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"Mid close minus SMA(3) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_3_m5_atr","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M5 Atr","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"(Close − SMA(3)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_3_m5_pts","family":"moving_averages","timeframe":"p3","name":"Dist Sma 3 M5 Pts","description":"Distance from SMA in ATR units (3 bar lookback).","formula":"Mid close minus SMA(3) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_3_m1","family":"moving_averages","timeframe":"p3","name":"Ema 3 M1","description":"Moving average level (3 bar lookback).","formula":"Exponential moving average of mid close (span=3) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_3_m15","family":"moving_averages","timeframe":"p3","name":"Ema 3 M15","description":"Moving average level (3 bar lookback).","formula":"Exponential moving average of mid close (span=3) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_3_m5","family":"moving_averages","timeframe":"p3","name":"Ema 3 M5","description":"Moving average level (3 bar lookback).","formula":"Exponential moving average of mid close (span=3) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m1","family":"moving_averages","timeframe":"p3","name":"Sma 3 M1","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_3_m15","family":"moving_averages","timeframe":"p3","name":"Sma 3 M15","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m15_slope_1","family":"moving_averages","timeframe":"p3","name":"Sma 3 M15 Slope 1","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m15_slope_5","family":"moving_averages","timeframe":"p3","name":"Sma 3 M15 Slope 5","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m1_slope_1","family":"moving_averages","timeframe":"p3","name":"Sma 3 M1 Slope 1","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_3_m1_slope_5","family":"moving_averages","timeframe":"p3","name":"Sma 3 M1 Slope 5","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_3_m5","family":"moving_averages","timeframe":"p3","name":"Sma 3 M5","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m5_slope_1","family":"moving_averages","timeframe":"p3","name":"Sma 3 M5 Slope 1","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_3_m5_slope_5","family":"moving_averages","timeframe":"p3","name":"Sma 3 M5 Slope 5","description":"Moving average level (3 bar lookback).","formula":"Simple moving average of mid close over 3 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_34_m1","family":"moving_averages","timeframe":"p34","name":"Above Sma 34 M1","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(34) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_34_m15","family":"moving_averages","timeframe":"p34","name":"Above Sma 34 M15","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(34) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_34_m5","family":"moving_averages","timeframe":"p34","name":"Above Sma 34 M5","description":"Price above SMA with 34 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(34) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m15_atr","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M15 Atr","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"(Close − SMA(34)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m15_pts","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M15 Pts","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"Mid close minus SMA(34) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m1_atr","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M1 Atr","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"(Close − SMA(34)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m1_pts","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M1 Pts","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"Mid close minus SMA(34) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m5_atr","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M5 Atr","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"(Close − SMA(34)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_34_m5_pts","family":"moving_averages","timeframe":"p34","name":"Dist Sma 34 M5 Pts","description":"Distance from SMA in ATR units (34 bar lookback).","formula":"Mid close minus SMA(34) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_34_m1","family":"moving_averages","timeframe":"p34","name":"Ema 34 M1","description":"Moving average level (34 bar lookback).","formula":"Exponential moving average of mid close (span=34) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_34_m15","family":"moving_averages","timeframe":"p34","name":"Ema 34 M15","description":"Moving average level (34 bar lookback).","formula":"Exponential moving average of mid close (span=34) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_34_m5","family":"moving_averages","timeframe":"p34","name":"Ema 34 M5","description":"Moving average level (34 bar lookback).","formula":"Exponential moving average of mid close (span=34) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m1","family":"moving_averages","timeframe":"p34","name":"Sma 34 M1","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m15","family":"moving_averages","timeframe":"p34","name":"Sma 34 M15","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m15_slope_1","family":"moving_averages","timeframe":"p34","name":"Sma 34 M15 Slope 1","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m15_slope_5","family":"moving_averages","timeframe":"p34","name":"Sma 34 M15 Slope 5","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m1_slope_1","family":"moving_averages","timeframe":"p34","name":"Sma 34 M1 Slope 1","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m1_slope_5","family":"moving_averages","timeframe":"p34","name":"Sma 34 M1 Slope 5","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m5","family":"moving_averages","timeframe":"p34","name":"Sma 34 M5","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m5_slope_1","family":"moving_averages","timeframe":"p34","name":"Sma 34 M5 Slope 1","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_34_m5_slope_5","family":"moving_averages","timeframe":"p34","name":"Sma 34 M5 Slope 5","description":"Moving average level (34 bar lookback).","formula":"Simple moving average of mid close over 34 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_5_m1","family":"moving_averages","timeframe":"p5","name":"Above Sma 5 M1","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(5) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_5_m15","family":"moving_averages","timeframe":"p5","name":"Above Sma 5 M15","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(5) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_5_m5","family":"moving_averages","timeframe":"p5","name":"Above Sma 5 M5","description":"Price above SMA with 5 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(5) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_5_m15_atr","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M15 Atr","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"(Close − SMA(5)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_5_m15_pts","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M15 Pts","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"Mid close minus SMA(5) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_5_m1_atr","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M1 Atr","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"(Close − SMA(5)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_5_m1_pts","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M1 Pts","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"Mid close minus SMA(5) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_5_m5_atr","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M5 Atr","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"(Close − SMA(5)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_5_m5_pts","family":"moving_averages","timeframe":"p5","name":"Dist Sma 5 M5 Pts","description":"Distance from SMA in ATR units (5 bar lookback).","formula":"Mid close minus SMA(5) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_5_m1","family":"moving_averages","timeframe":"p5","name":"Ema 5 M1","description":"Moving average level (5 bar lookback).","formula":"Exponential moving average of mid close (span=5) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_5_m15","family":"moving_averages","timeframe":"p5","name":"Ema 5 M15","description":"Moving average level (5 bar lookback).","formula":"Exponential moving average of mid close (span=5) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_5_m5","family":"moving_averages","timeframe":"p5","name":"Ema 5 M5","description":"Moving average level (5 bar lookback).","formula":"Exponential moving average of mid close (span=5) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m1","family":"moving_averages","timeframe":"p5","name":"Sma 5 M1","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_5_m15","family":"moving_averages","timeframe":"p5","name":"Sma 5 M15","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m15_slope_1","family":"moving_averages","timeframe":"p5","name":"Sma 5 M15 Slope 1","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m15_slope_5","family":"moving_averages","timeframe":"p5","name":"Sma 5 M15 Slope 5","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m1_slope_1","family":"moving_averages","timeframe":"p5","name":"Sma 5 M1 Slope 1","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_5_m1_slope_5","family":"moving_averages","timeframe":"p5","name":"Sma 5 M1 Slope 5","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_5_m5","family":"moving_averages","timeframe":"p5","name":"Sma 5 M5","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m5_slope_1","family":"moving_averages","timeframe":"p5","name":"Sma 5 M5 Slope 1","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_5_m5_slope_5","family":"moving_averages","timeframe":"p5","name":"Sma 5 M5 Slope 5","description":"Moving average level (5 bar lookback).","formula":"Simple moving average of mid close over 5 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Ultra-short scalping and micro-momentum (1–5 minute holds, tick-to-tick context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_50_m1","family":"moving_averages","timeframe":"p50","name":"Above Sma 50 M1","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(50) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"common"},{"id":"above_sma_50_m15","family":"moving_averages","timeframe":"p50","name":"Above Sma 50 M15","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(50) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"above_sma_50_m5","family":"moving_averages","timeframe":"p50","name":"Above Sma 50 M5","description":"Price above SMA with 50 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(50) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"dist_sma_50_m15_atr","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M15 Atr","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"(Close − SMA(50)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_50_m15_pts","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M15 Pts","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"Mid close minus SMA(50) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_50_m1_atr","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M1 Atr","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"(Close − SMA(50)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_50_m1_pts","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M1 Pts","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"Mid close minus SMA(50) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_50_m5_atr","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M5 Atr","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"(Close − SMA(50)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_50_m5_pts","family":"moving_averages","timeframe":"p50","name":"Dist Sma 50 M5 Pts","description":"Distance from SMA in ATR units (50 bar lookback).","formula":"Mid close minus SMA(50) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_50_m1","family":"moving_averages","timeframe":"p50","name":"Ema 50 M1","description":"Moving average level (50 bar lookback).","formula":"Exponential moving average of mid close (span=50) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_50_m15","family":"moving_averages","timeframe":"p50","name":"Ema 50 M15","description":"Moving average level (50 bar lookback).","formula":"Exponential moving average of mid close (span=50) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_50_m5","family":"moving_averages","timeframe":"p50","name":"Ema 50 M5","description":"Moving average level (50 bar lookback).","formula":"Exponential moving average of mid close (span=50) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m1","family":"moving_averages","timeframe":"p50","name":"Sma 50 M1","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m15","family":"moving_averages","timeframe":"p50","name":"Sma 50 M15","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m15_slope_1","family":"moving_averages","timeframe":"p50","name":"Sma 50 M15 Slope 1","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m15_slope_5","family":"moving_averages","timeframe":"p50","name":"Sma 50 M15 Slope 5","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m1_slope_1","family":"moving_averages","timeframe":"p50","name":"Sma 50 M1 Slope 1","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m1_slope_5","family":"moving_averages","timeframe":"p50","name":"Sma 50 M1 Slope 5","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m5","family":"moving_averages","timeframe":"p50","name":"Sma 50 M5","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m5_slope_1","family":"moving_averages","timeframe":"p50","name":"Sma 50 M5 Slope 1","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_50_m5_slope_5","family":"moving_averages","timeframe":"p50","name":"Sma 50 M5 Slope 5","description":"Moving average level (50 bar lookback).","formula":"Simple moving average of mid close over 50 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Short intraday swings and trend legs (30 minutes to half session).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_55_m1","family":"moving_averages","timeframe":"p55","name":"Above Sma 55 M1","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(55) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_55_m15","family":"moving_averages","timeframe":"p55","name":"Above Sma 55 M15","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(55) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_55_m5","family":"moving_averages","timeframe":"p55","name":"Above Sma 55 M5","description":"Price above SMA with 55 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(55) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m15_atr","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M15 Atr","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"(Close − SMA(55)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m15_pts","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M15 Pts","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"Mid close minus SMA(55) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m1_atr","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M1 Atr","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"(Close − SMA(55)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m1_pts","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M1 Pts","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"Mid close minus SMA(55) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m5_atr","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M5 Atr","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"(Close − SMA(55)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_55_m5_pts","family":"moving_averages","timeframe":"p55","name":"Dist Sma 55 M5 Pts","description":"Distance from SMA in ATR units (55 bar lookback).","formula":"Mid close minus SMA(55) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_55_m1","family":"moving_averages","timeframe":"p55","name":"Ema 55 M1","description":"Moving average level (55 bar lookback).","formula":"Exponential moving average of mid close (span=55) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_55_m15","family":"moving_averages","timeframe":"p55","name":"Ema 55 M15","description":"Moving average level (55 bar lookback).","formula":"Exponential moving average of mid close (span=55) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_55_m5","family":"moving_averages","timeframe":"p55","name":"Ema 55 M5","description":"Moving average level (55 bar lookback).","formula":"Exponential moving average of mid close (span=55) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m1","family":"moving_averages","timeframe":"p55","name":"Sma 55 M1","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m15","family":"moving_averages","timeframe":"p55","name":"Sma 55 M15","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m15_slope_1","family":"moving_averages","timeframe":"p55","name":"Sma 55 M15 Slope 1","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m15_slope_5","family":"moving_averages","timeframe":"p55","name":"Sma 55 M15 Slope 5","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m1_slope_1","family":"moving_averages","timeframe":"p55","name":"Sma 55 M1 Slope 1","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m1_slope_5","family":"moving_averages","timeframe":"p55","name":"Sma 55 M1 Slope 5","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m5","family":"moving_averages","timeframe":"p55","name":"Sma 55 M5","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m5_slope_1","family":"moving_averages","timeframe":"p55","name":"Sma 55 M5 Slope 1","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_55_m5_slope_5","family":"moving_averages","timeframe":"p55","name":"Sma 55 M5 Slope 5","description":"Moving average level (55 bar lookback).","formula":"Simple moving average of mid close over 55 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_8_m1","family":"moving_averages","timeframe":"p8","name":"Above Sma 8 M1","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(8) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"above_sma_8_m15","family":"moving_averages","timeframe":"p8","name":"Above Sma 8 M15","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(8) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_8_m5","family":"moving_averages","timeframe":"p8","name":"Above Sma 8 M5","description":"Price above SMA with 8 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(8) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_8_m15_atr","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M15 Atr","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"(Close − SMA(8)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_8_m15_pts","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M15 Pts","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"Mid close minus SMA(8) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_8_m1_atr","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M1 Atr","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"(Close − SMA(8)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_8_m1_pts","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M1 Pts","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"Mid close minus SMA(8) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"dist_sma_8_m5_atr","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M5 Atr","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"(Close − SMA(8)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_8_m5_pts","family":"moving_averages","timeframe":"p8","name":"Dist Sma 8 M5 Pts","description":"Distance from SMA in ATR units (8 bar lookback).","formula":"Mid close minus SMA(8) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_8_m1","family":"moving_averages","timeframe":"p8","name":"Ema 8 M1","description":"Moving average level (8 bar lookback).","formula":"Exponential moving average of mid close (span=8) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"ema_8_m15","family":"moving_averages","timeframe":"p8","name":"Ema 8 M15","description":"Moving average level (8 bar lookback).","formula":"Exponential moving average of mid close (span=8) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_8_m5","family":"moving_averages","timeframe":"p8","name":"Ema 8 M5","description":"Moving average level (8 bar lookback).","formula":"Exponential moving average of mid close (span=8) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m1","family":"moving_averages","timeframe":"p8","name":"Sma 8 M1","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_8_m15","family":"moving_averages","timeframe":"p8","name":"Sma 8 M15","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m15_slope_1","family":"moving_averages","timeframe":"p8","name":"Sma 8 M15 Slope 1","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m15_slope_5","family":"moving_averages","timeframe":"p8","name":"Sma 8 M15 Slope 5","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m1_slope_1","family":"moving_averages","timeframe":"p8","name":"Sma 8 M1 Slope 1","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_8_m1_slope_5","family":"moving_averages","timeframe":"p8","name":"Sma 8 M1 Slope 5","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"sma_8_m5","family":"moving_averages","timeframe":"p8","name":"Sma 8 M5","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m5_slope_1","family":"moving_averages","timeframe":"p8","name":"Sma 8 M5 Slope 1","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_8_m5_slope_5","family":"moving_averages","timeframe":"p8","name":"Sma 8 M5 Slope 5","description":"Moving average level (8 bar lookback).","formula":"Simple moving average of mid close over 8 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Intraday trend and mean reversion (5–60 minute holds, opening range through midday).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"above_sma_89_m1","family":"moving_averages","timeframe":"p89","name":"Above Sma 89 M1","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(89) on M1, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"above_sma_89_m15","family":"moving_averages","timeframe":"p89","name":"Above Sma 89 M15","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(89) on M15, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"above_sma_89_m5","family":"moving_averages","timeframe":"p89","name":"Above Sma 89 M5","description":"Price above SMA with 89 bar lookback (1=yes, 0=no).","formula":"Binary flag: 1 if mid close > SMA(89) on M5, else 0.","usefulness":"Binary trend filter: is price structurally above its moving average? Useful for stack alignment, trend-following recipes, and avoiding counter-trend entries.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when price is above the SMA (flag=1), −1 when below (flag=0).","rule":"Bullish if 1 (price above SMA); bearish if 0.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m15_atr","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M15 Atr","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"(Close − SMA(89)) / ATR(14) on M15 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m15_pts","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M15 Pts","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"Mid close minus SMA(89) on M15, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m1_atr","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M1 Atr","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"(Close − SMA(89)) / ATR(14) on M1 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m1_pts","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M1 Pts","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"Mid close minus SMA(89) on M1, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m5_atr","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M5 Atr","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"(Close − SMA(89)) / ATR(14) on M5 — distance normalized by volatility.","usefulness":"Mean-reversion and extension gauge in volatility units. Large positive values flag stretched rallies; large negative values flag oversold stretches.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if distance > +0.5 ATR (extended above), −1 if < −0.5 ATR, else 0.","rule":"Bullish if > +0.5 ATR; bearish if < −0.5 ATR.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"dist_sma_89_m5_pts","family":"moving_averages","timeframe":"p89","name":"Dist Sma 89 M5 Pts","description":"Distance from SMA in ATR units (89 bar lookback).","formula":"Mid close minus SMA(89) on M5, in index points.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"ema_89_m1","family":"moving_averages","timeframe":"p89","name":"Ema 89 M1","description":"Moving average level (89 bar lookback).","formula":"Exponential moving average of mid close (span=89) on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"ema_89_m15","family":"moving_averages","timeframe":"p89","name":"Ema 89 M15","description":"Moving average level (89 bar lookback).","formula":"Exponential moving average of mid close (span=89) on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"ema_89_m5","family":"moving_averages","timeframe":"p89","name":"Ema 89 M5","description":"Moving average level (89 bar lookback).","formula":"Exponential moving average of mid close (span=89) on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m1","family":"moving_averages","timeframe":"p89","name":"Sma 89 M1","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m15","family":"moving_averages","timeframe":"p89","name":"Sma 89 M15","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m15_slope_1","family":"moving_averages","timeframe":"p89","name":"Sma 89 M15 Slope 1","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m15_slope_5","family":"moving_averages","timeframe":"p89","name":"Sma 89 M15 Slope 5","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M15 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m1_slope_1","family":"moving_averages","timeframe":"p89","name":"Sma 89 M1 Slope 1","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m1_slope_5","family":"moving_averages","timeframe":"p89","name":"Sma 89 M1 Slope 5","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M1 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m5","family":"moving_averages","timeframe":"p89","name":"Sma 89 M5","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1.","usefulness":"Core trend reference level. Useful as dynamic support/resistance context and as input to cross/stack indicators in multi-timeframe soup blends.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m5_slope_1","family":"moving_averages","timeframe":"p89","name":"Sma 89 M5 Slope 1","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"sma_89_m5_slope_5","family":"moving_averages","timeframe":"p89","name":"Sma 89 M5 Slope 5","description":"Moving average level (89 bar lookback).","formula":"Simple moving average of mid close over 89 bars on the M5 series, aligned to M1.","usefulness":"Tracks whether the moving average itself is rising or falling — trend momentum, not just price position. Useful for filtering flat/choppy regimes.","timeframeUse":"Session-scale trend and pullback depth (1–3 hour context).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"gap_flag","family":"quality","timeframe":"m1","name":"Gap Flag","description":"Data quality flag on the M1 bar.","formula":"1 when the prior M1 bar is missing (timestamp gap > 1 minute), else 0.","usefulness":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring.","timeframeUse":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction.","rule":"Always neutral (quality only).","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"missing_bid_ask_flag","family":"quality","timeframe":"m1","name":"Missing Bid Ask Flag","description":"Data quality flag on the M1 bar.","formula":"1 when bid or ask close is null on the M1 bar, else 0.","usefulness":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring.","timeframeUse":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"stale_minute_flag","family":"quality","timeframe":"m1","name":"Stale Minute Flag","description":"Data quality flag on the M1 bar.","formula":"Reserved quality flag for stale quote detection (currently 0).","usefulness":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring.","timeframeUse":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction.","rule":"Always neutral (quality only).","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"wide_spread_flag","family":"quality","timeframe":"m1","name":"Wide Spread Flag","description":"Data quality flag on the M1 bar.","formula":"1 when spread_close exceeds the 95th percentile of the trailing 60-bar spread window.","usefulness":"Data-integrity guardrail. Prevents false signals when quotes gap, spreads blow out, or bid/ask is missing. Quality flags are forced neutral in soup scoring.","timeframeUse":"All timeframes — apply whenever data quality affects signal trust (always neutral in soup).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Quality flags always vote neutral (0) — they inform data trust, not direction.","rule":"Always neutral (quality only).","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"gap_open_pts","family":"returns","timeframe":"d1","name":"Gap Open Pts","description":"Overnight / session open gap vs prior close (daily open metric).","formula":"Session open minus prior bar close in index points: mid_open_t − mid_close_{t−1}.","usefulness":"Quantifies overnight or session-open shock versus the prior close. Useful for gap-and-go vs gap-fill setups, opening-range bias, and filtering mean-reversion strategies on large opens.","timeframeUse":"Daily bias, swing direction, and multi-session trend filters. Best for holding period ≥ 1 session.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"body_pct","family":"returns","timeframe":"m1","name":"Body Pct","description":"Feature column from AutoTrader enrich (returns, m1).","formula":"|Close − open| / (high − low) on the current M1 bar (0 if range is zero).","usefulness":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"lower_wick_pct","family":"returns","timeframe":"m1","name":"Lower Wick Pct","description":"Feature column from AutoTrader enrich (returns, m1).","formula":"(min(open, close) − low) / (high − low) on the current M1 bar.","usefulness":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"range_pct","family":"returns","timeframe":"m1","name":"Range Pct","description":"Feature column from AutoTrader enrich (returns, m1).","formula":"(High − low) / mid_close on the current M1 bar.","usefulness":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_1m","family":"returns","timeframe":"m1","name":"Ret Log 1M","description":"Log return over the lag window on M1 bars.","formula":"Natural log return of mid close over 1 minute(s): ln(close_t / close_{t−1}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"upper_wick_pct","family":"returns","timeframe":"m1","name":"Upper Wick Pct","description":"Feature column from AutoTrader enrich (returns, m1).","formula":"(High − max(open, close)) / (high − low) on the current M1 bar.","usefulness":"Describes candle morphology on the current bar — participation, rejection wicks, and indecision. Useful for breakout validation, pin-bar context, and volatility regime cues.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_10m","family":"returns","timeframe":"m10","name":"Ret Log 10M","description":"Log return over the lag window on M10 bars.","formula":"Natural log return of mid close over 10 minute(s): ln(close_t / close_{t−10}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_120m","family":"returns","timeframe":"m120","name":"Ret Log 120M","description":"Log return over the lag window on M120 bars.","formula":"Natural log return of mid close over 120 minute(s): ln(close_t / close_{t−120}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Half-session to full-session context (2–6 hours).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_15m","family":"returns","timeframe":"m15","name":"Ret Log 15M","description":"Log return over the lag window on M15 bars.","formula":"Natural log return of mid close over 15 minute(s): ln(close_t / close_{t−15}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_2m","family":"returns","timeframe":"m2","name":"Ret Log 2M","description":"Log return over the lag window on M2 bars.","formula":"Natural log return of mid close over 2 minute(s): ln(close_t / close_{t−2}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_240m","family":"returns","timeframe":"m240","name":"Ret Log 240M","description":"Log return over the lag window on M240 bars.","formula":"Natural log return of mid close over 240 minute(s): ln(close_t / close_{t−240}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Half-session to full-session context (2–6 hours).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_3m","family":"returns","timeframe":"m3","name":"Ret Log 3M","description":"Log return over the lag window on M3 bars.","formula":"Natural log return of mid close over 3 minute(s): ln(close_t / close_{t−3}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_30m","family":"returns","timeframe":"m30","name":"Ret Log 30M","description":"Log return over the lag window on M30 bars.","formula":"Natural log return of mid close over 30 minute(s): ln(close_t / close_{t−30}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Hourly rhythm trades and lunch-to-close setups (30–90 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_5m","family":"returns","timeframe":"m5","name":"Ret Log 5M","description":"Log return over the lag window on M5 bars.","formula":"Natural log return of mid close over 5 minute(s): ln(close_t / close_{t−5}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"ret_log_60m","family":"returns","timeframe":"m60","name":"Ret Log 60M","description":"Log return over the lag window on M60 bars.","formula":"Natural log return of mid close over 60 minute(s): ln(close_t / close_{t−60}). Computed on the M1 grid using only past bars (no lookahead).","usefulness":"Measures very recent directional impulse. Useful for confirming micro-trends, detecting momentum bursts before mean reversion, and aligning short-horizon soup votes with tape direction.","timeframeUse":"Hourly rhythm trades and lunch-to-close setups (30–90 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 if log return > +0.0001 (bullish impulse), −1 if < −0.0001, else 0.","rule":"Bullish if log return > 0.0001; bearish if < −0.0001; else neutral.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"mins_since_ny_open","family":"session","timeframe":"m1","name":"Mins Since Ny Open","description":"US cash session context on the M1 grid.","formula":"Minutes elapsed since 09:30 NY on the current session day (0 outside session).","usefulness":"Opening-drive and ORB strategies: first hour often has distinct volatility and directional bias.","timeframeUse":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 during the first two hours after NY open (0–120 minutes), else 0.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"mins_to_ny_close","family":"session","timeframe":"m1","name":"Mins To Ny Close","description":"US cash session context on the M1 grid.","formula":"Minutes remaining until 16:00 NY close (0 outside session).","usefulness":"End-of-day positioning, MOC flows, and fade vs continuation into the close.","timeframeUse":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Rule: Threshold-based sign from raw feature value.","rule":"Threshold-based sign from raw feature value.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"session_ny","family":"session","timeframe":"m1","name":"Session Ny","description":"US cash session context on the M1 grid.","formula":"1 when timestamp falls in US cash session (09:30–16:00 America/New_York), else 0.","usefulness":"Separates US RTH liquidity from overnight Globex — critical for index futures edge and spread behavior.","timeframeUse":"US cash session (09:30–16:00 ET) — opening hour, midday, and closing hour tactics.","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Vote +1 when the session flag is active, else 0.","rule":"Bullish when NY session open hour flag is set.","barTimeframe":null,"inHeatmap":true,"tier":"common"},{"id":"atr_14_m1","family":"volatility","timeframe":"m1","name":"Atr 14 M1","description":"Average true range on M1.","formula":"Average True Range over 14 bars on M1: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"atr_20_m1","family":"volatility","timeframe":"m1","name":"Atr 20 M1","description":"Average true range on M1.","formula":"Average True Range over 20 bars on M1: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"std_ret_10_m1","family":"volatility","timeframe":"m1","name":"Std Ret 10 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 10 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"std_ret_120_m1","family":"volatility","timeframe":"m1","name":"Std Ret 120 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 120 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"std_ret_20_m1","family":"volatility","timeframe":"m1","name":"Std Ret 20 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 20 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"std_ret_240_m1","family":"volatility","timeframe":"m1","name":"Std Ret 240 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 240 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"std_ret_5_m1","family":"volatility","timeframe":"m1","name":"Std Ret 5 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 5 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":false,"tier":"premium"},{"id":"std_ret_60_m1","family":"volatility","timeframe":"m1","name":"Std Ret 60 M1","description":"Rolling std of log returns on M1.","formula":"Rolling standard deviation of 1-bar log returns over 60 bars on the M1 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m1","inHeatmap":true,"tier":"premium"},{"id":"atr_14_m15","family":"volatility","timeframe":"m15","name":"Atr 14 M15","description":"Average true range on M15.","formula":"Average True Range over 14 bars on M15: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"atr_20_m15","family":"volatility","timeframe":"m15","name":"Atr 20 M15","description":"Average true range on M15.","formula":"Average True Range over 20 bars on M15: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"std_ret_10_m15","family":"volatility","timeframe":"m15","name":"Std Ret 10 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 10 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"std_ret_120_m15","family":"volatility","timeframe":"m15","name":"Std Ret 120 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 120 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"std_ret_20_m15","family":"volatility","timeframe":"m15","name":"Std Ret 20 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 20 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"std_ret_240_m15","family":"volatility","timeframe":"m15","name":"Std Ret 240 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 240 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"std_ret_5_m15","family":"volatility","timeframe":"m15","name":"Std Ret 5 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 5 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":false,"tier":"premium"},{"id":"std_ret_60_m15","family":"volatility","timeframe":"m15","name":"Std Ret 60 M15","description":"Rolling std of log returns on M15.","formula":"Rolling standard deviation of 1-bar log returns over 60 bars on the M15 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Short intraday moves and opening-drive follow-through (5–45 minutes).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m15","inHeatmap":true,"tier":"premium"},{"id":"atr_14_m5","family":"volatility","timeframe":"m5","name":"Atr 14 M5","description":"Average true range on M5.","formula":"Average True Range over 14 bars on M5: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"atr_20_m5","family":"volatility","timeframe":"m5","name":"Atr 20 M5","description":"Average true range on M5.","formula":"Average True Range over 20 bars on M5: mean of max(H−L, |H−C_prev|, |L−C_prev|).","usefulness":"Absolute volatility yardstick for position sizing, stop placement, and normalizing distance metrics. Rising ATR often accompanies breakouts; compressed ATR precedes expansion.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"Neutral (level indicator) unless paired with direction rule.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"std_ret_10_m5","family":"volatility","timeframe":"m5","name":"Std Ret 10 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 10 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"std_ret_120_m5","family":"volatility","timeframe":"m5","name":"Std Ret 120 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 120 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"std_ret_20_m5","family":"volatility","timeframe":"m5","name":"Std Ret 20 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 20 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":true,"tier":"common"},{"id":"std_ret_240_m5","family":"volatility","timeframe":"m5","name":"Std Ret 240 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 240 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"std_ret_5_m5","family":"volatility","timeframe":"m5","name":"Std Ret 5 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 5 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":false,"tier":"premium"},{"id":"std_ret_60_m5","family":"volatility","timeframe":"m5","name":"Std Ret 60 M5","description":"Rolling std of log returns on M5.","formula":"Rolling standard deviation of 1-bar log returns over 60 bars on the M5 series (realized volatility).","usefulness":"Realized return volatility — how noisy recent bars are. Useful for regime detection, vol-targeting overlays, and down-weighting signals in chaotic microstructure.","timeframeUse":"Scalping and immediate momentum (1–10 minute trades).","signalCalculation":"IndicatorSoup maps the live feature value to a vote in (-1, 0, +1) using a fixed, versioned rule (no lookahead). Level/volatility columns vote neutral (0) in the current ruleset — use as context or future paired rules.","rule":"High vol vs 60-bar median: expanding + up bar = bullish bias.","barTimeframe":"m5","inHeatmap":true,"tier":"premium"}]}