Skip to main content

EMA Bands Guppy Scalp

EMA Bands Guppy Scalp strategy behavior

EMA Bands Guppy Scalp is a trend-following strategy built around three groups of exponential moving averages (EMAs). Instead of treating one EMA crossover as a complete trading signal, it uses a fast, medium, and slow EMA group to judge how momentum is developing across several time horizons.

The strategy can enter at the start of a bullish move, when the fast EMA group crosses above the slow group, or join an established trend after price pulls back to one of the slower EMA bands. It then manages the position with a profit target, an optional protective stop, and an optional exit when the EMA structure turns bearish.

This approach is best suited to liquid markets that develop clear directional moves. It is less comfortable in flat, noisy conditions where the EMA groups repeatedly compress and cross.

warning

This is a scalping strategy. Small targets make spread, fees, slippage, and order size especially important. Backtest the exact pair, exchange, period, and fee assumptions you intend to use before trading live.

How the strategy trades

The EMA groups have different jobs:

  • The yellow group contains the fastest EMAs and reacts first to price changes.
  • The blue group represents medium-term direction.
  • The green group contains the slowest EMAs and acts as the long-term trend reference.

The default lengths create a broad Guppy-style ribbon. When the yellow group rises above the blue group and the blue group rises above the green group, momentum is aligned from fast to slow. The growing space between the groups can indicate a healthy trend; tangled or frequently overlapping groups usually indicate uncertainty.

EMA Bands Guppy Scalp opens only one position at a time. It does not average down or add repeated entries to an existing position.

Cross entries

With EBG_REQUIRE_GROUP_CROSS enabled, the standard entry looks for the average of the yellow EMA group to cross above the average of the green group.

This is an early trend signal. It does not require every yellow EMA to already be above every blue EMA, or every blue EMA to be above every green EMA. That makes the cross entry more responsive, but also more vulnerable to false starts in sideways markets.

When EBG_REQUIRE_GROUP_CROSS is disabled, the strategy can enter whenever all three groups are fully arranged in bullish order:

  1. Every yellow EMA is above every blue EMA.
  2. Every blue EMA is above every green EMA.

This is a stricter confirmation of an established trend. Because the bullish stack itself becomes the standard entry condition, it is checked before a pullback entry and uses the normal target rather than the separate pullback target.

Pullback entries

When EBG_ALLOW_PULLBACK_REENTRY is enabled, the strategy can also buy a pullback during a fully bullish EMA structure.

For a pullback entry, price must reach the selected blue or green EMA band and then close back above the top of that band. This is meant to identify a temporary retracement that finds support while the larger bullish trend remains intact.

Use EBG_PULLBACK_GROUP to choose the band:

  • blue looks for shallower pullbacks to the medium-speed group.
  • green waits for deeper pullbacks to the slow group.
  • green_or_blue accepts a qualifying recovery from either group.

Blue-band pullbacks generally produce more opportunities but can occur before a meaningful reset. Green-band pullbacks are less frequent and enter closer to the long-term trend area, although a move that reaches the green band may also signal that momentum is weakening.

Pullback entries require the complete bullish yellow-over-blue-over-green structure. A simple yellow-versus-green crossover is not enough.

Position exits

Every entry gets a profit target. You can define targets and stops as either pip distances or percentages.

Profit targets

When EBG_USE_PIPS is disabled, EBG_TARGET_PCT defines the target for both cross and pullback entries.

When pip mode is enabled:

  • EBG_TARGET_PIPS defines the target for standard entries.
  • EBG_PULLBACK_TARGET_PIPS defines the target for pullback entries.
  • EBG_PIP_SIZE defines the value of one pip for the pair.

The strategy accounts for trading fees and can enforce an additional minimum net gain with EBG_MIN_NET_GAIN_PCT. This helps prevent a nominal target from turning into a negligible or negative result after fees.

Protective stop

The stop is active only when EBG_USE_PROTECTION is enabled.

  • In pip mode, the stop distance comes from EBG_STOP_PIPS.
  • In percentage mode, it comes from EBG_STOP_PCT.

A very tight stop may repeatedly close otherwise valid positions during normal candle noise. A wide stop gives the trend more room but increases the loss when the setup fails. Tune it together with the chart period, EMA lengths, and typical volatility of the pair.

Reverse-ribbon exit

