> For the complete documentation index, see [llms.txt](https://docs.optionomega.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.optionomega.com/automation/automation-faq.md).

# Automation FAQ

Frequently asked questions for the automation platform

## I want to understand what happened with a trade. Is there a way to see what the automation platform did or did not do?

Yes. Most questions can be answered with the **Activity Log**. Select **Include Debug** at the bottom of the panel to get additional details, such as which entry filters were met or not met. This can also provide more information about fills, error messages, and related events.

Note: There is an activity log on the main page, but it has fewer details than the activity log on the strategy page itself. If a user is trying to diagnose what happened with a trade, the first step is to open the strategy itself, then select **Activity Log w/ Debug**.

If a user wants to see log entries for a previous day’s strategy, the easiest way is to open the individual strategy and select **View Activity Log**. As above, selecting **Include Debug** provides additional context.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2F3BvynaakBqXKPz9YHB0k%2Fimage.png?alt=media&amp;token=21e81904-7647-4c4b-bbb6-1f392c19f7bd" alt=""><figcaption><p>Activity Log (Clock Button, second from left)</p></figcaption></figure>

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2FwY3ETk61gl6dSBlIY5mM%2Fimage.png?alt=media&amp;token=fc76537b-56cc-4015-926c-4535c0d463c8" alt=""><figcaption></figcaption></figure>

## Is there a way to alert me?

You can configure email alerts in **Settings → Trading**.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2FJqV1nr0Chd5Wz7DfjVOd%2Fimage.png?alt=media&amp;token=be72e8a3-3be3-496f-8c70-f01acbf7b908" alt=""><figcaption></figcaption></figure>

Additionally, the platform displays an error message with a yellow triangle. When you click it, it provides more details. Note that the platform alerts each minute that conditions exist during a multi-minute entry. If the user has configured one of the entry-time options to allow multiple minutes, the software may send an alert and later still enter the trade based on the user’s settings. The alert applies to that minute.

Note: Email alerts do **not** send emails for trade opens and closes. Those come from the broker.

Finally, users should follow the [#known-issues](https://discord.com/channels/882705067210317915/1377977525933834260) channel on the Discord server. If you use automation on OO, this is essential.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2F0eYttEX5sy4XgJp0N8cI%2Fimage.png?alt=media&amp;token=efcdb796-cb8a-4e49-bf4f-82cbbe4f2785" alt=""><figcaption><p>Sample error</p></figcaption></figure>

## When does the automation platform start?

Like the backtester, the platform begins automations at `9:32`.

*Note: If a user has a resting GTC order at the broker, it remains open on a multi-day trade. For example, it will still be open at `9:30` or `9:31`.*

## Are there any limits on number of trades?

Users can make up to 100 opening trades each trading day, across any number of strategies. A counter has been added to the **Trade → Live** dashboard to keep track of your daily trade count.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2FH5oIxza2YNIx9FHyAN0i%2FScreenshot%202026-05-26%20at%202.44.29%E2%80%AFPM.png?alt=media&amp;token=6e7c9130-ace0-4201-9a1d-cd2b1d2d9093" alt="" width="563"><figcaption></figcaption></figure>

If you need more than 100 opening trades per day, you can subscribe to additional Option Omega accounts, which can connect to the same or different brokerage accounts. Please keep in mind the [390 Professional Orders Rule](/automation/trade-smart-infostation.md#390-professional-orders-rule-390-rule).

## What happens to a live trade if I adjust a strategy while it's on?

The live trade will continue based on the original parameters.\
Note that there is an option to **Edit Exit Conditions**, which changes a live trade but not the strategy itself. [More information here](/automation/trade-management.md).

## Changing Account/Updating Active Strategies with Open Trades

To modify account assignment or update an active strategy with open trades:

* Create or copy and activate your new strategy with the desired changes and account assignment
* Select *"Pause Opening Trades"* on the original active strategy with open trades
* Wait for all existing trades to close in the original strategy
* Deactivate the original strategy\
  Use *"Halt Management"* only if you plan to manually manage any remaining trades

*Note: Ensure your new strategy is active before pausing the original one. After deactivating the original strategy, you can archive it. This keeps the results in Reporting. If you remove the deactivated strategy, you will permanently delete all associated data from Reporting.*

*Note: For an active strategy that does not have live trades, you can simply choose **Edit Strategy** and **Save**.*

## What if I have an existing position on and the automation tries to open a conflicting position?

The automation platform's default behavior skips the trade if a conflicting position is detected. There is an option to "Move Conflicted Strikes" for the user to enable. If this option is selected by the user, the platform will move any conflicted strikes to the nearest available strikes based upon the strike selection criteria. If the user has selected the green padlock (use exact strike offset), the offset strikes will move in tandem.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2F9AK7BSNplYldh7mabTke%2Fimage.png?alt=media&amp;token=83e5841c-a3bf-43fd-bd6d-5d3d994b9b7a" alt=""><figcaption></figcaption></figure>

## In the main automation screen, I have an active strategy with a negative percentage, but it’s green. Why?

This can happen when a strategy has partial exits. If the user has partially exited a live strategy, they will see the open-position percentage, which could be positive or negative, along with green or red to indicate overall profit and loss. It is possible to have a red strategy with a currently positive open position, or a green strategy with a currently negative open position.

## I had an automation that reached an exit condition, but it didn’t exit because of my exit execution settings. The next minute, it didn’t try again. Is that why?

Correct. The platform checked the conditions in the second minute and saw that the exit conditions were no longer met.

## Is there an easy way to compare a backtest and a strategy?

Yes, if you are looking at a strategy, clicking on the lightbulb will bring up the backtest that you used to create the strategy.

<figure><img src="https://3473746390-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRCx0eCiBCDnwmdd7LImD%2Fuploads%2F1wfQLgdpBZ7n31ujT9TH%2Fimage.png?alt=media&amp;token=5677575f-3a72-4eea-88f8-ad5a85c45c2d" alt=""><figcaption></figcaption></figure>

Note that if you change a backtest or strategy after creating a strategy from a backtest, the other item will **not** also change. For example, if you used a `10:01` entry time on a backtest and created a strategy from it, then later changed the strategy to `10:02`, the backtest would remain at `10:01`.

## What happens to a backtest when I want to change a strategy?

The user can create a strategy in two ways: from scratch or from one of their saved backtests. If a strategy is created from a backtest, the backtest auto-fills conditions in the strategy. After the strategy is created, changes to the strategy affect only the strategy. Changes to the backtest affect only the backtest.

## Does the automation platform support delta exits? What about underlying exit when tested? What about short leg ratios? Can I set profit actions?

Yes. These are all supported. They are checked at 1-minute intervals, just like in backtests.

In general, the choices available in backtesting are also available in automation, with the obvious exceptions of backtest-specific choices such as slippage or Punisher settings like two hits. In addition, SqueezeMetrics are not available in the automation platform.

## How are calendar or diagonal spreads handled at expiration?

This applies specifically to **time spreads**. Same-DTE multi-leg trades are handled identically to Backtesting and aren't affected by anything below.

For a time spread, the far-dated leg is not automatically closed just because the near-dated leg expires worthless. This differs from the backtester, which always closes the entire trade at the earliest expiration at 4:00 PM (16:00) ET regardless of moneyness. Automation does step in whenever the near-dated leg is at risk of finishing ATM/ITM — **it does not allow an ITM near-dated leg to expire in a time spread**.

**Long calendar** (near-dated leg short, far-dated leg long):

* **Near-dated short OTM** — expires worthless as expected, but the long leg remains open at the broker and is no longer tracked by Automation from that point. The trade is recorded as **Expired** with $0.00 premium. You're responsible for managing the remaining long leg yourself.
* **Near-dated short ATM/ITM** — the *whole position* (both legs) is closed by Automation at 3:59 PM (15:59) ET, for both cash- and physically-settled underlyings. If a physically-settled leg is still OTM at that check but turns ITM before 4:15 PM ET, Automation keeps monitoring and will still close it in the extended end-of-day window (see "[OO closed a position after 4 PM](#oo-closed-a-position-after-4-pm-but-i-thought-it-only-traded-between-9-32-am-3-59-pm-et.-why-did-thi)" below).

**Short calendar** (near-dated leg long, far-dated leg short):

* **Near-dated long OTM** — the long expires worthless, same as Backtesting. The short leg is abandoned at the broker as described above.\
  \
  ***Note:** if the near-dated long leg expires OTM, the remaining short leg is not closed by Automation — it's left open, abandoned at the broker. Because the protective long leg is gone, this is now a naked short carrying unlimited risk (short call) or substantial risk (short put). If you trade short calendars in Automation, define an explicit exit or use leg groups — don't rely on this being handled for you.*<br>
* **Near-dated long ATM/ITM** — rather than letting the long go to assignment/exercise unmanaged, Automation closes the whole position at 3:59 PM (15:59) ET as **Would Have Exercised**, regardless of settlement type:
  * **Physically-settled** — matches Backtesting exactly.
  * **Cash-settled** — differs from Backtesting, which shows **Expired** at 4:00 PM (16:00) ET for the same scenario instead.

**If you split the spread into leg groups** (short and long managed as separate trades), each group is treated independently instead of following the whole-position behavior above: an OTM near-dated leg group is recorded as **Expired**, with the other group continuing as its own separate, tracked trade; an ATM/ITM near-dated leg group follows the same Expired/Would Have Exercised logic as Backtesting. This applies the same way for short calendars.

To manage the far-dated leg separately, use leg groups. Alternatively, define an early exit to close the entire spread yourself, e.g. at `0 DTE` and `3:49 PM`.

Example: you sell a `2 DTE` put and buy a `3 DTE` put. On the third day you have a short `0 DTE` put and a long `1 DTE` put. If the short is OTM, it expires worthless, the trade is recorded as Expired with $0.00 premium, and the long remains open at the broker, untracked by Automation — unless the legs were grouped, in which case the long continues as its own tracked trade. If the short is instead ATM/ITM, Automation closes the whole position at 3:59 PM ET.

See below for more on expiration and assignment.

## How does the automation platform deal with expiration and assignment?

This section covers same-DTE multi-leg trades (iron condors, vertical spreads, butterflies — all legs sharing one expiration). For time spreads with different-DTE legs (calendars, diagonals), see "[*How are calendar or diagonal spreads handled at expiration?*](#how-are-calendar-or-diagonal-spreads-handled-at-expiration)" above — the mechanics differ there because one leg is always still open after the near-dated leg's own expiration, which isn't the case here. Whether Automation intervenes depends on settlement type, not on which specific leg happens to be ITM:

* Cash-settled underlyings (e.g. SPX, XSP) — the trade expires unconditionally, with no intervention from Automation. A cash-settled contract settles to a cash difference automatically regardless of moneyness, so there's no physical assignment risk to manage in the first place.
* Physically-settled underlyings (e.g. SPY, QQQ, and single-name equities) — if any leg is ATM/ITM at expiration, Automation closes the entire position — not just the ITM leg(s) — at 3:59 PM (15:59) ET, labeled Would Have Exercised. If the position still looks OTM at the 3:59 PM check but moves ITM before the 4:15 PM ET settlement cutoff, Automation keeps monitoring and will still close it (see "[*OO closed a position after 4 PM*](#oo-closed-a-position-after-4-pm-but-i-thought-it-only-traded-between-9-32-am-3-59-pm-et.-why-did-thi)" below).

If you split the position into leg groups (e.g. the put spread and call spread of an iron condor as two separate trades), each group is evaluated and closed independently based on its own moneyness — the same behavior leg groups produce for time spreads.

## API/Broker/Platform issues

Users of the automation platform should follow the [#known-issues](https://discord.com/channels/882705067210317915/1377977525933834260) channel on Discord.

## What happens if the automation platform hits an API issue (e.g., a broker timeout) while opening a trade?

Behavior depends on exactly when in the entry process the issue occurs:

* **The issue occurs after the opening order has already been submitted to the broker.** Automation stops attempting to modify or cancel that order. It logs a message in the Activity Log explaining the issue and instructing you to check your broker's platform directly, and switches on **Pause Opening Trades** for that strategy (see [Trade Management](/automation/trade-management.md#pause-opening-trades-pause-an-individual-strategy)) to prevent it from opening any new trades. Entry execution stays paused until you manually turn **Pause Opening Trades** back off; management of existing open trades is not affected.
* **The issue occurs before an order is submitted** — for example, Automation cannot even establish the connection or query basic account information. In this case, no entry is attempted, and the strategy is **not** paused. What happens next depends on the entry type:
  * **Fixed Entry Time** (with **Entry Window**): that entry opportunity is simply skipped — no attempt is made, since account basics couldn't be retrieved for the check. Entry Window will be skipped as well.
  * **Floating Entry**: Automation retries at the top of the next minute, provided all entry conditions and filters are still met.

*Note: If you see a strategy paused unexpectedly, check the Activity Log (with Debug) first, then the* [*#known-issues*](https://discord.com/channels/882705067210317915/1377977525933834260) *Discord channel for any related broker/API outage reports.*

## I received this message in the log: "One or more preflight checks failed - Account does not have sufficient buying power available for this order due to Expiration Risk." What does that mean?

Preflight check messages come directly from the broker. The automation platform simply passes them along. If you do not understand the context of the message, contact the broker directly.

## I have an account with Schwab, and I received this message in the log: "Open order preview failed with error: No trades are currently allowed." What does that mean?

You need to enable thinkorswim trading for the specific account.\
You can do this on Schwab.com under the **Trade** page for the thinkorswim platform.\
It can take up to one full day for the account to be enabled.

## I'm trading SPY (or QQQ or IWM) and I've had a variety of error messages near the end of the day. The broker tells me that strikes can't be closed, or I will be oversold. Why?

Near the end of the day, brokers can run into a variety of issues with `0DTE` SPY, QQQ, or IWM options, often with errors like “strikes can’t be closed” or “you will be oversold.” They may enforce strict internal cutoffs, typically between `3:30 PM` and `4:00 PM ET`, to process trades, prevent unwanted assignment on American-style contracts, avoid pin risk and margin violations, and protect against the extreme illiquidity and wide spreads that appear in the final minutes before `4:15 PM ET` expiration. Groupings viewed by the broker are often not the same as the groupings viewed by the trader, or the order in which the spreads may have been opened. Remember, a single SPY contract represents more than `$60,000` in notional value.

## I received this message in the log: "Insufficient buying power to open trade." Why?

The strategy must pass both the funds and allocation checks in OO automation and the broker’s buying power requirements. Either the automation platform or the broker can trigger a buying power message. Review your strategy and allocation in OO first. If that checks out, reach out to your broker to clarify margin requirements. Margin requirements vary by broker and can change based on account type and other factors.

## I want to switch from annual to monthly, cancel, or move from Essential (Backtesting) to Premium (Automation). How do I do that?

Users can change subscription tiers or billing timeframes at any time in **Settings → Billings → Manage Subscription** on the main OO website. If you need additional help, email `support@optionomega.com`. [Here’s a video detailing the process](https://youtu.be/zPU9WGgk2a8).

If a user wants to cancel automation, it is best to do one of the following while the subscription is still active: pause all live trading, pause all new trades, deactivate strategies, or remove account linkages. Once a user has canceled or downgraded from their Premium (automation) plan, the OO platform will no longer automate their strategies or manage existing ones.

## Will OO Automation select AM-settled SPX expirations?

No. Automated SPX strategies will only select PM-settled SPX expirations, consistent with backtesting.

## How does OO handle partial fills for multi-lot trades?

It is possible for a multi-lot trade to be partially filled. When this happens, OO continues incrementing price and attempting to complete the fill *within the minute* of the execution progression. Depending on increment size and timing, this will usually lead to filling the remaining lots.

However, once the end of the minute is reached, the platform will **not** recalculate strikes or continue attempting entry the next minute, or for the remainder of the entry window. This behavior is intended to avoid chasing an unfavorable fill price or a position that may be significantly different from the original entry conditions. It also avoids creating a *new* trade at different strikes.

Once a trade has been partially filled and the entry sequence has concluded, management for the respective contracts (including OTO orders, stops, and profit targets) will begin immediately.

## OO closed a position after 4 PM, but I thought it only traded between 9:32 AM – 3:59 PM ET. Why did this happen?

While the OO automation platform actively trades from `9:32 AM` to `3:59 PM` ET, there are a couple of scenarios where trades may occur after regular trading hours, especially for ETF options that continue trading until `4:15 PM` ET, such as SPY, QQQ, IWM, TLT, and GLD:

1. Broker resting orders may be filled after regular hours. This depends on the specific broker. See [Profit Target order being filled out of RTH](/automation/trade-smart-infostation.md#profit-target-order-being-filled-out-of-rth).
2. For assignable ETF options that settle at `4:15 PM` ET, such as SPY, QQQ, IWM, TLT, and GLD, OO will continue checking every minute between `3:59 PM and 4:14 PM` ET for trades that are expiring *that same day,* and attempt to exit any options expiring ITM by following the defined exit execution progression until `4:15 PM` ET. This is intended to reduce exercise and assignment risk.

## Knowledge Base

Since the automation platform launched, we’ve seen a few situations that are not common enough for the FAQ but still warrant a mention. They are listed below, and we will keep adding to this list.

| User Question                                                                     | Insight                                                                                                                                                                  |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Two trades canceled each other and I have Move Exact Strike Offset selected. Why? | This can happen if the user has trades that overlap and enter in the same minute. Users can change the timing or account assignment of a trade where this could happen.  |
| Pricing is different between OO and the broker on spreads. Why?                   | Brokers typically use average cost for the same strike across multiple trades. OO uses the actual price paid for the option.                                             |
| Why did my trade not open?                                                        | Go to the strategy page, click **Activity Log**, then **Show Debug**. This is the first step and usually contains the answer.                                            |
| Why did my order fail a preflight check?                                          | The preflight check is not related to the API. You should usually find the answer by following the Activity Log instructions above. If not, call your broker.            |
| Why did my order fail an order preview?                                           | The order preview is not related to the API. You should usually find the answer by following the Activity Log instructions above. If not, call your broker.              |
| Why did my order get canceled by the broker?                                      | Reasons vary. Call your broker.                                                                                                                                          |
| The broker closed my order early on SPX. Why?                                     | Reasons vary. Call your broker. Brokers evaluate risk differently. They typically assess total account risk, not groupings of individual trade structures.               |
| The broker closed my order early on QQQ, SPY, or similar symbols. Why?            | Reasons vary. Call your broker. Assignable securities carry additional risks. Brokers typically assess total account risk, not groupings of individual trade structures. |
| Management was halted. Why?                                                       | Reasons vary. Once an automated strategy is halted, the automation platform no longer manages it, and the user must manage it manually.                                  |
