Pine Script Strategy · Included in Pro
ES Pine Script Strategy for the E-mini S&P 500
ES is the flagship S&P 500 futures contract: $12.50 a tick, $50 a point. One well-timed trade can carry a session, and one mismanaged trade can breach a daily limit. Our VWAP-based ES strategy is built around that reality, with fixed stops, bar-close entries, and a daily loss input that stops new entries when the session goes against you.
Strategy at a glance
Why ES for prop firm evals — the liquidity edge
ES is among the most liquid futures contracts anywhere. The bid-ask spread typically runs a single tick, and institutional volume keeps it deep even during fast-moving sessions — a couple of contracts fill immediately without meaningful slippage, which matters when a Pine Script fires on a bar close and needs an instant market-order fill.
The math is straightforward at the 100k tier. An Apex 100k evaluation's profit target is a modest number of points, whether that's spread across a couple of contracts or concentrated in one, so there's no arithmetic reason to take outsized risk in any single session.
ES isn't recommended for 50k accounts — a standard point stop on even one contract can eat half a typical 50k daily loss limit in a single trade. Use MES (Micro E-mini S&P) for 50k accounts instead; the chart, signals, and strategy logic are identical.
The ES VWAP scalp strategy — how it works
The strategy runs on a 5-minute RTH chart and uses session VWAP as the primary directional filter — the single most widely watched intraday reference level for institutional flow, and one price tends to revert to during trend pauses.
VWAP Directional Bias
Above VWAP and trending: longs only. Below VWAP and declining: shorts only. No counter-trend entries.
Bar-Close Entry Only
Entries confirm on a completed 5-min bar close — no intrabar triggers, no repainting on wick touches.
Fixed Dollar Stop
Stop-loss is a fixed point range per trade, so per-trade risk is known before the signal fires.
Daily Kill Switch
Once cumulative session losses hit a configurable threshold, no new entries fire for the rest of the session.
Entry triggers on a pullback to VWAP or a deviation band that produces a reversal bar on a 5-minute close in the direction of the primary bias, with the target set relative to the opening range. A session trade cap keeps the strategy from chasing marginal setups.
We haven't published Strategy Tester figures for this configuration yet. When we do (win rate, average winner and loser size, and the commission and slippage assumptions behind them), they'll replace this note. Until then, run the backtest yourself on your own date range.
Sizing and risk per prop firm — 100k accounts
| Firm | Account | Daily Limit | Contracts | Stop | Risk / Trade |
|---|---|---|---|---|---|
| Apex | 100k | None | 2 ES | 8 pts | $800 |
| Apex | 150k | None | 2 ES | 10 pts | $1,000 |
| Topstep | 100k | $2,000 | 1 ES | 7 pts | $350 |
| MyFundedFutures | 100k | $2,000 | 1 ES | 6 pts | $300 |
| Tradeify (Growth) | 100k | None | 2 ES | 8 pts | $800 |
These are illustrative risk arithmetic (tick value times stop size), not a recommendation for your account. The daily loss threshold, session times, and contract count are all inputs you set to your own firm's rules.
Which prop firms work best with ES
Apex Trader Funding (100k / 150k)
Best overall fit for ES. No daily loss limit means a couple of contracts can run without a session-ending firm-side stop. The intraday trailing threshold follows peak equity closely, so fixed-level VWAP targets handle it cleanly since profit is taken at a defined price, not left open-ended.
Topstep (100k)
Strong fit. The daily loss limit on a 100k account keeps sizing to one contract, leaving buffer for several losing trades before the limit hits. Topstep's eod trailing drawdown is the real advantage here — a trade that runs well in the money intraday and exits at a smaller gain raises the floor by that smaller amount, not the peak.
MyFundedFutures (100k)
Conservative but workable. The daily loss limit and static drawdown (a floor that never moves) combine for one contract at a modest point stop — the most predictable structure of the group, since the risk parameters are known from day one and don't shift as the account profits.
FTMO (NAS100 / indices)
FTMO trades CFDs rather than CME futures and doesn't offer ES directly — its S&P instrument is a cash index product, and its static drawdown is fixed at funding rather than tied to peak equity. If FTMO is the target firm, the NQ strategy is more directly applicable, and Pro includes both.
ES vs MES: which contract fits
The strategy logic, chart setup, and VWAP parameters are identical between ES and MES — the only difference is contract size:
| ES | MES | |
|---|---|---|
| Tick value | $12.50 | $1.25 |
| 1 point | $50 | $5 |
| Typical account size | 100k–150k | 50k |
| Daily limit fit | 100k accounts | 50k accounts |
Not sure which to start with? Begin with MES on a 50k account. The learning curve for managing the strategy is the same, and the dollar exposure is a fraction of ES while you get comfortable with execution. Alerts route through CrossTrade the same way for either instrument.
Included in Pro: backtest it, then automate it
The ES strategy is included in Pro ($69/mo, cancel anytime), along with the MES, NQ, and MNQ strategies. Add it to an ES chart and run it in TradingView's Strategy Tester on the date range you care about before you put money behind it.
When you're ready to automate, the alerts already carry CrossTrade-ready order messages. Create a TradingView webhook alert (webhooks need a paid TradingView plan), point it at your CrossTrade webhook URL, and CrossTrade places the orders on NinjaTrader 8 or Tradovate. CrossTrade's Account Manager can also hold a daily loss limit, a trailing drawdown, and an end-of-day flatten on each account, separate from the script. On NinjaTrader, those limits run while NinjaTrader and the CrossTrade add-on are running.