Segments
API endpoints for chart segmentation.
Provides endpoints for splitting run data into chart segments by bar count, time period, or conditional indicator logic.
router = APIRouter(prefix='/api', tags=['segments'])
module-attribute
TIME_PERIOD_NS = {'year': 365 * 24 * 60 * 60 * 1000000000, 'quarter': 91 * 24 * 60 * 60 * 1000000000, 'month': 30 * 24 * 60 * 60 * 1000000000, 'week': 7 * 24 * 60 * 60 * 1000000000, 'day': 24 * 60 * 60 * 1000000000, '4hour': 4 * 60 * 60 * 1000000000, 'hour': 60 * 60 * 1000000000, '20min': 20 * 60 * 1000000000, '15min': 15 * 60 * 1000000000, '10min': 10 * 60 * 1000000000, '5min': 5 * 60 * 1000000000, '1min': 60 * 1000000000}
module-attribute
BAR_FIELDS = {'open', 'high', 'low', 'close', 'volume'}
module-attribute
ConditionSpec
ConditionalSegmentsRequest
_split_by_bars(cursor, run_id, symbol, segment_size, overlap)
Source code in src/onesecondtrader/dashboard/routers/segments.py
_get_period_boundary(ts_ns, time_period)
Source code in src/onesecondtrader/dashboard/routers/segments.py
_get_next_period_boundary(ts_ns, time_period)
Return the start of the NEXT period after the one containing ts_ns.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_split_by_time(cursor, run_id, symbol, time_period)
Source code in src/onesecondtrader/dashboard/routers/segments.py
_get_bar_field_value(bar_dict, field_name)
Return a value from OHLCV columns or the indicator JSON.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_evaluate_condition(left, op, right)
Evaluate left {op} right, returning False if either is NaN/None.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_build_segments_from_flags(bars, condition_flags, context_bars, gap_tolerance, symbol)
Group True flags into merged regions with context padding.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_load_bars(cursor, run_id, symbol)
Load bars from bars_processed for a given run and symbol.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_find_multi_conditional_segments(cursor, run_id, symbol, conditions, context_bars, gap_tolerance)
Evaluate multiple conditions with AND logic per bar.
Source code in src/onesecondtrader/dashboard/routers/segments.py
_find_conditional_segments(cursor, run_id, symbol, left_field, operator, right_field, right_value, context_bars, gap_tolerance)
Source code in src/onesecondtrader/dashboard/routers/segments.py
api_conditional_segments(run_id, left_field, operator, right_field=None, right_value=None, context_bars=50, gap_tolerance=0)
async
Return conditional chart segments for a run.
Source code in src/onesecondtrader/dashboard/routers/segments.py
api_conditional_segments_multi(run_id, request)
async
Return conditional chart segments for a run using multiple AND conditions.
Source code in src/onesecondtrader/dashboard/routers/segments.py
api_chart_segments(run_id, mode='bars', bars_per_chart=500, overlap=100, time_period='day')
async
Return chart segment metadata for a run.