Skip to main content

Anti Trading Scalp Spot Trading Strategy

Anti Trading Scalp is a spot momentum strategy based on a stochastic oscillator and a moving average of that oscillator. It buys when stochastic crosses above its average, optionally requiring the average itself to be rising.

Anti Trading Scalp Spot Trading Strategy strategy behavior

The setup is intentionally compact. There is no separate price trend filter, so the quality of each cross depends heavily on the pair, timeframe, spread, and surrounding market direction.

warning

Stochastic crosses are common in sideways and falling markets. The optional slope requirement reduces some noise, but it does not prove that price has started a durable uptrend.

Trading behavior

The strategy first calculates raw stochastic from the selected high/low range. It can smooth that value and then calculates a slower SMA from the resulting stochastic series.

Entry

A buy signal requires:

  1. On the previous candle, stochastic was at or below its moving average.
  2. On the current candle, stochastic is above its moving average.
  3. When ATS_REQUIRE_MA_SLOPE is enabled, the stochastic average has risen for two consecutive comparisons.

It then checks that there is no existing position, spread is acceptable, the manual news block is clear, and order sizing is valid.

Anti Trading Scalp buys once for the configured value. It does not average down.

tip

The slope setting evaluates the stochastic moving average, not a moving average of price. It filters momentum crosses but does not establish a price trend.

Profit target

The target is:

  • ATS_TARGET_PCT above average entry in percentage mode.
  • ATS_TARGET_PIPS × ATS_PIP_SIZE above entry in pip mode.

The final target also covers estimated round-trip fees plus ATS_MIN_NET_GAIN_PCT.

Opposite-cross exit

The sell signal is a stochastic cross below its moving average. With the slope requirement enabled, the average must also be declining for two consecutive comparisons.

When ATS_EXIT_ON_OPPOSITE_CROSS is enabled, this may close the position only at or above break-even. A bearish cross does not cut a losing trade.

Stop

ATS_STOP_ENABLED controls whether the strategy can close at a loss:

  • In percentage mode, the stop is ATS_STOP_PCT below average entry.
  • In pip mode, it is ATS_STOP_PIPS × ATS_PIP_SIZE below entry.

With the stop disabled, the position waits for a profitable target or profitable opposite-cross exit.

Spread, news block, and cooldown

Both spread limits must pass when the absolute limit is non-zero. The default absolute value of 0.0001 must be checked against the quotation scale of every pair.

The news block is manual and pauses entries only. Open positions remain managed.

The strategy waits for open orders to clear and observes its cooldown between live actions.

Good market conditions

Anti Trading Scalp works best in liquid markets with smooth, repeatable momentum turns:

  • Price is forming an orderly swing rather than a single isolated wick.
  • Stochastic crosses are followed by continued movement.
  • The stochastic average has a clear slope.
  • Spread is small compared with the target after fees.

It is weaker in:

  • Persistent downtrends, where bullish stochastic crosses can be short-lived.
  • Flat noise, where the lines cross repeatedly.
  • Very sharp moves, where stochastic can stay pinned near an extreme.
  • Thin markets with unstable spreads.

The five-minute default is a reasonable starting point. A higher period produces fewer, slower crosses; one-minute candles need especially strict spread and execution checks.

How to create an Anti Trading Scalp strategy

  1. Create a new spot strategy in the advanced strategy editor.
  2. Select antitradingscalp as both buy and sell method.
  3. Start with the default five-minute period.
  4. Set both trading-limit values to the intended order size.
  5. Check percentage and absolute spread limits for the pair.
  6. Backtest with the slope requirement enabled and disabled.
  7. Test stop behavior separately over bearish periods.

A practical tuning workflow

Tune signal speed first:

  • A shorter stochastic length reacts sooner.
  • More stochastic smoothing removes small fluctuations.
  • A longer stochastic MA creates fewer, later crosses.
  • The slope requirement removes crosses against a flat or recently falling momentum baseline.

Do not shorten all three lengths together without comparison; that can make both lines react so quickly that the cross loses meaning.

Tune exits after the signal. Compare the typical move following a bullish cross with spread, fees, and the requested gain. If a target is frequently missed by a small amount, first verify costs and signal quality before lowering minimum net gain.

Finally, choose stop behavior. A stop should reflect normal adverse movement on the selected timeframe, not simply match the small profit target.

Core settings