When EBG_EXIT_ON_REVERSE_CROSS is enabled, the strategy can close after the EMA structure turns bearish. A reversal is recognized when the yellow group crosses below the green group or when the three groups become fully stacked in bearish order.

This exit is break-even aware: it will not deliberately use the reverse signal to realize a loss. The optional protective stop is the setting that provides a defined loss exit.

Good market conditions

EMA Bands Guppy Scalp generally works best when:

  • the market is liquid and the spread stays small;
  • price is beginning or continuing a clear bullish trend;
  • the EMA groups are separating instead of constantly weaving together;
  • pullbacks are orderly and recover above a blue or green support band;
  • volatility is high enough to reach the target, but not so erratic that normal movement repeatedly hits the stop.

A promising cross setup often starts with compressed EMA groups followed by the yellow group accelerating upward. A promising pullback setup has an already established yellow-over-blue-over-green structure, followed by a controlled retracement and a close back above the chosen band.

Avoid treating every bullish stack as equally strong. A ribbon that is almost flat, tightly compressed, or repeatedly changing order can produce many weak signals. Wide spreads, thin order books, sudden news-driven candles, and pairs that cannot cover fees within the chosen target are also poor candidates.

Creating the strategy

Create a new spot strategy and select EMA Bands Guppy Scalp as the buy and sell method. Start with paper trading or backtesting before assigning it to a live pair.

A practical setup process is:

  1. Select a liquid pair and a short chart period that still produces stable EMA structures.
  2. Keep the default EMA groups for the first tests.
  3. Decide whether you want early cross entries, confirmed bullish stacks, pullback entries, or a combination.
  4. Choose percentage or pip-based risk settings.
  5. Set spread limits that make sense for the pair's price scale.
  6. Test targets, protection, and fees together rather than tuning them independently.
  7. Review trades across trending, ranging, and volatile market samples.

Tuning the EMA structure

The three length settings accept comma-separated EMA periods. Shorter periods react more quickly; longer periods respond more slowly and filter more noise.

Keep each list ordered from short to long, and keep the groups logically separated:

  • yellow should contain the shortest lengths;
  • blue should contain medium lengths;
  • green should contain the longest lengths.

Moving all groups toward shorter lengths creates faster signals and more false changes in direction. Moving them toward longer lengths makes the strategy slower and more selective. Increasing the distance between groups can demand clearer trend development, while heavily overlapping ranges make their roles less distinct.

Changing these lists materially changes the strategy. Make one deliberate change at a time and retest it over more than one market phase.

Strategy settings

Trading and order size

SettingDescription
BUY_ENABLEDEnables new buy orders. Disable it to prevent new positions while retaining sell management.
SELL_ENABLEDEnables strategy sell orders. Disabling it prevents normal strategy exits.
PERIODCandle period used to calculate the EMA groups and evaluate signals.
TRADING_LIMITCompatibility fallback only. It is ignored while the strategy-specific trading limit contains a positive value. Configure the strategy-specific setting for normal use. For USDT-BTC, this value is in USDT.
EBG_TRADING_LIMITFor USDT-BTC, the amount of USDT EMA Bands Guppy Scalp uses for an entry. This is the setting to adjust for normal position sizing.
FUNDS_RESERVEFor USDT-BTC, the amount of USDT the bot must leave unused.
KEEP_QUOTEFor USDT-BTC, the amount of BTC to retain instead of selling.
MIN_VOLUME_TO_BUYGeneral minimum order value required before placing a buy. For USDT-BTC, this value is in USDT.
MIN_VOLUME_TO_SELLGeneral minimum position value required before placing a sell. For USDT-BTC, this value is in USDT.
EBG_MIN_ORDER_VALUEStrategy-specific minimum value for a buy order. For USDT-BTC, this value is in USDT.
EBG_MIN_SELL_VALUEStrategy-specific minimum value for a sell order. For USDT-BTC, this value is in USDT.

The effective order must satisfy the exchange requirements as well as both the general and strategy-specific minimums.

Timing and execution filters

