Skip to main content

1 Min Scalper

1 Min Scalper strategy behavior

1 Min Scalper is a session-aware trend and pullback strategy designed around short candles. It uses a fast and slow EMA to establish direction, Stochastic RSI to identify a momentum reset, and Gann-style price levels to provide structural context for entries, targets, and stops.

The default setup trades only during configured time windows. It looks for Stochastic RSI to turn upward from its lower region while the fast EMA remains above the slow EMA. Optional filters can require price above the fast EMA, a rising fast EMA, and a touch near a Gann level.

Although the name suggests a one-minute chart, PERIOD remains configurable. Changing it changes the meaning of every lookback and session sample, so treat any other period as a different setup that needs its own testing.

warning

One-minute trading is particularly sensitive to spread, fees, slippage, latency, and short-lived candle noise. The protective stop is disabled by default. Test with realistic execution assumptions.

Entry setup

A long entry needs trend, momentum, structure, and session conditions to agree.

EMA trend

The fast EMA must be above the slow EMA. Keep OMS_EMA_SLOW_LENGTH greater than OMS_EMA_FAST_LENGTH.

Two optional filters make this stricter:

  • OMS_REQUIRE_PRICE_ABOVE_FAST_EMA requires the current close above the fast EMA.
  • OMS_REQUIRE_FAST_EMA_SLOPE requires the fast EMA to be rising.

Together, these filters avoid buying a Stochastic RSI turn while price is still below immediate trend support or the fast trend is losing direction.

Stochastic RSI turn

The strategy looks for Stochastic RSI %K to turn upward after the previous reading was at or below OMS_STOCH_BUY_LEVEL.

With OMS_REQUIRE_STOCH_D_CONFIRM enabled, %K must cross above %D. When it is disabled, %K only needs to cross back above the buy level.

The sell level defines the mirrored bearish turn used by the optional short-signal exit.

Gann-style levels

The strategy divides a recent high-to-low range into OMS_GANN_LEVELS evenly spaced levels. It identifies the nearest support below price and resistance above price.

Price must remain above the nearest support for a long entry. When OMS_REQUIRE_GANN_LEVEL_TOUCH is enabled, price must also be close to either the nearest support or resistance. In pip mode, OMS_GANN_PROXIMITY_PIPS defines “close.”

In percentage target mode, Gann proximity is fixed at approximately 0.02% of current price, so changing the pip proximity does not affect this test.

During a recognized session, levels are based on available candles from the start of that session. When no active session window supplies that start—for example while trading outside sessions—the strategy falls back to OMS_GANN_LOOKBACK.

The strategy opens one position at a time and does not average down.

Trading sessions

OMS_ACTIVE_SESSIONS accepts comma-separated daily windows such as:

09:00-11:00,15:00-20:00

The clock is interpreted in OMS_SESSION_TIMEZONE. Use a valid time-zone name and account for daylight-saving changes in that location.

When OMS_ALLOW_TOKYO_AUD_NZD is enabled, OMS_TOKYO_SESSION is added for pairs whose symbols include AUD or NZD. Other pairs do not receive this extra window.

Enable OMS_TRADE_OUTSIDE_SESSIONS to remove the entry-time restriction. Existing positions can always be managed outside a session; the windows block new signals, not exits.

Target and exits

Gann or fixed target

The strategy targets the nearest Gann resistance above the entry when that level is available. It will not use a target below the configured minimum objective:

  • OMS_TARGET_PIPS in pip mode;
  • OMS_TARGET_PCT in percentage mode;
  • estimated fee break-even plus OMS_MIN_NET_GAIN_PCT.

The resulting target is therefore the higher of the usable Gann resistance and the fee-aware configured floor.

OMS_TARGET_PIPS_MIN and OMS_TARGET_PIPS_MAX clamp the requested pip target. They do not create a variable range.

Technical exits

OMS_EXIT_ON_SHORT_SIGNAL can exit after the full mirrored short setup appears, including the session condition and any enabled EMA or Gann confirmations.

OMS_EXIT_ON_EMA_FLIP can exit when the fast EMA falls below the slow EMA.

