Directional Engine

28 settings on this page.

Directional Engine Enabled

Setting key
directional_enabled
Default
OFF

What it does

Master on/off switch for the directional debit engine. When OFF, no directional debit trades are placed regardless of bias signals. The directional engine is the offensive counterpart to the premium engines: it bets on direction, funded by a credit spread. It is off by default because it has the lowest win rate of the four engines and requires a strong confirmed bias to justify entry.

When to change it

Turn ON only after you are comfortable with the three premium engines and have a directional signal source configured (news engine or manual bias). The engine requires_strong_bias=True by default.

Safe range

ON or OFF.

Example

The news engine classifies a high-confidence bullish catalyst on MSFT. With directional_enabled=OFF, no trade fires. With ON, the bot evaluates a bull call spread or bullish pair structure on MSFT.

Directional Target DTE Min

Setting key
directional_target_dte_min
Default
45

What it does

Minimum DTE for directional debit entries. Directional debit structures (long calls, long puts, debit spreads) need duration, since theta works against you as a buyer. 45 DTE gives the trade time to be right without excessive theta drag, and the engine manages out at 30 DTE.

When to change it

Trend mode stays at 45. Swing mode uses a separate 21 to 35 DTE band (swing_dte_lo/swing_dte_hi). If swing_mode is OFF, this value controls all directional entries.

Safe range

30 (shorter duration, more theta risk) to 60 (longer, more capital tied up).

Example

With 45 DTE minimum, a bullish signal on June 1 targets a July 16 or later expiration.

Directional Target DTE Max

Setting key
directional_target_dte_max
Default
60

What it does

Maximum DTE for directional debit entries. Caps at 60 to avoid tying up capital too long in a directional bet that may take too long to resolve.

When to change it

Widen toward 75 if you want more duration on trend trades. The 45 to 60 entry band with a 30 DTE exit is the trend plan the engine has followed since 2026-08-02.

Safe range

50 (tight) to 75 (wider).

Example

On June 1, the bot targets expirations between July 16 (45 DTE) and July 31 (60 DTE) for directional entries.

Directional Profit Target %

Setting key
directional_profit_target_pct
Default
82%

What it does

Profit target as a percent of maximum profit for capped debit structures. Uncapped singles (outright long calls and puts) take profit at a 70% return on the premium paid instead. 82% follows tastytrade's guidance for taking 80-85% of max profit on defined-risk debit spreads. You capture most of the gain while avoiding the risk of a winner reversing near expiration.

When to change it

Lower to 50-65% to exit faster with more certainty. Raise only if you have evidence that the final 15-20% of profit is reliably achievable without added risk.

Safe range

50% (fast, lower gain) to 90% (hold longer, higher gain but more reversion risk).

Example

Bull call spread entered for $1.50 debit, max value $5.00. Max profit = $3.50. Profit target at 82% = close when P&L reaches approximately $2.87 per contract.

Directional Delta Take Profit

Setting key
directional_delta_take_profit
Default
0.87

What it does

When the long leg's delta reaches this level, the position is closed to capture gains and avoid gamma and early assignment risk on deep-ITM options. A delta of 0.87 means the option is significantly in the money and the directional edge has been captured.

When to change it

Lower to 0.75 to take profits earlier when the position goes ITM. Keep at 0.87 to match tastytrade's standard for deep-ITM harvest.

Safe range

0.70 (earlier harvest) to 0.90 (let it run deeper ITM).

Example

Long call entered at 0.40 delta. Stock rallies strongly. Long call delta rises to 0.88. Bot closes the position: directional edge captured, assignment risk on the short-side funding spread growing.

Directional Loss % of Premium

Setting key
directional_loss_pct_of_premium
Default
50%

What it does

Stop loss for directional positions, expressed as a percentage of the premium paid (debit outlay). If the position has lost 50% of the premium paid, it is closed. Complements the delta take-profit on the winning side.

When to change it

Tighten to 30-40% if you want smaller losses on directional misses. The 50% default follows tastytrade's general guidance for debit spread stop losses.

Safe range

25% (very tight) to 75% (permissive, hold through larger drawdowns).

Example

Bull call spread entered for $1.50 debit. 50% stop = close if position value drops to $0.75 or less.

Directional Early Profit % of Premium

Setting key
directional_early_profit_pct_of_premium
Default
not set

What it does

