Mechanical Engine

28 settings on this page.

Mechanical Target DTE Min

Setting key
mechanical_target_dte_min
Default
30

What it does

Minimum days to expiration for mechanical engine entries. The bot will not enter a mechanical iron condor in an expiration with fewer than this many DTE.

When to change it

Lowering below 30 means entering closer to expiration where gamma risk increases and the theta/gamma tradeoff degrades. Not recommended below 21.

Safe range

21 (aggressive) to 35 (conservative).

Example

Today is June 1. With min DTE of 30, the earliest expiration the bot will use is July 1 or later.

Mechanical Target DTE Max

Setting key
mechanical_target_dte_max
Default
65

What it does

Maximum days to expiration for mechanical engine entries. The bot will not enter in an expiration further out than this.

When to change it

Raising above 65 means collecting more premium but tying up buying power longer and holding through more potential adverse moves.

Safe range

40 (tighter) to 75 (wider).

Example

With max DTE of 65, on June 1 the bot targets expirations between July 1 and August 5.

Mechanical Short Strike Delta

Setting key
mechanical_short_strike_delta
Default
0.20

What it does

Delta of the short strikes for mechanical engine iron condors. A 0.20 delta short strike sits near the edge of the expected move and has approximately an 80% probability of expiring worthless.

When to change it

Lower to 0.16 for higher probability but less premium. Raise to 0.30 for more premium but higher tested frequency.

Safe range

0.15 (high probability, less premium) to 0.40 (more premium, tested more often).

Example

SPY at $500, 0.20 delta put strike approximately $475, 0.20 delta call strike approximately $525. The condor profits if SPY stays between $475 and $525 through expiration.

Mechanical Profit Target %

Setting key
mechanical_profit_target_pct
Default
50%

What it does

Closes the position when it has made 50% of the maximum possible profit (the credit collected at entry). This is tastytrade's standard mechanical management rule: taking winners early reduces time in the trade and recycles buying power.

When to change it

Lowering to 25% exits faster with smaller gains but higher win rate. Raising to 75% holds longer for more profit but increases the chance of a winner turning into a loser.

Safe range

25% (fast exit) to 75% (hold longer).

Example

Iron condor entered for $1.50 credit. Profit target at 50% = close when position can be bought back for $0.75.

Mechanical Spread Width

Setting key
mechanical_spread_width
Default
10

What it does

Dollar width of each defined-risk wing in dollars (or index points). The long wing is placed this far OTM from the short strike. User-selectable per account in $5 increments (5, 10, 15, or 20). A 10-wide iron condor with 20-delta shorts collects roughly $2.50 to $3.50 in premium and has a maximum loss of roughly $6.50 to $7.50 per contract.

When to change it

Narrow to 5 to reduce max loss per contract; premium collected drops proportionally. Widen to 15 or 20 to collect more premium and widen breakevens, at a larger max loss per contract.

Safe range

5 (tight, less premium, less risk) to 20 (wide, more premium, more risk).

Example

SPY iron condor, 10-wide wings: short put at $475, long put at $465, short call at $525, long call at $535. With a $3.00 credit collected, max loss per contract is $700 if SPY closes outside the wings at expiration.

Mechanical IV Rank Floor

Setting key
mechanical_min_iv_rank
Default
50

What it does

Minimum IV Rank before the mechanical engine will sell premium on a symbol. IV Rank places today's implied volatility in its own one-year range, so 50 means volatility is richer than it has been for at least half the past year. Selling below this collects thin premium for the same structural risk.

When to change it

Lowering toward 30 widens the candidate pool and produces more trades, at lower premium per trade. Raising it is more selective but in a quiet market can leave the bot with very little to do.

Safe range