Both technical exits require the position to be at break-even or better. They are not substitutes for loss protection.

Structural stop

Enable OMS_STOP_ENABLED to activate the stop.

The strategy looks below both the nearest Gann support and the lowest low in OMS_SWING_LOOKBACK, then applies OMS_STOP_BELOW_LEVEL_PIPS as an offset. OMS_STOP_PCT limits how far below the entry the stop may be placed.

The level offset always uses OMS_PIP_SIZE, including when OMS_USE_PIPS is disabled. The pip/percentage switch changes the profit-target distance, but not this structural stop offset.

Good market conditions

1 Min Scalper generally works best when:

  • the pair is liquid during the configured session;
  • spread remains small relative to the target;
  • the fast EMA is above and rising away from the slow EMA;
  • Stochastic RSI makes an orderly reset and bullish cross;
  • nearby Gann support is respected;
  • the next resistance leaves enough room for fees and slippage.

A useful setup often looks like a short pullback within an intraday uptrend, followed by a momentum turn near support.

Avoid thin session hours, flat or repeatedly crossing EMAs, and news-driven one-minute spikes. A Stochastic RSI cross can occur many times in a range, and it can turn upward briefly during a continuing decline.

Creating the strategy

Create a spot strategy and select 1 Min Scalper as the buy and sell method. Start with backtesting or paper trading.

A practical setup sequence is:

  1. Confirm the pair has adequate one-minute liquidity.
  2. Set the correct session time zone.
  3. Choose active windows that match the pair’s liquid hours.
  4. Keep EMA and Stochastic RSI defaults for the first tests.
  5. Compare Gann-touch confirmation on and off.
  6. Verify pip size and spread limits for the pair.
  7. Decide whether a structural stop is required.
  8. Test across quiet, active, trending, and event-driven sessions.

Strategy settings

Trading and execution

SettingDescription
BUY_ENABLEDEnables new buy orders.
SELL_ENABLEDEnables target, technical, and protective sell orders.
PERIODCandle period used for every calculation. The default is one minute.
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.
OMS_TRADING_LIMITFor USDT-BTC, the amount of USDT used for an entry.
FUNDS_RESERVEFor USDT-BTC, the amount of USDT the bot must leave unused.
KEEP_QUOTEFor USDT-BTC, the amount of BTC the strategy must not sell.
MIN_VOLUME_TO_BUYGeneral minimum buy value. For USDT-BTC, this value is in USDT.
MIN_VOLUME_TO_SELLGeneral minimum sell value. For USDT-BTC, this value is in USDT.
OMS_MIN_ORDER_VALUEStrategy-specific minimum entry value. For USDT-BTC, this value is in USDT.
OMS_MIN_SELL_VALUEStrategy-specific minimum exit value. For USDT-BTC, this value is in USDT.
OMS_COOLDOWN_MSMinimum live-trading delay in milliseconds between actions. It is not applied in backtests.
OMS_MAX_SPREAD_PCTMaximum permitted bid/ask spread as a percentage.
OMS_MAX_SPREAD_ABSOLUTEOptional maximum spread in USDT for a pair such as USDT-BTC. Set 0 to disable it.
OMS_NEWS_BLOCKManually blocks new entries while existing positions remain manageable.
OMS_NEWS_BLOCK_UNTILBlocks new entries until the configured time.

Session controls

SettingDescription
OMS_SESSION_TIMEZONETime zone used to interpret every session window.
OMS_ACTIVE_SESSIONSComma-separated daily entry windows in HH:MM-HH:MM format.
OMS_TOKYO_SESSIONExtra daily window available to AUD- or NZD-related pairs.
OMS_ALLOW_TOKYO_AUD_NZDAdds the Tokyo window when either pair symbol contains AUD or NZD.
OMS_TRADE_OUTSIDE_SESSIONSAllows entries at all times instead of requiring an active window.

EMA trend

