BOT START SIGNAL

STC Indicator

STC (Schaff Trend Cycle) is a 0–100 oscillator combining MACD and Stochastic logic for earlier trend signals. In the ELIXOAI start signal builder you get two presets: oversold exit (value cross up 25) and trend change to bullish. Outputs value and trend, parameters fastLength/slowLength/cycleLength/d1Length/d2Length, and strategy examples explained.

STC (Schaff Trend Cycle) indicator on a cryptocurrency chart
STC displays the trend cycle on a 0–100 scale: below 25 is oversold, above 75 is overbought; the bullish/bearish trend output complements the numeric value.

The Start Bots Signal category describes signals and indicators that can start a trading bot. One of the technical indicators is STC (Schaff Trend Cycle).

When creating or editing any bot, there is a Start signal builder block at the bottom of settings. You can choose individual indicators, ready-made presets, and their combinations. Conditions are grouped: AND inside a group, OR between groups. The same indicator can be configured in different ways - for Long and Short, for breakouts and bounces, for level comparisons and for crosses.

What is STC (Schaff Trend Cycle)

STC (Schaff Trend Cycle) is an oscillator developed by Doug Schaff. It combines MACD ideas (trend moving averages) and Stochastic logic (normalizing momentum into a 0–100 range) to deliver earlier, smoother trend-change signals.

STC values oscillate from 0 to 100. Classic levels: below 25 - oversold zone (Long potential), above 75 - overbought zone (Short potential). In the ELIXOAI start signal builder, STC is used as an automatic bot start condition - via value level crosses or text trend output changes.

TAAPI returns two outputs: numeric value (STC 0–100) and text trend (bullish/bearish). STC works well in trending and transitional phases; in prolonged ranges, frequent 25/75 crosses produce false starts - add a trend filter or EMA.

STC vs MACD and Stochastic

All three tools relate to momentum and trend, but solve the problem differently:

  • MACD is built on the difference of price EMAs (fastLength/slowLength) and often lags on reversals. STC runs MACD through double stochastic smoothing - signals arrive earlier while staying on a 0–100 oscillator scale.
  • Stochastic compares close price to the High–Low range over a period. STC does not use High/Low directly - it normalizes an already smoothed MACD-like impulse. STC is less noisy in ranges than “raw” Stochastic on short timeframes.
  • STC is a hybrid: trend base (fastLength 23, slowLength 50) + cycle smoothing (cycleLength, d1Length, d2Length). Levels 25/75 replace MACD’s zero line; the trend output gives a ready direction filter without manual comparison.

How STC works

STC calculation is multi-step - first a MACD-like EMA difference is built, then the result is run through stochastic normalization twice:

MACD = EMA(Close, fastLength) − EMA(Close, slowLength), then STC = Stochastic(MACD, cycleLength) with additional smoothing d1Length and d2Length. The result is value in the 0–100 range.

  • STC < 25 - oversold: weak impulse, bounce possible; preset stc_oversold_exit catches the cross up 25 moment.
  • STC > 75 - overbought: overheated impulse, pullback possible; for Short set cross down 75 or trend changed_to bearish.
  • STC between 25 and 75 - neutral or transitional zone; trend bullish/bearish helps read direction without hard extremes.

In the builder you set a comparison condition: “value crosses above 25,” “trend changed to bullish,” and so on. The system fetches live value and trend from the exchange via TAAPI and checks the condition on your timeframe - at candle close or every minute.

Two STC outputs

The stc indicator exposes two outputs - one numeric and one text:

  • value - STC line in the 0–100 range. Used in stc_oversold_exit for crosses and gt/lt/gte/lte comparisons with levels 25, 50, 75.
  • trend - text output: bullish or bearish. Used in stc_trend_change with eq, neq, changed_to, changed_from operators.

Preset stc_oversold_exit uses numeric value; preset stc_trend_change uses text trend. Both share the same fastLength, slowLength, cycleLength, d1Length, d2Length parameters.

STC parameters

By default the builder uses TAAPI parameters - standard Schaff Trend Cycle settings:

  • fastLength (23): fast EMA period in the MACD part of the calculation. Lower value - STC reacts faster, more 25/75 crosses.
  • slowLength (50): slow EMA period. Defines the base trend horizon; classic for 15m–1h.
  • cycleLength (10): stochastic normalization period for MACD into 0–100. Analogous to Stochastic %K period.
  • d1Length (3): first smoothing after stochastic - removes sharp value spikes.
  • d2Length (3): second smoothing; final STC line is smoother, fewer but more stable signals.

Settings 23/50/10/3/3 work well on 15m–4h. For 5m scalping reduce fastLength and cycleLength; for 4h swing increase slowLength.

Ready-made presets in the builder

The builder offers two STC presets with default settings. Each can be fully customized: different operator, level, parameters, or timeframe.

STC cross_up 25 - oversold exit (stc_oversold_exit)

Default condition: output value crosses level 25 from below to above (cross up) on the selected timeframe (15m interval, parameters 23/50/10/3/3, check at bar close).

Long signal on oversold reversal: STC was below 25 and rose above - impulse started recovering. Unlike “value < 25” (lt), the cross captures the exit moment from weakness. For Short set cross down 75.

Operators for stc_oversold_exit
  • Crosses above (cross up): value was below the level and moved above. Classic Long - cross up 25: oversold exit.
  • Crosses below (cross down): value was above the level and dropped below. Short signal - cross down 75: overbought exit.
  • Greater than (gt): value is strictly above the level. E.g. value > 50 - STC in upper half of range, bullish context.
  • Less than (lt): value is strictly below the level. value < 25 - oversold, useful for bounce filters.
  • Greater or equal (gte): value is at or above the threshold. Handy for “value ≥ 50” filter on a higher timeframe.
  • Less or equal (lte): value is at or below the threshold. Oversold filter: value ≤ 25 on 1h.