SettingDescription
EBG_COOLDOWN_MSMinimum live-trading delay in milliseconds between strategy actions. It helps prevent rapid repeated decisions.
EBG_MAX_SPREAD_PCTMaximum permitted bid/ask spread as a percentage. A buy is blocked when the spread is wider.
EBG_MAX_SPREAD_ABSOLUTEMaximum permitted spread for USDT-BTC, in USDT. This must fit the price scale of the selected pair.
EBG_NEWS_BLOCKBlocks new entries while the manual news block is active. Position management remains available.
EBG_NEWS_BLOCK_UNTILTime until which new entries remain blocked. Use the time format expected by the strategy editor.

Both spread limits matter. An absolute limit suitable for a low-priced pair may be unusably tight or far too loose on a differently priced market.

EMA groups and entries

SettingDescription
EBG_YELLOW_LENGTHSComma-separated periods for the fast EMA group.
EBG_BLUE_LENGTHSComma-separated periods for the medium EMA group.
EBG_GREEN_LENGTHSComma-separated periods for the slow EMA group.
EBG_REQUIRE_GROUP_CROSSWhen enabled, standard entries require a fresh yellow-average cross above the green average. When disabled, a fully bullish three-group stack qualifies.
EBG_ALLOW_PULLBACK_REENTRYEnables entries after price pulls back to a selected EMA band and closes back above it during a fully bullish trend.
EBG_PULLBACK_GROUPSelects blue, green, or green_or_blue as the pullback support area.

Despite the name “reentry,” a pullback signal opens a position only while the strategy is flat. It does not add to an existing trade.

Targets and protection

SettingDescription
GAINGeneral gain setting retained by the strategy configuration. EMA Bands Guppy Scalp uses its own target controls for these exits.
EBG_USE_PIPSUses pip distances instead of percentages for target and stop calculations.
EBG_PIP_SIZEFor USDT-BTC, the USDT value represented by one pip. Verify this for the selected market before enabling pip mode.
EBG_TARGET_PIPSProfit target in pips for standard entries.
EBG_PULLBACK_TARGET_PIPSProfit target in pips for pullback entries. It applies only in pip mode.
EBG_STOP_PIPSProtective stop distance in pips when pip mode and protection are enabled.
EBG_TARGET_PCTProfit target percentage used for all entries when pip mode is disabled.
EBG_STOP_PCTProtective stop percentage used when percentage mode and protection are enabled.
EBG_USE_PROTECTIONActivates the configured protective stop. Without it, the stop values do not close a losing position.
EBG_MIN_NET_GAIN_PCTMinimum intended gain after estimated fees. This can raise the effective target above the nominal target setting.
EBG_EXIT_ON_REVERSE_CROSSAllows a break-even-or-better exit when the ribbon reverses into a bearish signal.

Backtesting range

SettingDescription
BF_SINCEStart of the selected backtesting period.
BF_UNTILEnd of the selected backtesting period.
DEEP_TESTINGEnables the deeper backtesting mode available in the strategy editor.

Example tuning directions

For earlier trend entries, keep EBG_REQUIRE_GROUP_CROSS enabled and use responsive yellow lengths. Expect more failed signals when the market ranges.

For stronger trend confirmation, disable EBG_REQUIRE_GROUP_CROSS. Entries then wait for a complete bullish arrangement of all three groups. This is slower, but it filters out some incomplete transitions.

For continuation trading, enable pullbacks and begin with green_or_blue. Review which band actually produces cleaner recoveries on the selected pair. Switch to blue for more, shallower opportunities or green for fewer, deeper resets.

For tight scalps, make sure the target comfortably exceeds spread, fees, and normal slippage. EBG_MIN_NET_GAIN_PCT can provide a useful floor, but an unrealistic floor may make exits much harder to reach.

Important limitations

  • EMA signals are delayed by design and cannot predict sudden reversals.
  • Early cross entries can trigger before the complete trend structure is established.
  • Fully stacked groups can persist after much of a move has already happened.
  • Reverse-ribbon exits do not act as loss-taking stops.
  • Disabling protection leaves losing positions without a fixed stop exit.
  • Pip size and absolute spread limits are pair-specific and should not be copied blindly.
  • Short periods amplify candle noise, trading costs, and sensitivity to execution quality.
  • A backtest cannot fully reproduce live spread changes, slippage, latency, or thin liquidity.

Treat the strategy as a structured way to trade EMA trend development, not as proof that a trend will continue. The most useful testing question is not only whether the settings were profitable, but whether entries occurred in the kind of clean, liquid, directionally aligned market the method is designed for.