code: def __init__(self, start_idx: int, end_idx: int) -> None:
      self._start_idx = start_idx
      self._end_idx = end_idx
  
imports: from __future__ import annotations
  from abc import abstractmethod
  from datetime import time
  from enum import IntEnum
  from typing import TYPE_CHECKING, Any, ClassVar, Generic, List, Optional, Tuple, TypeVar, Union, cast
  from qlib.backtest.utils import TradeCalendarManager
  from qlib.data.data import Cal
  from qlib.log import get_module_logger
  from qlib.utils.time import concat_date_time, epsilon_change
  from dataclasses import dataclass
  import numpy
  import pandas
label_desc: Use image node_id 1 to create a new IdxTradeRange object from inherited base classes: TradeRange with example: obj = IdxTradeRange(start_idx, end_idx)