SettingDescription
OMS_EMA_FAST_LENGTHLength of the responsive trend EMA.
OMS_EMA_SLOW_LENGTHLength of the slower trend EMA; keep it greater than the fast length.
OMS_REQUIRE_PRICE_ABOVE_FAST_EMARequires long entries above the fast EMA and mirrored short signals below it.
OMS_REQUIRE_FAST_EMA_SLOPERequires the fast EMA to rise for longs and fall for mirrored short signals.

Stochastic RSI

SettingDescription
OMS_STOCH_RSI_LENGTHRSI and stochastic lookback used by the oscillator.
OMS_STOCH_K_SMOOTHSmoothing applied to the %K line.
OMS_STOCH_D_SMOOTHSmoothing applied to the %D confirmation line.
OMS_STOCH_BUY_LEVELLower level from which a bullish turn must begin.
OMS_STOCH_SELL_LEVELUpper level from which a bearish turn must begin.
OMS_REQUIRE_STOCH_D_CONFIRMRequires %K to cross %D; when disabled, %K crosses the relevant threshold instead.

Gann structure

SettingDescription
OMS_GANN_LOOKBACKFallback number of candles used to build the high-to-low range when no active session start is available.
OMS_GANN_LEVELSNumber of evenly spaced levels in the recent range.
OMS_REQUIRE_GANN_LEVEL_TOUCHRequires price near the nearest support or resistance before entry.
OMS_GANN_PROXIMITY_PIPSNear-level tolerance in pip mode. Percentage mode uses a fixed proportional tolerance.
OMS_SWING_LOOKBACKNumber of recent candles used to locate the swing low for the structural stop.
OMS_STOP_BELOW_LEVEL_PIPSPip-sized offset below Gann support and the recent swing low.

Target and stop

SettingDescription
GAINGeneral gain fallback retained in the configuration. The strategy normally uses its own target setting.
OMS_USE_PIPSUses a pip target rather than a percentage target.
OMS_PIP_SIZEFor USDT-BTC, the USDT value represented by one pip; also used for Gann and stop offsets.
OMS_TARGET_PIPSRequested minimum target distance in pip mode.
OMS_TARGET_PIPS_MINLowest permitted pip target.
OMS_TARGET_PIPS_MAXHighest permitted pip target.
OMS_TARGET_PCTMinimum target percentage when pip mode is disabled.
OMS_MIN_NET_GAIN_PCTMinimum intended gain beyond estimated round-trip fee break-even.
OMS_STOP_ENABLEDActivates the structural protective stop.
OMS_STOP_PCTMaximum permitted stop distance below entry.
OMS_EXIT_ON_SHORT_SIGNALEnables a break-even-or-better exit on the complete opposite setup.
OMS_EXIT_ON_EMA_FLIPEnables a break-even-or-better exit when the fast EMA falls below the slow EMA.

Backtesting range

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

Practical tuning directions

For stricter trend entries, keep both price-above-fast-EMA and fast-slope confirmation enabled. Disabling either admits earlier but less established turns.

For more selective structural entries, enable the Gann-touch requirement and use a realistic proximity. In percentage mode, remember that its distance is not controlled by the pip field.

Shortening Stochastic RSI or its smoothing creates quicker crosses and more noise. Lengthening them produces fewer, later turns.

Choose session windows from observed liquidity rather than assuming the defaults fit every exchange and pair. If trading outside sessions, retest the meaning of the Gann lookback because the active-session range is no longer consistently available.

Important limitations

  • A one-minute signal can disappear quickly and is highly execution-sensitive.
  • Session strings and time zones must be valid and intentional.
  • The Tokyo window is added only when the pair symbols contain AUD or NZD.
  • Gann levels are derived from recent range; they are not guaranteed support or resistance.
  • Technical exits do not intentionally realize a loss.
  • The structural stop does nothing until OMS_STOP_ENABLED is active.
  • Gann proximity changes behavior between pip and percentage modes.
  • The stop offset remains pip-based in both target modes.
  • Backtests cannot perfectly reproduce live spread, slippage, latency, or thin order books.

1 Min Scalper is best treated as a tightly scoped intraday method: trade during known liquid windows, in a clear EMA trend, when momentum resets near usable structure. Removing all three constraints produces more trades, but no longer preserves the character of the setup.