Early take-profit for directional positions, expressed as a percentage of the premium paid. It is the mirror of Directional Loss % of Premium: same basis, opposite sign. When the position is up at least this fraction of the debit, it is closed, ahead of the max-profit target. Blank means off. Positions entered for a net credit have no premium basis and are not affected.

When to change it

Set it when directional winners fade before they reach the target. Robin's accounts run 30%: in the ledger through 2026-09-13, directional winners peaked within one to three days on the news move, 4 of 33 live trades reached the 82% target, and four trades that were up 34 to 78% of the premium rode back to the 50% stop. Leave blank to hold every winner for the profit target.

Safe range

20% (quick harvest) to 60% (waits for a larger move). Set above the profit target it never fires.

Example

Bull call spread entered for $1.50 debit with this at 30%. When the spread can be sold for $1.95 or more, the bot closes it. Without this setting the trade holds for the 82% of max target and can give the gain back.

Directional Manage DTE

Setting key
directional_manage_dte
Default
30

What it does

DTE backstop for directional trades. Closes long debit positions when this many days remain, regardless of profit/loss. Long options bleed theta fast near expiration: by 30 DTE you are spending more in theta decay than the position is likely to recover, which is why the trend plan enters at 45 or more and leaves at 30.

When to change it

Raise toward 35 for earlier exits (less theta drag). Lower toward 21 only if you have a strong reason to hold a directional bet closer to expiration.

Safe range

21 (hold longer) to 35 (exit early, less theta bleed).

Example

Bull call spread entered at 55 DTE. Still slightly underwater at 31 DTE. At 30 DTE, manage_dte fires and the position is closed. The remaining theta decay would likely not recover the loss.

Directional Min IV Rank

Setting key
directional_min_iv_rank
Default
30

What it does

IV Rank floor required for the funding credit spread component of a directional pair. The directional engine sells a credit spread to partially fund the debit leg because it needs enough IV to collect real premium. A symbol with unknown IV rank passes through (no block on missing data).

When to change it

Lower to 20 to allow entries on lower-IV names where the funding credit is thinner. The floor exists to prevent paying full debit on the directional bet without meaningful funding.

Safe range

20 (permissive, thin funding) to 50 (rich funding only).

Example

Bullish signal on AAPL with IV Rank at 25. With directional_min_iv_rank=30, the bot does not enter: the credit spread would not generate enough premium to meaningfully fund the call spread.

Directional Min Reward:Risk

Setting key
directional_min_reward_risk
Default
1.0

What it does

Minimum reward-to-risk ratio required for the proposed directional structure. Calculated as max_profit divided by max_loss. A ratio of 1.0 means the potential gain must at least equal the potential loss. This replaces the POP floor used by premium engines: directional bets are lower-POP but require better payoff.

When to change it

Raise to 1.5 or 2.0 for better-structured directional trades. The 1.0 floor is a baseline; most practitioners want at least 2:1 on directional bets.

Safe range

0.75 (slightly asymmetric against you) to 3.0 (only high-reward setups).

Example

Bull call spread: max profit $3.50, max loss $1.50. Reward:risk = 2.33, above the 1.0 floor. A structure with max profit $1.00 and max loss $2.00 (0.5:1) would be rejected.

Directional Swing Mode

Setting key
directional_swing_mode
Default
OFF

What it does

When ON, switches the directional engine to shorter-duration, more aggressive swing trades. Swing mode uses a 21 to 35 DTE band instead of 45 to 60, an ATM long leg at 0.50 delta instead of 0.68, a 100% of premium paid target on uncapped singles (debit spreads keep 82% of max), a pace rule that closes any swing below 50% of its target once half its life has elapsed, and a 5 DTE backstop. Swing mode fields are consulted only when this is ON.

When to change it

Turn ON when you have a short-duration directional view: a catalyst that should resolve in days, not weeks. Leave OFF for standard trend trades.

Safe range

ON or OFF.

Example

FOMC decision day. You expect a sharp move in the next few sessions. With swing_mode=ON, the bot uses a 28 DTE expiration; if the trade is below half its target at 14 DTE (50% of original DTE elapsed) the pace rule closes it.

Directional Max IV Rank

Setting key
directional_max_iv_rank
Default
60

What it does