Trend changed_to bullish - trend change (stc_trend_change)

Default condition: output trend changed to bullish (changed_to) on the selected timeframe (15m interval, parameters 23/50/10/3/3, check at bar close).

Direction shift signal: TAAPI records trend switching to bullish - STC confirmed a bullish cycle. More precise than trend eq bullish at the reversal moment. For Short set changed_to bearish or eq bearish.

Operators for stc_trend_change
  • Equals (eq): trend strictly equals the target - bullish or bearish right now. trend eq bullish - bot starts only with bullish STC.
  • Not equal (neq): trend does not equal the specified value. trend neq bearish - Long only when trend is not bearish.
  • Changed to (changed to): trend just switched to the target value. trend changed_to bullish - moment of shift from bearish to bullish; main preset signal.
  • Changed from (changed from): trend equaled the specified value on the previous check and changed. Useful to capture exit from bearish phase: changed_from bearish.
Levels 25 and 75

25 and 75 are STC’s main references: cross up 25 means oversold exit; cross down 75 means overbought exit. In a strong trend STC can stay above 75 or below 25 for a long time - then trend eq bullish/bearish or gt/lt gives direction filter while cross gives pullback entry.

General builder settings

  • Timeframe (interval): 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter intervals give more signals but more noise. Swing bots often use 1h–4h; scalping uses 5m–15m.
  • Check mode: At candle close checks after the candle closes - fewer false triggers. Every minute checks inside the current candle - faster reaction, higher false-start risk.
  • Operator: greater than, less than, crosses above, crosses below, greater or equal, and others define how the indicator value is compared to the target.
  • Target value: a number (e.g. 30 for RSI), an indicator line (e.g. %D for Stochastic), or price (for Bollinger Bands).
  • Condition groups: up to 3 groups with up to 5 conditions each. Example: group 1 - RSI < 30 AND price < lower band; group 2 - Stochastic < 20. The bot starts if group 1 OR group 2 is satisfied.

Setup examples for different strategies

Scalping: reduced parameters on 5m–15m

Goal: frequent starts on short STC cycles.
Long: stc_oversold_exit preset, cross up 25, 5m timeframe, fastLength 12, cycleLength 6, check at bar close.
Short: cross down 75, same settings.
Filter: trend eq bullish on 15m - fewer false crosses in a range.

Swing: standard 23/50/10/3/3 on 1h–4h

Goal: fewer but more meaningful cycle shifts.
Long: STC cross up 25 on 4h, standard parameters, check at close.
Short: cross down 75 on 4h.
On a higher TF STC smooths noise and signals closer to a sustained trend change.

Trend confirmation via trend output

Goal: Long only when STC confirms bullish context.
Group 1: trend eq bullish on 4h (stc_trend_change preset) AND value cross up 25 on 15m.
Short: trend eq bearish on 4h AND cross down 75 on 15m.
Higher TF sets direction, lower TF catches entry timing.

Level vs trend: when to use which

stc_oversold_exit - impulse signal at 25/75 cross moment; triggers more often.
stc_trend_change - bullish/bearish shift filter; changed_to catches reversals more precisely, eq holds in trend.
Combo: trend eq bullish on 1h AND value gt 50 on 15m - entry without waiting for a fresh cross.

STC + EMA

Long: price cross up EMA 20 on 15m AND STC cross up 25 on the same 15m - double confirmation: both price and STC cycle turned up.
Short: price cross down EMA 20 AND STC cross down 75.
Alternative: trend eq bullish on 1h AND price > EMA 50 on 1h - trend Long.

Short on cycle shift

Condition: STC cross down 75 or trend changed_to bearish, 15m, check at close.
Filter: RSI > 65 in the same group - short after overbought with STC reversal confirmation.
Fits short grids at local peaks.

Strong cycle (gt filter)

Long: STC value gt 50 on 1h - bot starts only with STC in upper half of range, without waiting for a cross.
Short: value lt 50 on 1h.
Useful in trends where cross up 25 already happened but cycle remains bullish.

Pullback in trend

Group 1: trend eq bullish on 4h AND STC cross up 25 on 15m.
Logic: higher TF shows sustained bullish cycle; lower TF catches resumption after a short correction into < 25.

STC + RSI

Long: RSI cross up 30 on 15m AND STC cross up 25 on 15m - oscillator and STC cycle aligned.
Short: RSI cross down 70 AND STC cross down 75.
RSI catches oversold/overbought; STC checks trend cycle shift.

Multi-timeframe

Long: trend eq bullish on 4h (separate condition) AND STC cross up 25 on 15m.
Short: trend eq bearish on 4h AND STC cross down 75 on 15m.
Avoids buying every local cross against global bearish trend.

DCA on pullback

Long: STC cross up 25 on 1h AND RSI < 45 on 1h - cycle bounce from weakness without extreme oversold.
Short: cross down 75 AND RSI > 55.
For a DCA bot, cross up 25 is softer than strict RSI < 30.

Condition groups: practical example

Bot with two Long scenarios:
Group 1: STC cross up 25 on 15m AND trend eq bullish on 1h - impulse cycle resumption.
Group 2: trend changed_to bullish on 4h AND price > EMA 50 on 15m - STC reversal with price confirmation.
Groups combined with OR. Configure Short symmetrically (cross down 75, trend eq bearish).

Tip
In a ranging market STC often crosses 25 and 75 back and forth - cross up 25 and cross down 75 produce false starts. Increase slowLength, add trend eq bullish filter on a higher timeframe or EMA. Preset stc_trend_change with changed_to captures reversals more precisely than eq in a prolonged trend. Use check at bar close to ignore intrabar noise.