LabelConfig parameterDefaultDescription
Buy enabledBUY_ENABLEDtrueAllows new stochastic-cross entries.
Sell enabledSELL_ENABLEDtrueAllows target, opposite-cross, and stop exits.
PeriodPERIOD5Candle period in minutes.
Trading limitTRADING_LIMIT100Compatibility fallback only. It is ignored while the strategy-specific trading limit is positive; the two values do not need to match. For USDT-BTC, this value is in USDT.
Funds reserveFUNDS_RESERVE0For USDT-BTC, the amount of USDT the bot must leave unused.
Amount retained from sellsKEEP_QUOTE0For USDT-BTC, the amount of BTC the strategy must not sell.
Min volume to buyMIN_VOLUME_TO_BUY10General minimum buy value. Keep it aligned with ATS_MIN_ORDER_VALUE. For USDT-BTC, this value is in USDT.
Min volume to sellMIN_VOLUME_TO_SELL10General minimum sell value. Keep it aligned with ATS_MIN_SELL_VALUE. For USDT-BTC, this value is in USDT.
GainGAIN0.3General target value. Keep the intended target explicit in ATS_TARGET_PCT.

Order and execution settings

LabelConfig parameterDefaultDescription
ATS trading limitATS_TRADING_LIMIT100For USDT-BTC, the amount of USDT used for the single buy.
ATS min order valueATS_MIN_ORDER_VALUE10Minimum value required for a buy. For USDT-BTC, this value is in USDT.
ATS min sell valueATS_MIN_SELL_VALUE10Minimum position value required for a sell. For USDT-BTC, this value is in USDT.
ATS cooldown msATS_COOLDOWN_MS30000Minimum milliseconds between live actions. 30000 is 30 seconds.
ATS max spread %ATS_MAX_SPREAD_PCT0.04Maximum spread as a percentage of midpoint.
ATS max spread absoluteATS_MAX_SPREAD_ABSOLUTE0.0001Maximum spread in pair price units. Set 0 to disable this second limit. For USDT-BTC, this value is in USDT.

Stochastic settings

LabelConfig parameterDefaultDescription
Stoch lengthATS_STOCH_LENGTH7High/low lookback for raw stochastic.
Stoch smooth lengthATS_STOCH_SMOOTH_LENGTH1SMA smoothing applied to stochastic. 1 keeps the raw value.
Stoch MA lengthATS_STOCH_MA_LENGTH10Moving-average length used as the crossover line.
Require MA slopeATS_REQUIRE_MA_SLOPEtrueRequires the stochastic MA to rise for buys and fall for opposite sell signals.

Target and stop settings

LabelConfig parameterDefaultDescription
Use pipsATS_USE_PIPSfalseUses pip target and stop distances instead of percentages.
Pip sizeATS_PIP_SIZE0.0001Pair-price value of one pip. For USDT-BTC, this value is in USDT.
Target pipsATS_TARGET_PIPS8Profit distance in pip mode.
Target %ATS_TARGET_PCT0.3Profit distance above average entry in percentage mode.
Minimum net gain %ATS_MIN_NET_GAIN_PCT0.1Minimum gain above estimated fee-adjusted break-even for the normal target.
Exit on opposite crossATS_EXIT_ON_OPPOSITE_CROSStrueAllows a bearish stochastic cross to sell at or above break-even.
Stop enabledATS_STOP_ENABLEDfalseAllows a planned exit below break-even.
Stop pipsATS_STOP_PIPS8Protective distance in pip mode.
Stop %ATS_STOP_PCT0.4Protective distance below average entry in percentage mode.

News and backtesting settings

LabelConfig parameterDefaultDescription
News blockATS_NEWS_BLOCKfalseManually pauses new entries.
News block untilATS_NEWS_BLOCK_UNTIL0Timestamp until which entries remain blocked.
Backtest sinceBF_SINCE0Optional backtest start boundary.
Backtest untilBF_UNTIL0Optional backtest end boundary.
Deep testingDEEP_TESTINGfalseEnables deeper backtesting without changing live signals.

Important limitations

  • The moving-average slope is based on stochastic, not price.
  • The strategy has no broader price-trend filter.
  • It opens one position and does not DCA.
  • Opposite-cross exits never realize a loss.
  • Only ATS_STOP_ENABLED permits a planned loss exit.
  • The news block is manual.

Backtest how the pair behaves after a cross, not just whether the cross looks correct. The strategy depends on follow-through, and oscillator geometry alone cannot provide it.