Upper IV Rank ceiling for directional engine entries. When set, the directional engine will not enter a position on a name whose IV Rank exceeds this value. This prevents entering directional debit spreads or funded pairs when premium is so expensive that the debit cost overwhelms the potential reward. At very high IV Rank the market is pricing in a large move, so if you have a directional view, the debit structures become expensive.

When to change it

Raise it toward 70-100 if you want the directional engine to keep firing when IV is very elevated. Lower it toward 40-50 if you only want directional entries when IV is moderate. Leave blank for no ceiling at all.

Safe range

40 (only trade directional when IV is moderate) to 100 (no meaningful ceiling). Leave blank for no ceiling.

Example

NVDA IV Rank is 85 after a selloff. With the default directional_max_iv_rank=60, the directional engine skips NVDA: premium is too expensive for debit structures. Raise the ceiling to 90 and it evaluates NVDA normally.

Directional Funded Pair Bonus

Setting key
directional_funded_pair_bonus
Default
1.2

What it does

Score multiplier applied to funded pair structures in the directional engine. A funded pair is a directional debit spread that is partly or fully funded by selling a credit spread on the opposite side: the credit collected reduces the net debit and improves the reward-to-risk ratio. The bonus multiplier rewards these structures in the scoring so they are preferred over standalone debit spreads when both qualify.

When to change it

Raise to 1.4-1.5 to strongly prefer funded pairs over outright debit spreads. Lower toward 1.0 to treat them equally. Only matters when the directional engine is enabled.

Safe range

1.0 (no bonus, all structures scored equally) to 2.0 (strong preference for funded pairs).

Example

Bull call spread scores 0.45. Funded pair (bull call spread + short put spread) scores 0.45 x 1.2 = 0.54. The funded pair wins the structure selection because its lower net debit improves expected value.

Directional Long Penalty

Setting key
directional_long_penalty
Default
0.8

What it does

Score multiplier applied to outright long options (long call, long put) in the directional engine. Outright longs pay full premium with no credit offset and have a lower probability of profit than spreads. The penalty multiplier discourages the bot from selecting them when a spread or funded pair is available. A value below 1.0 means longs are deprioritized.

When to change it

Lower toward 0.5 to strongly prefer spreads over outright longs. Raise toward 1.0 to treat longs and spreads equally. Only relevant when long_call_enabled or long_put_enabled is ON.

Safe range

0.5 (strong penalty, longs rarely selected) to 1.0 (no penalty). Default 0.8.

Example

Long call scores 0.50. Bull call spread scores 0.48. After applying the 0.8 long penalty: long call = 0.40, spread = 0.48. The spread wins even though the raw long call score was higher.

Directional Funded Pair Max Debit %

Setting key
directional_funded_pair_max_debit_pct
Default
15%

What it does

Maximum net debit allowed for a funded pair structure, expressed as a percentage of the spread width. A funded pair consists of a directional debit spread funded by a credit spread on the opposite side. If the credit collected does not sufficiently offset the debit cost, the net debit becomes too large relative to the potential reward. This setting rejects funded pairs where the net debit exceeds this percentage of the spread width.

When to change it

Lower to 10% to require the credit side to substantially offset the debit, so it only enters well-funded pairs. Raise to 25% to allow entries where the credit only partially funds the debit. Only relevant when the directional engine is enabled.

Safe range

5% (must be nearly fully funded by the credit) to 30% (allows large net debit). Default 15%.

Example

5-wide bull call spread costs $1.20 debit. Selling a 5-wide put credit spread on the other side collects $0.90. Net debit = $0.30 on a $5 spread = 6% of spread width. Below the 15% cap, so the funded pair qualifies.

Bull Call Spread Enabled

Setting key
bull_call_spread_enabled
Default
ON

What it does

Enables bull call spreads in the directional engine. A bull call spread is a bullish defined-risk debit structure: buy a call at a lower strike, sell a call at a higher strike. Used when the directional engine has a bullish bias. The debit paid is the maximum loss; the spread width minus the debit is the maximum gain.

When to change it

Turn OFF if you want the directional engine to only use funded pairs or put-side structures. Leave ON for normal directional operation.

Safe range

ON or OFF.

Example

Directional engine has a strong bullish signal on AMD. With bull_call_spread_enabled ON, it evaluates a bull call spread as a candidate. The spread width is 5 points, debit is $1.20, max gain is $3.80.

Bear Put Spread Enabled

Setting key
bear_put_spread_enabled
Default
ON

What it does