30 (tastytrade's commonly cited floor, more occurrences) to 60 (selective). Below 30 the premium generally does not justify the risk.

Example

A symbol sits at IV Rank 42. With the floor at 50 the mechanical engine passes on it. Drop the floor to 40 and the same symbol becomes a candidate, subject to every other gate.

Mechanical IV Rank Floor, Single Stocks

Setting key
mechanical_min_iv_rank_single_name
Default
50

What it does

IV Rank floor for individual stocks in the mechanical engine. Index, sector, commodity, bond and country ETFs on the bot's ETF list keep the base Mechanical IV Rank Floor; every other symbol must clear the higher of the two. Single stocks need richer premium than ETFs because they move outside the expected range more often, so a condor on a mid-volatility single name carries more outlier risk for the same credit.

When to change it

Raise it when single-stock condors are losing while ETF condors are not. Robin's live account runs 70: in the ledger through 2026-09-13, IV Rank 70 and above was the only single-stock bucket that made money, and 50 to 70 lost. Lower it toward the base floor to give single stocks the same bar as ETFs and accept more single-stock trades.

Safe range

50 (same bar as ETFs) to 80 (single stocks only at very rich premium). Setting it below the base floor has no effect, since the higher of the two applies.

Example

Floor at 70. AMD sits at IV Rank 55 and is skipped with reason iv_rank_below_single_name_floor. SPY at IV Rank 55 is on the ETF list, clears the base floor of 50, and stays a candidate.

Price-Scaled Wing Rule

Setting key
wing_rule_enabled
Default
ON

What it does

Checks that the condor wing is wide enough for the stock's price before the mechanical engine trades a single stock. A fixed $10 wing is narrow on a $600 stock and wide on a $40 stock, and tastylive's wing-width study found that wings too narrow for the share price lost in every price bucket. When ON, the engine computes the width the stock needs (see Width per $100 of Price) and skips any non-ETF symbol whose required width exceeds the configured spread width. ETFs are exempt because indexes stay inside the expected move more often. The rule never changes the width itself; it changes which names qualify.

When to change it

Leave it on. Turn it off only if you have raised the spread width enough that expensive single stocks build a sensible condor, or if you want to trade them anyway and accept the narrow wing.

Safe range

ON or OFF. ON is recommended at the default $10 width.

Example

Spread width 10, rule at $5 per $100 of price. META at $565 needs a wing of about $28, so the mechanical lane skips it with reason spot_too_high_for_width. AMD at $150 needs $10 and qualifies. SPY at $640 is on the ETF list and is not checked.

Width per $100 of Price

Setting key
width_per_100_spot
Default
5.0

What it does

Dollars of wing width the price-scaled wing rule requires per $100 of share price, with a $10 floor. Required width is this value times the share price divided by 100, never less than 10. The mechanical engine compares that to the configured spread width for single stocks; if the stock needs more than the wing you run, it is skipped. Only consulted when the wing rule is ON.

When to change it

Lower it to let more expensive single stocks through at the current spread width. Raise it to require wider wings relative to price, which removes more high-priced names. The 5.0 default comes from tastylive's 2013 to 2025 wing study.

Safe range

3.0 (permissive, more high-priced names qualify) to 7.0 (strict). At a $10 wing, 5.0 admits single stocks up to about $200.

Example

Set to 5.0 with a $10 spread width. A $180 stock needs $10 and qualifies. A $240 stock needs $12, more than the $10 wing, so it is skipped. Raise the spread width to 15 and the same $240 stock qualifies.

Mechanical Min Score

Setting key
mechanical_min_score
Default
0.25

What it does

Floor on the credit-to-risk composite score required to enter a mechanical engine trade. The score method is configurable (ratio, expected value, or hybrid, default hybrid). A score of 0.25 corresponds to tastytrade's guideline of collecting at least 1/3 of the wing width as credit on a single-side spread.

When to change it

Raising above 0.25 is more selective but reduces trade frequency. Lowering below 0.20 allows thinner-premium trades that erode the edge.

Safe range

0.20 (permissive) to 0.40 (selective).

Example

10-wide iron condor needs at least $2.50 credit (0.25 x $10 per side) to clear the score floor. A trade offering only $1.90 credit is rejected.

Prefer Monthly Expiry

Setting key
mechanical_prefer_monthly_expiry
Default
ON

What it does

When ON, the mechanical engine prefers standard monthly option expirations (3rd Friday of the month) over weekly expirations within the DTE window. Weeklies have narrower open interest and wider bid-ask spreads. Monthlies are the deep-liquid cycles tastytrade research targets. If no monthly expiry exists in the DTE window, the bot falls back to the full list of eligible expiries.

When to change it

Turn OFF only if your underlyings lack meaningful monthly cycles and you need to use weeklies.

Safe range

ON or OFF.

Example

DTE window is 30 to 65. July 18 (standard monthly) falls in that window. The bot prefers July 18 over July 11 or July 25 (weeklies) when prefer_monthly_expiry is ON.

Mechanical Engine Enabled

Setting key
mechanical_enabled
Default
ON

What it does

Master on/off toggle for the mechanical engine. When OFF, the mechanical engine does not scan for new iron condor entries. Existing mechanical positions continue to be managed and exited per their rules. The other engines (earnings, contraction, directional) are unaffected. This is the primary engine: it runs neutral iron condors at 30-65 DTE when IV Rank is elevated. Disabling it means no new premium-selling entries until re-enabled.

When to change it

Turn OFF temporarily if you want to stop new mechanical entries while keeping earnings or contraction entries running. Turn OFF permanently only if you are running a different strategy mix.

Safe range

ON or OFF.

Example

You want to pause mechanical entries during a particularly uncertain macro period while keeping the earnings engine running for scheduled IV-crush plays. Turn mechanical OFF, leave earnings ON.

Mechanical Manage DTE

Setting key
mechanical_manage_dte
Default
21

What it does

DTE backstop for mechanical engine positions. If a mechanical iron condor reaches this many days to expiration without hitting its profit target, ACondor closes it regardless of P&L. This prevents holding positions into the high-gamma zone close to expiration where small moves cause large delta swings. The tastytrade research-based rule is 'close at 21 DTE': the theta-to-gamma tradeoff degrades past this point.

When to change it

Raise slightly (to 25-28) if you want to give positions more time to reach the profit target. Lower (to 14-18) to exit earlier and reduce gamma risk. Do not lower below 7: you are then holding through expiry week which is the highest-risk period.

Safe range

7 DTE (aggressive, exits early) to 28 DTE (permissive, more time for profit target). Default 21 matches tastytrade's published mechanical strategy.

Example

Iron condor entered at 38 DTE. Profit target is 50% of max credit. At 21 DTE the position is at 35% profit, below target. The manage DTE backstop fires and the bot closes it at a partial win rather than holding into expiry week.

Iron Condor Enabled

Setting key
iron_condor_enabled
Default
ON

What it does

Enables the iron condor structure across all engines that support it. An iron condor is a four-leg defined-risk structure: short put, long put below it, short call, long call above it. It profits when the underlying stays between the short strikes through expiration. This is the default and primary structure for the mechanical and contraction engines. Turning it off means those engines use credit spreads only.

When to change it

Turn OFF only if you want to trade credit spreads exclusively instead of the four-leg condor. In most cases leave ON: the iron condor's defined risk on both sides is the core structure ACondor is designed around.

Safe range

ON or OFF. Leave ON in almost all cases.

Example

With iron condor ON: SPY mechanical entry places a put credit spread and a call credit spread simultaneously as one four-leg order. With it OFF: only one-sided credit spreads are placed.

Put Credit Spread Enabled

Setting key
put_credit_spread_enabled
Default
ON

What it does

Enables the put credit spread structure (short put + long put below it). A put credit spread is a bullish to neutral defined-risk structure that collects premium when the underlying stays above the short strike. It is used by the mechanical, earnings, and contraction engines as an alternative to the full iron condor when only the downside is elevated.

When to change it

Turn OFF if you want to avoid single-sided put spreads and only trade full iron condors or call-side structures. Leave ON for normal operation.

Safe range

ON or OFF.

Example

Mechanical engine evaluates SPY with a bearish skew in the put chain. A put credit spread scores higher than a full iron condor. With put_credit_spread_enabled ON, the spread is placed. With it OFF, the engine falls back to an iron condor or skips.

Put Spread Without Bias

Setting key
put_spread_without_bias
Default
ON

What it does

Lets the bull put credit spread compete with the iron condor on score in the mechanical and contraction engines when the bias on a symbol is neutral. Normally a one-sided spread needs a strong directional signal to be considered at all. Put skew usually pays more than the call side and the long-run drift of indexes is up, so the put side is the one tastytrade sells on its own. The put spread still has to beat the condor on credit-to-risk, is still refused under a bearish bias, and does not affect the earnings or directional engines.

When to change it

Turn it off to keep the premium engines in two-sided condors unless a strong bullish signal is present. Leave it on if you want the put side to win when the chain pays more for it.

Safe range

ON or OFF. Put Spread Max Open and the beta-weighted delta band limit how one-sided the book can get.

Example

SPY, neutral bias. The iron condor scores 0.28 and the put credit spread scores 0.31. With this ON the put spread is placed. With it OFF the condor is placed even though the put spread scored higher.

Put Spread Max Open

Setting key
put_spread_max_open
Default
2

What it does

Cap on the number of open put credit spreads the mechanical and contraction engines may hold per account at once. Every put credit spread is a bullish position, and a book of them is a bullish book. Once the cap is reached, a put spread that wins the score is skipped with reason put_spread_cap_reached and the next ranked structure, usually the condor, is placed instead.

When to change it

Raise it if you want more put-side exposure and accept the extra downside correlation. Lower it to 1, or to 0 to stop new put spreads from the premium engines while leaving Put Spread Without Bias on.

Safe range

1 (tight) to 4. Above 4 on a small account the beta-weighted delta band will usually engage first.

Example

Cap at 2. Put credit spreads are open on QQQ and IWM. A put spread wins the score on SPY and is skipped; the SPY iron condor is placed instead.

Put Spread Wing Mode

Setting key
put_spread_wing_mode
Default
width

What it does

How the mechanical engine builds the long wing of a bull put credit spread. In width mode the long put sits a fixed dollar distance below the short put (Mechanical Spread Width), the classic build. In delta mode the short put is placed at Put Spread Short Delta and the long put at Put Spread Wing Delta, a far-out disaster wing, then the wing is pulled in strike by strike until the maximum loss fits the per-trade loss cap, never narrower than the spread width. Delta mode aims for the behaviour of a short put with the loss cap of a spread. It runs in the sandbox account now; live accounts stay in width mode until the sandbox comparison is in.

When to change it

Leave it at width until the expectancy report shows delta mode paying in the sandbox. Switch to delta if you want the short-put profile from tastylive's 14-year study: about 83 to 85% of the naked put's profit, a smaller worst loss, and a fraction of the buying power.

Safe range

width or delta. width is the tested default.

Example

Delta mode with a $1,500 per-trade cap. Short put at the 0.16 delta strike, long put at the 0.05 delta strike 35 points lower, credit $2.50. Max loss would be $3,250, over the cap, so the wing moves up strike by strike until width minus credit fits $15, about 17 points below the short.

Put Spread Wing Delta

Setting key
put_spread_wing_delta
Default
0.05

What it does

Delta of the long put in delta mode, the disaster wing. 0.05 sits far below the short strike, so the spread keeps most of the short put's premium while capping the loss on a crash. Only consulted when Put Spread Wing Mode is delta; the wing may still be pulled closer to the short to fit the per-trade loss cap.

When to change it

Raise it toward 0.10 for a closer wing: less premium kept, smaller maximum loss before the cap applies. Lower it toward 0.03 for a wider wing that behaves even more like a short put. On a small account the loss cap decides the final wing either way.

Safe range

0.03 to 0.10. Must stay below the short delta.

Example

Short put at 0.16 delta, wing at 0.05. On a $640 index that is roughly 30 to 40 points of width before the loss cap narrows it.

Put Spread Short Delta

Setting key
put_spread_short_delta
Default
0.16

What it does

Delta of the short put in delta mode. 0.16 is the one standard deviation put tastylive's studies use, a little further out than the 0.20 the engine uses for condor shorts. Leave it blank to reuse the engine's short strike delta. Only consulted when Put Spread Wing Mode is delta.

When to change it

Raise toward 0.20 to collect more credit with a higher chance of the short being tested. Lower toward 0.10 for a higher probability trade at thinner credit.

Safe range

0.10 (high probability, less credit) to 0.25 (more credit, tested more often). Must stay above the wing delta.

Example

SPY at $640 with the short at 0.16 delta lands near $610, about one expected move below the price. At 0.20 it lands closer, near $616, and pays more.

Call Credit Spread Enabled

Setting key
call_credit_spread_enabled
Default
ON

What it does

Enables the call credit spread structure (short call + long call above it). A call credit spread is a bearish to neutral defined-risk structure that collects premium when the underlying stays below the short strike. Used by the mechanical, earnings, and contraction engines as a one-sided alternative to the iron condor.

When to change it

Turn OFF if you want to avoid single-sided call spreads. In most cases leave ON.

Safe range

ON or OFF.

Example

After a gap-up in NVDA, the call side has rich premium. The contraction engine enters a call credit spread. With call_credit_spread_enabled OFF, this entry is skipped.

Short Strangle Enabled

Setting key
short_strangle_enabled
Default
OFF

What it does

Enables the short strangle structure (short put + short call, no long wings). A short strangle collects more premium than an iron condor because there is no cost for the long wings, but it has undefined risk on both sides, losses are theoretically unlimited if the underlying makes a large move. ACondor restricts short strangles to margin accounts only and blocks them in IRA and cash accounts regardless of this setting. SPY, QQQ, IWM, and XLF are also blocked from strangles due to large notional exposure.

When to change it

Leave OFF unless you have a margin account, understand undefined-risk, and have explicitly chosen to accept strangle risk. Only appropriate for experienced traders comfortable with naked options.

Safe range

ON or OFF. Default OFF. Never available in IRA or cash accounts.

Example

Margin account, IV Rank 75 on AAPL. With short_strangle_enabled ON, ACondor may enter a 20-delta short put and 20-delta short call with no wings. If AAPL moves 20% in either direction, losses are uncapped.

Short Put Enabled

Setting key
short_put_enabled
Default
OFF

What it does

Enables the short put structure (single naked put). A short put collects premium when the underlying stays above the strike, but has undefined downside risk if the underlying falls sharply. Restricted to margin accounts. Provides more premium than a put credit spread but accepts uncapped downside risk.

When to change it

Leave OFF unless you have a margin account and specifically want single-leg short puts. The put credit spread provides similar exposure with defined risk and is generally preferred.

Safe range

ON or OFF. Default OFF. Margin accounts only.

Example

20-delta short put on AMD at $140 strike. If AMD falls to $100 at expiration, max loss is approximately $4,000 per contract (minus the premium collected). No long wing to cap it.

Naked Put Enabled

Setting key
naked_put_enabled
Default
OFF

What it does

Enables naked put entries in the earnings engine specifically. When ON and the earnings engine is active, ACondor may sell a single put (without a long wing) before an earnings report when it has a bullish lean. Naked puts collect more premium than put credit spreads but carry undefined downside risk if the stock gaps down on earnings. Restricted to margin accounts. Earnings engine entries with naked_put_enabled ON use a lower delta (approximately 0.16) to partially compensate for the undefined risk.

When to change it

Leave OFF unless you have a margin account and specifically want to run naked earnings plays. The earnings engine's defined-risk default (put credit spread or iron condor) provides meaningful protection against binary event risk.

Safe range

ON or OFF. Default OFF. Margin accounts only.

Example

Earnings engine with naked_put_enabled ON. MSFT earnings tonight, IV Rank 65, bullish lean. Bot sells a 0.16-delta put with no long wing, collecting $1.20. If MSFT gaps down 15% on bad earnings, the loss is uncapped.

Bullish Pair Call Spread Enabled

Setting key
bullish_pair_call_spread_enabled
Default
ON

What it does

Enables bullish pair call spreads as a structure for premium engines (mechanical, contraction). A bullish pair call spread is a defined-risk call credit spread positioned on the upper side, collecting premium with the expectation the underlying stays below the short strike. Used as part of the iron condor's call side or as a standalone spread when only the call side has rich premium.

When to change it

Leave ON. Turn OFF only if you want to restrict the engines to pure iron condors and put-side structures only.

Safe range

ON or OFF.

Example

Market has a bearish lean. Contraction engine enters a bullish pair call spread on the top side only, collecting the elevated call premium without taking a position on the put side.

Bearish Pair Put Spread Enabled

Setting key
bearish_pair_put_spread_enabled
Default
ON

What it does

Enables bearish pair put spreads as a structure for premium engines (mechanical, contraction). A bearish pair put spread is a defined-risk put credit spread positioned on the lower side, collecting premium with the expectation the underlying stays above the short strike. Used as part of the iron condor's put side or as a standalone spread when only the put side has rich premium.

When to change it

Leave ON. Turn OFF only if you want to restrict to pure iron condors and call-side structures only.

Safe range

ON or OFF.

Example

Market has a bullish lean. Contraction engine enters a bearish pair put spread on the bottom side only, collecting elevated put premium after a selloff.

Mechanical Engine: Max Alloc %

Setting key
engine_max_alloc_pct_mechanical
Default
70%

What it does

Caps the fraction of your total allocation budget the mechanical engine may use across all its open positions. This ceiling is independent of the other engines; they do not need to sum to 100%. If the mechanical engine has already consumed this share of the cap, new mechanical entries are skipped until existing ones close.

When to change it

Lower it if you want to reserve more of the allocation budget for earnings, contraction, or directional entries. Raise it only if mechanical is your primary strategy and the other engines are disabled or rarely fire.

Safe range

30% (leaves more room for other engines) to 90% (mechanical-dominant book).

Example

Set to 70 → mechanical can use at most 70% of the $10,000 allocation cap ($7,000) regardless of how many slots remain.

Mechanical Engine: Max Positions

Setting key
engine_max_positions_mechanical
Default
not set

What it does

A hard ceiling on the number of simultaneously open mechanical positions. When the count hits this limit, new mechanical entries are skipped regardless of remaining capital. Leave blank for no engine-level count cap: only the global max concurrent positions applies.

When to change it

Set this if you want to bound mechanical exposure by count rather than (or in addition to) the allocation percentage cap, e.g. to leave headroom in the global position count for the other engines.

Safe range

Leave blank for no cap, or set 5-15 to reserve count headroom for other engines.

Example

Set to 10 → the mechanical engine holds at most 10 positions at once; an 11th qualifying candidate waits until one closes, even if buying power and the global position cap both have room.

Financial Information Disclaimer

This site provides general information about ACondor, a software tool for automating options trading strategies. Nothing on this site is investment, tax, or financial advice. Options trading involves substantial risk of loss. Past behavior of any strategy does not guarantee future results. Consult a licensed financial professional before trading options. ACondor may earn a commission from affiliate links at no extra cost to you.