class_docstr: RL-based strategy
class_docstr_tok: ["RL-based","strategy"]
docstr: Parameters
  ----------
  policy :
      RL policy for generate action
docstr_tok: ["Parameters","--","--","--","--","--","policy",":","RL","policy","for","generate","action"]
code: def __init__(
      self,
      policy,
      outer_trade_decision: BaseTradeDecision = None,
      level_infra: LevelInfrastructure = None,
      common_infra: CommonInfrastructure = None,
      **kwargs,
  ) -> None:
      """
      Parameters
      ----------
      policy :
          RL policy for generate action
      """
      super(RLStrategy, self).__init__(
          outer_trade_decision, level_infra, common_infra, **kwargs
      )
      self.policy = policy
  
imports: from __future__ import annotations
  from abc import ABCMeta, abstractmethod
  from typing import Any, Generator, Optional, TYPE_CHECKING, Union
  from typing import Tuple
  from ..backtest.decision import BaseTradeDecision
  from ..backtest.utils import CommonInfrastructure, LevelInfrastructure, TradeCalendarManager
  from ..rl.interpreter import ActionInterpreter, StateInterpreter
  from ..utils import init_instance_by_config
label_desc: Use image node_id 1 to create a new RLStrategy object from inherited base classes: BaseStrategy with example: obj = RLStrategy(policy, outer_trade_decision, level_infra, common_infra)