Auto-execute

6 min read · updated 2026-07-12

Auto-execute decides what a signal run (SleeveFolio’s daily scoring of your symbols) is allowed to do. Off (the default): signals are advisory, so rankings appear on the Signals page and nothing trades. On: after each run, SleeveFolio turns the rankings into paper market orders, sized within your sleeve budgets (a sleeve is a bucket of your account: stocks, crypto, or cash, each with its own budget) and screened by every cap.

Where the switch lives

Settings → Strategies. Turning it on asks you to type ENABLE AUTO: automation places real orders on your paper account, so the switch gets the same typed confirmation as the other consequential flips. You also need your paper Alpaca keys saved (Settings → Broker) before the switch is available, and if you’ve enrolled two-factor authentication you’ll need a verified session. Turning it off is always one un-gated click. Risk & Caps shows the current state and links back here.

What an enabled run does

Your signals refresh before the open (so you can review the morning’s ranking), but auto-execute waits and acts once a day, shortly after the US market opens, so a market order fills promptly against that ranking instead of resting overnight where its basis could go stale. Equity orders only go out while the market is open; crypto, which trades around the clock, runs on the same daily pass. When it runs, the engine: sells first: closing in full any held position whose signal turned sell (or that hit your stop-loss), biggest loss first — winding a position down is never throttled by the caps, so a whole position exits in one order rather than draining across days, then buys buy-ranked symbols weighted by how strongly each scores: a higher score earns a larger share of the sleeve’s budget, highest score first, never above the per-position cap and never more than the cash on hand (a buy it can’t cover is skipped, not placed). Positions ranked hold (and anything outside your signal set) are left untouched. Names you already hold are topped up toward their target rather than re-bought, and only once a holding has drifted a few percent below its target, so a position sitting near target isn’t nibbled with a few dollars every day. Day-to-day churn stays low. Every order carries a duplicate-proof id, so a re-run can never double-trade the same day, and every order and skip is written to the audit log, and when any orders are placed you get a notification summarizing the run. Because the daily run acts once a day and holds what it buys (a name is either a buy or a sell on a given day, never both), it never day-trades equities, so pattern-day-trader limits (a US equities rule) don’t come into play on smaller accounts. Your crypto holdings get one extra, sell-only safety check each hour (below) — crypto isn’t subject to those equity limits, and it never buys, so it can’t day-trade you into them.

The hourly crypto safety check

A crypto position trades around the clock, so an overnight or weekend crash can fall far past your stop-loss before the next once-a-day run. To close that gap, your crypto holdings also get a protective check every hour. It is strictly sell-only: it sells (in full) any crypto holding that has hit your configured stop-loss, and trims a winner that has reached your take-profit — it never buys, so it can only ever REDUCE a position, never open or grow one. Equities stay strictly once-a-day (they don’t trade overnight, and keeping them daily avoids the pattern-day-trader limits above).

It runs on the same consent as the daily engine: it only acts if you have automatic trading on and haven’t paused with the kill-switch (a pause stops it too — you can always liquidate by hand). It checks both your paper and your live account, though selling real crypto in your live account additionally requires that you’ve turned on live auto-execute. Each protective sale is duplicate-proof within the hour, lands in your audit logand Orders like any other, and — if you leave the Crypto safety exit notification on — pings you when it sells.

In practice the per-day dollar cap is usually what limits how much trades in a day: when it’s reached, the highest-scored names fund and the rest wait for tomorrow. Raise the per-day (and per-trade) cap on Risk & Caps to let more buys through.

If an account is simply too small to place even one meaningful buy (when its per-position limit works out to less than the $2 minimum order) auto-execute buys nothing and tells you, rather than churning sub-dollar orders. (Any sells still run; winding down a position is never gated.) Adding funds lifts that limit above the minimum and buys resume.

Sell-to-fund. When a strong new buy can’t get in because a bucket is already full of holdings, auto-execute can rotate: selling the weakest name you hold in that bucket to make room, but only when the new buy out-scores it by a clear margin (so it never sells one name to buy another and then reverses the next day). It rotates out of at most one name per bucket per day, and only names your strategy still ranks. The freed cash settles and the stronger buy goes in on a later run. It applies on whichever account auto-execute is trading (your paper account, or your real account once you’ve turned on live auto-execute), not paper only. It’s on by default; turn it off on Settings → Strategies (Sell-to-fund rotation), where it’s stored per strategy.

Stop-loss. Optionally set a loss limit on Settings → Strategies: when a holding falls that far below what you paid for it (its cost basis), auto-execute sells the whole position on the next run, no matter how your strategy ranks it: a safety exit that fires even on a name the ranking still calls a hold. After a stop-out, that name is held out of new buys for about a month, so a fallen holding isn’t rebought the very next day (which would only churn losses, and can create a wash sale on a real account). It is off by default; switch it on and pick the percent. Like every other exit it only ever reduces a position, so it needs no extra confirmation, and the kill switch stops it like everything else.

Take-profit (harvest). Some strategies, the conservative Steady Harvest, also trim a slice of a holding once it has gained enough, banking the gain as cash (income you can pull out) while the rest of the position stays invested. It never closes a whole position on a gain. The first trim fires when the gain crosses the threshold; after that it only trims again once the price climbs further above the last trim, so a winner sitting flat isn’t whittled to dust run after run. Like the stop-loss, it is set by the strategy you pick rather than by hand.

What stops auto-execution

  • The kill switch’s Pause: the explicit stop, one click from anywhere. It always wins
  • Unresolved reconciliation drift (a difference between SleeveFolio’s records and your broker’s that you haven’t reviewed): the engine sits out until it’s cleared
  • A stale ranking: if your latest signal run didn’t finish and the ranking is more than a day old, the engine skips the run rather than trade yesterday’s picks at today’s prices. It resumes automatically once a fresh signal run completes
  • On live only: no recent broker check. If reconciliation hasn’t run against your live account in the last 7 days, the engine sits out rather than trade against records it can’t vouch for. It resumes automatically on the next check
  • Outside regular US market hours: equity orders wait for the next open rather than rest pending against a signal that may move; crypto (24/7) is unaffected
  • The drawdown de-risk brake (the automatic stop that kicks in if your account falls too far from its peak): blocks new buys, never sells
  • Any individual order that fails a cap check (that order is skipped, not the switch)

Paper first, then live

Paper is where the full loop (signals to orders to fills to reconciliation) runs with zero risk. Start there and watch a few runs. Everything above describes that paper switch.

A second, separate switch (Live auto-execute, just below the first on Settings → Strategies) points the very same engine at your real Alpaca account instead of paper. It is off by default and the only way to turn it on. Because it opens real-money exposure, it is gated harder than anything else in the app. You must already have:

With all of that in place, enabling asks you to type ENABLE LIVE AUTO and enter a fresh authenticator code: the same deliberate confirmation as turning live trading on in the first place. Turning it back off is always one un-gated click, and the kill switch’s Pause stops it instantly like everything else.

These checks are not a one-time hurdle: before every live run the engine re-confirms them against your account. If your Pro plan lapses, two-factor falls off, or live trading is switched back to paper after you opted in, the run is blocked. It never quietly falls back to a paper order, and it never places a live one you are no longer cleared for.