Bots
Exit Conditions

Trailing Stops

Trailing stops will monitor your position's current profit/loss and watch for a pullback. Once the profit pulls back by a certain amount (that you define), your bot will close out the position. The amount required is considered your "trailing amount". You can optionally include a "trigger amount" as well, which will only enforce the trailing stop if your bot hits a certain profit level first.

Trailing stops are checked every 10

seconds throughout the day.

Slippage is likely with trailing stops

You can lose significantly more on your position than your designated trailing amount. Trailing stops are not recommended for rapidly moving markets.

If you are in a rapidly moving market, consider using an Aggressive Exit Speed.

It may also help to set a conservative trailing stop that would confirm before you want to actually exit. This can help to start the closing process early, and by the time you get a fill on your closing order, the fill price is closer to your desired exit.

Profit %

Trail Amount

This is the percentage amount that the position's profit must pull back, or lose, before the bot confirms the trailing stop and closes the position as a result. This trail amount is a percentage that is based on the original entry price of the position.

For a credit position that was $2.00 at entry, a 50% trail amount will require a $1.00 pullback. A 200% trail amount will require a $4.00 pullback. These pullback amounts are from the best profit reached over the duration of the position. If your credit position was $2.00 at entry and never dipped into profit, then $2.00 is peak profit and where all trailing amounts start. If your credit position was $2.00 at entry and lowered to $0.50, then $0.50 would be peak profit and where all trailing amounts start.

For debit positions, trailing stops are based on the original entry price. If you enter a debit position at $5.00, a 50% trailing stop would equal $2.50. If the position never dips into profit, your trailing stop would trigger when the position reaches $2.50. If the position moved up to $10.00, your trailing stop would move to $7.50, and that is the point the bot would close your position.

Trigger Amount (Optional)

If you specify a trigger, the profit % trailing stop will only apply once your position has reached the trigger amount. If you specify a 50% trigger and 100% trail amount, then the bot will only watch for the 100% trailing amount once the position has already reached 50% profit. If the position never reaches 50% profit, then the 100% trail amount will not be applied.

Premium Value

Trailing stops based on premium value will monitor the current premium value of your position based on the mid or market price of the position. It is the price of the contract(s) itself, not the total value of the position. If the mid point is $2.00 and you have 10 contracts, the premium value used for trailing stops is $2.00. It is not $2000 (which is the value of the position).

Trail Amount

This is the premium amount that the position must pull back, or lose, before the bot confirms the trailing stop and closes the position as a result.

For debit positions, the position trails as premium value decreases. For credit positions, the position trails as premium value increases.

Trigger Amount (Optional)

If you specify a trigger, the premium value trailing stop will only apply once your position has reached the trigger amount. If you specify a $2.00 trigger and $1.00 trail amount, then the bot will only watch for the $1.00 trailing amount once the position has already reached $2.00 premium. If the position never reaches $2.00 premium, then the $1.00 trail amount will not be applied.

Trailing Stop Sensitivity

This setting will control how quickly your bot confirms a valid stop and decides to close your position.

The choices for sensitivity are:

  • Super Patient - The bot will confirm a stop when 5 consecutive 10-second checks are at your stop level
  • Patient - The bot will confirm a stop when 4 consecutive 10-second checks are at your stop level
  • Normal - The bot will confirm a stop when 3 consecutive 10-second checks are at your stop level
  • Aggressive - The bot will confirm a stop when 2 consecutive 10-second checks are at your stop level
  • Super Aggressive - The bot will confirm a stop the first time a 10-second check is at your stop level

There are built-in liquidity filters that will prevent a bot from confirming an Aggressive stop in the event of temporary market illiquidity. This happens frequently when there is a spike intraday in markets. When this happens, market makers back off of bid/ask spreads, and those spreads get very wide. This skews the market/mid price of options and makes them look much more expensive than they actually are. If a bot sees this, it will not consider the stop valid and will wait for the bid/ask spread to tighten up. This usually only takes a few seconds to happen.

Converting Trailing Stop Sensitivity to Seconds to Confirm

  • Super Patient - Stop triggers in ~45 seconds (40s min, 50s max, 45s average)
  • Patient - Stop triggers in ~35 seconds (30s min, 40s max, 35s average)
  • Normal - Stop triggers in ~25 seconds (20s min, 30s max, 25s average)
  • Aggressive - Stop triggers in ~15 seconds (10s min, 20s max, 15s average)
  • Super Aggressive - Stop triggers in ~5 seconds (0s min, 10s max, 5s average)

How did we get here?

For Super Aggressive sensitivity, the bot will check every 10 seconds. Your position can hit its stop at any moment in time relative to the 10-second interval. If the position hits your stop level the instant before the bot checks, then your bot will confirm the stop almost immediately, for < 1 second to confirm your stop. However, if the position hits the stop level immediately after the bot checks on its 10-second interval, then it'll have to wait another 10 seconds or so before the bot sees it and stops. This is why, with Super Aggressive sensitivity, you'll wait somewhere between 0 and 10 seconds to confirm the stop, for an average of about 5 seconds.

For Aggressive sensitivity, the bot still checks every 10 seconds and must see two consecutive checks at the stop level.

For two in a row, the first stop detection will occur between 0 and 10 seconds of occurring. The bot will detect the stop at about 0 seconds if the position hits your stop almost immediately before the bot checks. The bot will detect the stop at about 10 seconds if the position hits your stop immediately after the bot checks, and it must wait another 10 seconds to see it. So, time between these two consecutive hits will be somewhere between 10-20 seconds, for about 15 seconds on average.

For each slower setting that you progress through, you can add 10 seconds to your anticipated stop time.

Due to some randomness in runtimes and network latency, these durations can deviate by a couple seconds here and there, but the numbers above represent averages.