class_docstr: A trading environment made for use with Gym-compatible reinforcement
  learning algorithms.
  
  Parameters
  ----------
  action_scheme : `ActionScheme`
      A component for generating an action to perform at each step of the
      environment.
  reward_scheme : `RewardScheme`
      A component for computing reward after each step of the environment.
  observer : `Observer`
      A component for generating observations after each step of the
      environment.
  informer : `Informer`
      A component for providing information after each step of the
      environment.
  renderer : `Renderer`
      A component for rendering the environment.
  kwargs : keyword arguments
      Additional keyword arguments needed to create the environment.
class_docstr_tok: ["A","trading","environment","made","for","use","with","Gym-compatible","reinforcement","learning","algorithms",".","Parameters","--","--","--","--","--","action_scheme",":","`","ActionScheme","`","A","component","for","generating","an","action","to","perform","at","each","step","of","the","environment",".","reward_scheme",":","`","RewardScheme","`","A","component","for","computing","reward","after","each","step","of","the","environment",".","observer",":","`","Observer","`","A","component","for","generating","observations","after","each","step","of","the","environment",".","informer",":","`","Informer","`","A","component","for","providing","information","after","each","step","of","the","environment",".","renderer",":","`","Renderer","`","A","component","for","rendering","the","environment",".","kwargs",":","keyword","arguments","Additional","keyword","arguments","needed","to","create","the","environment","."]
docstr: Makes one step through the environment.
  
  Parameters
  ----------
  action : Any
      An action to perform on the environment.
  
  Returns
  -------
  `np.array`
      The observation of the environment after the action being
      performed.
  float
      The computed reward for performing the action.
  bool
      Whether or not the episode is complete.
  dict
      The information gathered after completing the step.
docstr_tok: ["Makes","one","step","through","the","environment",".","Parameters","--","--","--","--","--","action",":","Any","An","action","to","perform","on","the","environment",".","Returns","--","--","--","-","`","np.array","`","The","observation","of","the","environment","after","the","action","being","performed",".","float","The","computed","reward","for","performing","the","action",".","bool","Whether","or","not","the","episode","is","complete",".","dict","The","information","gathered","after","completing","the","step","."]
code: def step(self, action: Any) -> "Tuple[np.array, float, bool, dict]":
      """Makes one step through the environment.
  
      Parameters
      ----------
      action : Any
          An action to perform on the environment.
  
      Returns
      -------
      `np.array`
          The observation of the environment after the action being
          performed.
      float
          The computed reward for performing the action.
      bool
          Whether or not the episode is complete.
      dict
          The information gathered after completing the step.
      """
      self.action_scheme.perform(self, action)
  
      obs = self.observer.observe(self)
      reward = self.reward_scheme.reward(self)
      done = self.stopper.stop(self)
      info = self.informer.info(self)
  
      self.clock.increment()
  
      return obs, reward, done, info
  
file_path: tensortrade/tensortrade/env/generic/environment.py
imports: import uuid
  import logging
  from typing import Dict, Any, Tuple
  from random import randint
  import gym
  import numpy
  from tensortrade.core import TimeIndexed, Clock, Component
  from tensortrade.env.generic import ActionScheme, RewardScheme, Observer, Stopper, Informer, Renderer
label_desc: Use image node_id 3 for calling the TradingEnv obj's underlying member method code with example usage: obj.step(action) and returns: obs,  reward,  done,  info