Python-based options signal engine
Regime-adaptive strategy selection for Iron Condors, Credit Spreads, and WAIT states
Outputs: Discord, email, and SMS support in development
MEIC is a regime-aware options signal engine designed to classify
market conditions and recommend the strategy best aligned with the
current environment. It evaluates closed-bar trend, volatility,
structure, and timing inputs to produce one of four outcomes:
ENTER_IC, ENTER_CS_CALL,
ENTER_CS_PUT, or WAIT. betterprogramming
The engine is designed to reduce poor strategy selection during trend acceleration, volatility expansion, mixed momentum states, and structurally unclear sessions. Its primary objective is not to maximize trade frequency, but to improve selectivity and preserve strategy alignment with regime conditions. atlassian
MEIC determines whether the market environment is better suited to a neutral premium-selling structure, a directional spread structure, or no position at all.
This decision framework is intended to prevent neutral structures from being deployed into active breakouts and to avoid directional entries when market structure lacks confirmation.
MEIC is organized into four core layers:
This layered design separates raw market interpretation from final trade-type selection, allowing the regime logic to remain explicit and auditable. dev
The data layer processes OHLCV inputs for supported underlyings including major index products, ETFs, and selected futures instruments. Time normalization is applied consistently so that all downstream classification logic evaluates the same session context.
The data model is structured around closed-bar evaluation, which prevents intrabar instability from contaminating strategy selection. This makes each decision state deterministic relative to the most recently confirmed bar.
The indicator engine computes the directional and regime inputs used by the Strategy-Picker.
| Indicator | Primary role |
|---|---|
| VWAP | Institutional bias and mean-reference context |
| EMA-8 | Short-term directional state |
| MACD | Momentum direction |
| ADX / DI+ / DI- | Trend strength and directional dominance |
| CCI or RSI | Timing confirmation |
| Intraday VWAP | Session-anchored mean-reversion context |
These components are not treated as isolated signals. Instead, they are combined into a vote-based and regime-based classification model that determines whether the environment is neutral, bullish, bearish, or unsuitable for entry.
The Strategy-Picker is the decision core of MEIC. It evaluates directional votes, trend strength, timing bias, and regime consistency before classifying the current environment.
Directional context is built from:
These inputs accumulate into bull and bear vote groupings rather than forcing a single-indicator decision. This allows the system to measure directional agreement across the indicator stack before a strategy type is considered.
ADX is used to distinguish low-strength environments from stronger directional conditions.
Timing confirmation can be supplied by either CCI or RSI, depending on configuration.
The Strategy-Picker resolves the market into one of three states:
| Regime | Interpretation |
|---|---|
| NEUTRAL | Balanced and low-trend; candidate for Iron Condor |
| BULL | Directionally constructive; candidate for directional spread logic |
| BEAR | Directionally weak; candidate for directional spread logic |
This regime output is then mapped into a strategy recommendation.
ENTER_IC is reserved for neutral environments where
directional pressure is limited and price action remains balanced around
core reference levels.
Typical conditions include:
This keeps Iron Condor selection tied to range-like conditions rather than allowing neutral premium structures to drift into breakout environments.
ENTER_CS_CALL and ENTER_CS_PUT are used
when the market exhibits stronger directional behavior and the regime
model resolves clearly.
Typical conditions include:
This protects the engine from recommending Iron Condors during expanding directional phases and improves consistency between strategy type and market structure.
WAIT is a deliberate output, not a null state. It is
produced when the signal environment is ambiguous, transitional,
contradictory, or structurally incomplete.
Typical triggers include:
WAIT functions as a protection layer that prevents forced strategy selection when the regime model lacks sufficient agreement.
MEIC includes multiple safeguards designed to reduce poor-quality signals.
Signals are restricted to approved evaluation windows so that strategy selection occurs within the intended session context.
ADX is used to prevent neutral structures from being suggested during active directional expansion.
A strategy candidate becomes valid only when the relevant components of the indicator stack support the same regime interpretation.
Iron Condors require balance, not simply low volatility. The engine checks for limited directional dominance, weak trend pressure, and proximity to reference levels before classifying the market as neutral.
For spread and condor candidates, suggested structures are filtered through width, out-of-the-money alignment, and credit constraints. If the structure does not meet the quality thresholds, the signal is not advanced.
MEIC produces structured alerts for the following outcomes:
Alert payloads can include:
| Channel | Status | Purpose |
|---|---|---|
| Discord | Active | Structured signal delivery |
| Active | Text-based alert output | |
| SMS | In development | Lightweight notification layer |
The alert layer is intended to support both human review and downstream ingestion.
MEIC is a regime-adaptive options signal engine built to:
MEIC is not a trade-frequency engine and is not intended to force participation in unclear markets. Its role is selective regime classification, options strategy recommendation, and structured alert generation.
MEIC is designed for: