Plain-language sequence
- Recurring Buy places BUYs on a timer (reads
latestDataMapfor strike/price). - When a BUY completes, the per-index schedule loop creates a pending SELL schedule.
- The global trailing loop updates strike match from candles and watches target %.
- On match, MARKET SELL closes that position via
executeSideSellOnce. - When no buys remain on the active side, the system can switch CALL ↔ PUT and repeat.
- Stopping recurring buy on options can bulk-sell remaining open buys; cash/futures only stop the interval.
marketSessionManager.syncTrailingSellInterval(), not directly from app.ts.