Enables bear put spreads in the directional engine. A bear put spread is a bearish defined-risk debit structure: buy a put at a higher strike, sell a put at a lower strike. Used when the directional engine has a bearish bias.

When to change it

Turn OFF if you want the directional engine to only use call-side structures or funded pairs when bearish.

Safe range

ON or OFF.

Example

Directional engine has a strong bearish signal on META after a news event. With bear_put_spread_enabled ON, it evaluates a bear put spread. Debit $1.50, max gain $3.50 on a 5-wide spread.

Bullish Pair Call Enabled

Setting key
bullish_pair_call_enabled
Default
ON

What it does

Enables bullish pair structures in the directional engine: a bull call spread funded by selling a put credit spread on the other side. The put credit collected reduces or eliminates the net debit of the call spread, improving the reward-to-risk ratio. The overall structure has defined risk on both sides. Preferred over standalone bull call spreads when the funded pair bonus applies.

When to change it

Leave ON. This is the preferred directional structure when both sides have premium. Turn OFF only if you want purely one-sided directional entries.

Safe range

ON or OFF.

Example

Bullish signal on GOOGL. Buy 5-wide bull call spread for $1.40 debit, sell 5-wide put credit spread for $0.90 credit. Net debit = $0.50. The pair is well-funded and scores above the standalone spread.

Bearish Pair Put Enabled

Setting key
bearish_pair_put_enabled
Default
ON

What it does

Enables bearish pair structures in the directional engine: a bear put spread funded by selling a call credit spread on the other side. The call credit collected reduces the net debit of the put spread. Preferred over standalone bear put spreads when both sides have elevated premium.

When to change it

Leave ON. Turn OFF only if you want purely one-sided bearish entries without the funded pair structure.

Safe range

ON or OFF.

Example

Bearish signal on TSLA. Buy 5-wide bear put spread for $1.60 debit, sell 5-wide call credit spread for $1.00 credit. Net debit = $0.60. The funded pair is preferred over the standalone spread.

Long Call Enabled

Setting key
long_call_enabled
Default
ON

What it does

Enables outright long call purchases in the directional engine. A long call has unlimited upside but limited to a full loss of the premium paid. Long calls are penalized in scoring (see directional_long_penalty) because they have a lower probability of profit than spreads and pay full premium. Used only when a spread or funded pair cannot be constructed.

When to change it

Turn OFF unless you specifically want outright long calls as a directional tool. The bull call spread and bullish pair provide similar directional exposure with better reward-to-risk. Robin's live account has run this OFF since 2026-09-09: through that date no outright long option on the live account had closed as a winner.

Safe range

ON or OFF. Default ON.

Example

Very strong bullish signal but the spread width available is too narrow to construct a meaningful spread. With long_call_enabled ON, the engine may buy a single call instead of skipping the entry.

Long Put Enabled

Setting key
long_put_enabled
Default
ON

What it does

Enables outright long put purchases in the directional engine. A long put profits when the underlying falls below the strike. Like long calls, long puts are penalized in scoring and only entered when a spread or funded pair cannot be constructed. Full premium is at risk.

When to change it

Turn OFF unless you specifically want outright long puts. The bear put spread and bearish pair provide similar directional exposure with better risk profiles. Robin's live account has run this OFF since 2026-09-09, for the same reason as the long call.

Safe range

ON or OFF. Default ON.

Example

Strong bearish signal on a name where the put spread cannot be structured at a reasonable debit. With long_put_enabled ON, the engine buys a single put instead of skipping.

Directional Engine: Max Alloc %

Setting key
engine_max_alloc_pct_directional
Default
15%

What it does

Caps the fraction of your total allocation budget the directional engine may use. Directional trades carry a lower win rate than premium-selling, so the default is the smallest ceiling of the four engines, containing the impact of a losing streak. Independent of the other engines; they do not need to sum to 100%.

When to change it

Lower it further if you want directional exposure to be a minor sleeve of the book. Raise it only once you have validated directional performance with live fills and are comfortable with a larger losing-streak impact.

Safe range

5% (token exposure) to 25%. Above 25% is aggressive given the engine's lower win rate.

Example

Set to 15 → directional positions may consume at most 15% of the cap, roughly $1,500 on a $10,000 allocation.

Directional Engine: Max Positions

Setting key
engine_max_positions_directional
Default
not set

What it does

A hard ceiling on the number of simultaneously open directional positions. Because directional trades are higher-risk and lower-win-rate, bounding them by count is a second line of defense alongside the allocation cap. Leave blank for no engine-level count cap: only the global max concurrent positions applies.

When to change it

Set this if you want a hard count limit on directional exposure independent of the allocation percentage cap, useful while you are still validating the engine's live performance.

Safe range

Leave blank for no cap, or set 1-3 to keep directional risk tightly bounded.

Example

Set to 2 → the directional engine holds at most 2 positions at once, capping directional risk regardless of remaining capital.

Directional Contracts per Position

Setting key
directional_contracts_per_position
Default
1

What it does

How many contracts the directional engine opens per entry. The other engines are fixed at 1 contract and are not affected by this setting: only the directional engine's per-entry size is adjustable here.

When to change it

Raise only after validating directional performance with live fills. Each extra contract scales both profit potential and max loss linearly. Start at 1 and increase gradually as confidence in the engine's edge builds.

Safe range

1 (default, recommended while validating) to 3. Above 3 concentrates directional risk heavily.

Example

Set to 2 → each directional entry opens 2 contracts, doubling the credit/debit and the max risk of that position.

Chain Skew Threshold

Setting key
chain_skew_threshold
Default
1.5

What it does

The minimum put/call mark ratio (or its inverse for calls) for the chain-skew inference to label the underlying as directionally biased. At the 30-delta strikes, if one side is priced materially richer the market is pricing in a move. Below this ratio the inferred bias stays neutral. Must be less than the strong chain skew threshold.

When to change it

Lower it to have the picker label a directional lean more readily. Raise it to require a more pronounced skew before any directional lean is logged. This setting only labels direction: see require-strong-bias-for-directional for what is required to actually unlock a directional structure.

Safe range

1.2 (labels mild skew) to 1.8 (requires a more pronounced skew). Must stay below the strong threshold.

Example

Set to 1.5 → if the 30-delta put mark is 1.5x the call mark, bias is labeled bearish. At 1.3x the ratio does not clear the bar and bias stays neutral.

Strong Chain Skew Threshold

Setting key
strong_chain_skew_threshold
Default
2.0

What it does

A higher bar than the chain skew threshold. When the put/call mark ratio clears this level, the bias is labeled STRONG, and only a strong bias can unlock directional structures when require-strong-bias-for-directional is on. A non-strong inference logs direction but does not change structure selection. Must be greater than the chain skew threshold.

When to change it

Lower it to make it easier for chain skew alone to reach STRONG and unlock directional structures. Raise it to require a more extreme skew before directional spreads become eligible.

Safe range

1.8 (easier to reach strong) to 3.0 (only extreme skews qualify). Must stay above the chain skew threshold.

Example

Set to 2.0 → a 2x ratio triggers a strong bearish label and allows a bear put spread. At 1.7x the signal is directional but not strong, so an iron condor is still selected.

Require Strong Bias for Directional

Setting key
require_strong_bias_for_directional
Default
ON

What it does

When ON, the picker only unlocks directional structures when the bias signal is STRONG: either an explicit user/news bias or a chain-skew ratio above the strong threshold. A weak directional lean is logged but leaves structure selection neutral (iron condor). Turn OFF to allow directional structures on any non-neutral bias signal, trading signal quality for higher trade frequency.

When to change it

Leave ON for most use: it keeps the bot in the delta-neutral iron condor unless the directional signal is genuinely strong. Turn OFF only once you have validated that weaker bias signals still produce acceptable directional results.

Safe range

ON or OFF. Default ON.

Example

ON → a 1.6x put/call ratio (above weak, below strong) still opens an iron condor. OFF → that same 1.6x ratio opens a bear put spread.

Swing Manage DTE

Setting key
swing_manage_dte
Default
5

What it does

Sets the swing-specific version of the DTE backstop, consulted only when swing mode is on. Swing entries land in the 21 to 35 DTE band, at or below the standard backstop of 30, so swing trades need their own shorter floor.

When to change it

Rarely. The critical constraint is that this must stay below the swing entry DTE minimum. Set it at or above that minimum and it preempts the swing time exit, closing swing trades immediately on entry.

Safe range

3 to 14, and always below the swing entry DTE minimum of 21.

Example

Set to 5 and a swing trade rides until 5 days to expiration unless the swing time exit or another rule closes it first.

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.