{"id":18763395,"url":"https://github.com/aminhp/gym-mtsim","last_synced_at":"2025-05-15T17:04:36.558Z","repository":{"id":39748487,"uuid":"403134956","full_name":"AminHP/gym-mtsim","owner":"AminHP","description":"A general-purpose, flexible, and easy-to-use simulator alongside an OpenAI Gym trading environment for MetaTrader 5 trading platform (Approved by OpenAI Gym)","archived":false,"fork":false,"pushed_at":"2024-11-14T16:30:51.000Z","size":2450,"stargazers_count":469,"open_issues_count":15,"forks_count":115,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-04-13T00:37:48.403Z","etag":null,"topics":["backtesting","crypto","forex","gym-environment","metatrader5","openai-gym","reinforcement-learning","simulator","stocks","trading","trading-algorithm","trading-environment"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AminHP.png","metadata":{"files":{"readme":"README.ipynb","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-04T19:00:25.000Z","updated_at":"2025-04-06T15:25:25.000Z","dependencies_parsed_at":"2024-11-07T18:34:00.699Z","dependency_job_id":"1ca03fc9-3208-4a19-b6ea-f9dcc3bb7aa3","html_url":"https://github.com/AminHP/gym-mtsim","commit_stats":{"total_commits":27,"total_committers":5,"mean_commits":5.4,"dds":0.2962962962962963,"last_synced_commit":"1131a4becaf8a9459dfaa728d5547f81a724b070"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AminHP%2Fgym-mtsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AminHP%2Fgym-mtsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AminHP%2Fgym-mtsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AminHP%2Fgym-mtsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AminHP","download_url":"https://codeload.github.com/AminHP/gym-mtsim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384987,"owners_count":22062422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backtesting","crypto","forex","gym-environment","metatrader5","openai-gym","reinforcement-learning","simulator","stocks","trading","trading-algorithm","trading-environment"],"created_at":"2024-11-07T18:26:00.361Z","updated_at":"2025-05-15T17:04:36.338Z","avatar_url":"https://github.com/AminHP.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# gym-mtsim: OpenAI Gym - MetaTrader 5 Simulator\\n\",\n    \"\\n\",\n    \"`MtSim` is a simulator for the [MetaTrader 5](https://www.metatrader5.com) trading platform alongside an [OpenAI Gym](https://github.com/openai/gym) environment for reinforcement learning-based trading algorithms. `MetaTrader 5` is a **multi-asset** platform that allows trading **Forex**, **Stocks**, **Crypto**, and Futures. It is one of the most popular trading platforms and supports numerous useful features, such as opening demo accounts on various brokers.\\n\",\n    \"\\n\",\n    \"The simulator is separated from the Gym environment and can work independently. Although the Gym environment is designed to be suitable for RL frameworks, it is also proper for backtesting and classic analysis.\\n\",\n    \"\\n\",\n    \"The goal of this project was to provide a *general-purpose*, *flexible*, and *easy-to-use* library with a focus on *code readability* that enables users to do all parts of the trading process through it from 0 to 100. So, `gym-mtsim` is not just a testing tool or a Gym environment. It is a combination of a **real-world** simulator, a **backtesting** tool with *high detail visualization*, and a **Gym environment** appropriate for RL/classic algorithms.\\n\",\n    \"\\n\",\n    \"**Note:** For beginners, it is recommended to check out the [gym-anytrading](https://github.com/AminHP/gym-anytrading) project.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Prerequisites\\n\",\n    \"\\n\",\n    \"### Install MetaTrader 5\\n\",\n    \"Download and install MetaTrader 5 software from [here](https://www.metatrader5.com/en/download).\\n\",\n    \"\\n\",\n    \"Open a demo account on any broker. By default, the software opens a demo account automatically after installation.\\n\",\n    \"\\n\",\n    \"Explore the software and try to get familiar with it by trading different symbols in both **hedged** and **unhedged** accounts.\\n\",\n    \"\\n\",\n    \"### Install gym-mtsim\\n\",\n    \"\\n\",\n    \"#### Via PIP\\n\",\n    \"```bash\\n\",\n    \"pip install gym-mtsim\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"#### From Repository\\n\",\n    \"```bash\\n\",\n    \"git clone https://github.com/AminHP/gym-mtsim\\n\",\n    \"cd gym-mtsim\\n\",\n    \"pip install -e .\\n\",\n    \"\\n\",\n    \"## or\\n\",\n    \"\\n\",\n    \"pip install --upgrade --no-deps --force-reinstall https://github.com/AminHP/gym-mtsim/archive/main.zip\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"### Install stable-baselines3\\n\",\n    \"This package is required to run some examples. Install it from [here](https://github.com/DLR-RM/stable-baselines3#installation).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Components\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1. SymbolInfo\\n\",\n    \"\\n\",\n    \"This is a data class that contains the essential properties of a symbol. Try to get fully acquainted with [these properties](https://github.com/AminHP/gym-mtsim/blob/main/gym_mtsim/metatrader/symbol.py) in case they are unfamiliar. There are plenty of resources that provide good explanations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 2. Order\\n\",\n    \"\\n\",\n    \"This is another data class that consists of information of an order. Each order has the following properties:\\n\",\n    \"\\n\",\n    \"\u003e `id`: A unique number that helps with tracking orders.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `type`: An enum that specifies the type of the order. It can be either **Buy** or **Sell**.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `symbol`: The symbol selected for the order.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `volume`: The volume chose for the order. It can be a multiple of *volume_step* between *volume_min* and *volume_max*. \\n\",\n    \"\u003e\\n\",\n    \"\u003e `fee`: It is a tricky property. In MetaTrader, there is *no* such concept called fee. Each symbol has bid and ask prices, the difference between which represents the **fee**. Although MetaTrader API provides these bid/ask prices for the recent past, it is not possible to access them for the distant past. Therefore, the **fee** property helps to manage the mentioned difference.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `entry_time`: The time when the order was placed.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `entry_price`: The **close** price when the order was placed.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `exit_time`: The time when the order was closed.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `exit_price`: The **close** price when the order was closed.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `profit`: The amount of profit earned by this order so far.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `margin`: The required amount of margin for this order.\\n\",\n    \"\u003e\\n\",\n    \"\u003e `closed`: A boolean that specifies whether this order is closed or not.\"\n   ]\n  },\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 3. MtSimulator\\n\",\n    \"\\n\",\n    \"This is the core class that simulates the main parts of MetaTrader. Most of its public properties and methods are explained here. But feel free to take a look at the complete [source code](https://github.com/AminHP/gym-mtsim/blob/main/gym_mtsim/simulator/mt_simulator.py).\\n\",\n    \"\\n\",\n    \"* Properties:\\n\",\n    \"\\n\",\n    \"    \u003e `unit`: The unit currency. It is usually *USD*, but it can be anything the broker allows, such as *EUR*.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `balance`: The amount of money before taking into account any open positions.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `equity`: The amount of money, including the value of any open positions.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `margin`: The amount of money which is required for having positions opened.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `leverage`: The leverage ratio.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `free_margin`: The amount of money that is available to open new positions.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `margin_level`: The ratio between **equity** and **margin**.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `stop_out_level`: If the **margin_level** drops below **stop_out_level**, the most unprofitable position will be closed automatically by the broker.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `hedge`: A boolean that specifies whether hedging is enabled or not.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `symbols_info`: A dictionary that contains symbols' information.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `symbols_data`: A dictionary that contains symbols' OHLCV data.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `orders`: The list of open orders.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `closed_orders`: The list of closed orders.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `current_time`: The current time of the system.\\n\",\n    \"\\n\",\n    \"* Methods:\\n\",\n    \"\\n\",\n    \"    \u003e `download_data`: Downloads required data from MetaTrader for a list of symbols in a time range. This method can be overridden in order to download data from servers other than MetaTrader. *Note that this method only works on Windows, as the MetaTrader5 Python package is not available on other platforms.*\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `save_symbols`: Saves the downloaded symbols' data to a file.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `load_symbols`: Loads the symbols' data from a file.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `tick`: Moves forward in time (by a delta time) and updates orders and other related properties.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `create_order`: Creates a **Buy** or **Sell** order and updates related properties.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `close_order`: Closes an order and updates related properties.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `get_state`: Returns the state of the system. The result is similar to the *Trading tab* and *History tab* of the *Toolbox window* in MetaTrader software.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 4. MtEnv\\n\",\n    \"\\n\",\n    \"This is the Gym environment that works on top of the *MtSim*. Most of its public properties and methods are explained here. But feel free to take a look at the complete [source code](https://github.com/AminHP/gym-mtsim/blob/main/gym_mtsim/envs/mt_env.py).\\n\",\n    \"\\n\",\n    \"* Properties:\\n\",\n    \"\\n\",\n    \"    \u003e `original_simulator`: An instance of **MtSim** class as a baseline for simulating the system.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `simulator`: The current simulator in use. It is a copy of the **original_simulator**.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `trading_symbols`: The list of symbols to trade.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `time_points`: A list of time points based on which the simulator moves time. The default value is taken from the *pandas DataFrame.Index* of the first symbol in the **trading_symbols** list.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `hold_threshold`: A probability threshold that controls holding or placing a new order.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `close_threshold`: A probability threshold that controls closing an order.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `fee`: A constant number or a callable that takes a *symbol* as input and returns the **fee** based on that.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `symbol_max_orders`: Specifies the maximum number of open positions per symbol in hedge trading. \\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `multiprocessing_processes`: Specifies the maximum number of processes used for parallel processing.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `prices`: The symbol prices over time. It is used to calculate signal features and render the environment.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `signal_features`: The extracted features over time. It is used to generate *Gym observations*.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `window_size`: The number of time points (current and previous points) as the length of each observation's features. \\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `features_shape`: The shape of a single observation's features.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `action_space`: The *Gym action_space* property. It has a complex structure since **stable-baselines** does not support *Dict* or *2D Box* action spaces. The action space is a 1D vector of size `count(trading_symbols) * (symbol_max_orders + 2)`. For each symbol, two types of actions can be performed, closing previous orders and placing a new order. The former is controlled by the first *symbol_max_orders* elements and the latter is controlled by the last two elements. Therefore, the action for each symbol is ***[probability of closing order 1, probability of closing order 2, ..., probability of closing order symbol_max_orders, probability of holding or creating a new order, volume of the new order]***. The last two elements specify whether to hold or place a new order and the volume of the new order (positive volume indicates buy and negative volume indicates sell). These elements are a number in range (-∞, ∞), but the probability values must be in the range [0, 1]. This is a problem with **stable-baselines** as mentioned earlier. To overcome this problem, it is assumed that the probability values belong to the [logit](https://en.wikipedia.org/wiki/Logit) function. So, applying the [expit](https://en.wikipedia.org/wiki/Expit) function on them gives the desired probability values in the range [0, 1]. This function is applied in the **step** method of the environment.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `observation_space`: The *Gym observation_space* property. Each observation contains information about *balance*, *equity*, *margin*, *features*, and *orders*. The **features** is a window on the *signal_features* from index *current_tick - window_size + 1* to *current_tick*. The **orders** is a 3D array. Its first dimension specifies the symbol index in the *trading_symbols* list. The second dimension specifies the order number (each symbol can have more than one open order at the same time in hedge trading). The last dimension has three elements, *entry_price*, *volume*, and *profit* of corresponding order.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `history`: Stores the information of all steps.\\n\",\n    \"\\n\",\n    \"* Methods:\\n\",\n    \"\\n\",\n    \"    \u003e `seed`: The typical *Gym seed* method.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `reset`: The typical *Gym reset* method.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `step`: The typical *Gym step* method.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `render`: The typical *Gym render* method. It can render in three modes, **human**, **simple_figure**, and **advanced_figure**.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `close`: The typical *Gym close* method.\\n\",\n    \"\\n\",\n    \"* Virtual Methods:\\n\",\n    \"\\n\",\n    \"    \u003e `_get_prices`: It is called in the constructor and calculates symbol **prices**.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `_process_data`: It is called in the constructor and calculates **signal_features**.\\n\",\n    \"    \u003e\\n\",\n    \"    \u003e `_calculate_reward`: The reward function for the RL agent.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A Simple Example\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### MtSim\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Create a simulator with custom parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import pytz\\n\",\n    \"from datetime import datetime, timedelta\\n\",\n    \"from gym_mtsim import MtSimulator, OrderType, Timeframe, FOREX_DATA_PATH\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"sim = MtSimulator(\\n\",\n    \"    unit='USD',\\n\",\n    \"    balance=10000.,\\n\",\n    \"    leverage=100.,\\n\",\n    \"    stop_out_level=0.2,\\n\",\n    \"    hedge=False,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"if not sim.load_symbols(FOREX_DATA_PATH):\\n\",\n    \"    sim.download_data(\\n\",\n    \"        symbols=['EURUSD', 'GBPCAD', 'GBPUSD', 'USDCAD', 'USDCHF', 'GBPJPY', 'USDJPY'],\\n\",\n    \"        time_range=(\\n\",\n    \"            datetime(2021, 5, 5, tzinfo=pytz.UTC),\\n\",\n    \"            datetime(2021, 9, 5, tzinfo=pytz.UTC)\\n\",\n    \"        ),\\n\",\n    \"        timeframe=Timeframe.D1\\n\",\n    \"    )\\n\",\n    \"    sim.save_symbols(FOREX_DATA_PATH)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Place some orders\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"balance: 10000.0, equity: 10717.58118589908, margin: 3375.480933228619\\n\",\n      \"free_margin: 7342.1002526704615, margin_level: 3.1751271592500743\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\u003cdiv\u003e\\n\",\n       \"\u003cstyle scoped\u003e\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"\u003c/style\u003e\\n\",\n       \"\u003ctable border=\\\"1\\\" class=\\\"dataframe\\\"\u003e\\n\",\n       \"  \u003cthead\u003e\\n\",\n       \"    \u003ctr style=\\\"text-align: right;\\\"\u003e\\n\",\n       \"      \u003cth\u003e\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eId\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eSymbol\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eType\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eVolume\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Balance\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Equity\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eProfit\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eMargin\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eFee\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eClosed\u003c/th\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/thead\u003e\\n\",\n       \"  \u003ctbody\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e0\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e2\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eUSDJPY\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2.0\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-01 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e110.02500\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-06 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e109.71200\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eNaN\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eNaN\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e552.355257\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2000.000000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.0100\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eFalse\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e1\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e1\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.0\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-30 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73389\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-06 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73626\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eNaN\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eNaN\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e165.225928\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1375.480933\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.0003\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eFalse\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/tbody\u003e\\n\",\n       \"\u003c/table\u003e\\n\",\n       \"\u003c/div\u003e\"\n      ],\n      \"text/plain\": [\n       \"   Id  Symbol  Type  Volume                Entry Time  Entry Price  \\\\\\n\",\n       \"0   2  USDJPY  Sell     2.0 2021-09-01 00:17:52+00:00    110.02500   \\n\",\n       \"1   1  GBPCAD   Buy     1.0 2021-08-30 00:17:52+00:00      1.73389   \\n\",\n       \"\\n\",\n       \"                  Exit Time  Exit Price  Exit Balance  Exit Equity  \\\\\\n\",\n       \"0 2021-09-06 00:17:52+00:00   109.71200           NaN          NaN   \\n\",\n       \"1 2021-09-06 00:17:52+00:00     1.73626           NaN          NaN   \\n\",\n       \"\\n\",\n       \"       Profit       Margin     Fee  Closed  \\n\",\n       \"0  552.355257  2000.000000  0.0100   False  \\n\",\n       \"1  165.225928  1375.480933  0.0003   False  \"\n      ]\n     },\n     \"execution_count\": 2,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"sim.current_time = datetime(2021, 8, 30, 0, 17, 52, tzinfo=pytz.UTC)\\n\",\n    \"\\n\",\n    \"order1 = sim.create_order(\\n\",\n    \"    order_type=OrderType.Buy,\\n\",\n    \"    symbol='GBPCAD',\\n\",\n    \"    volume=1.,\\n\",\n    \"    fee=0.0003,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"sim.tick(timedelta(days=2))\\n\",\n    \"\\n\",\n    \"order2 = sim.create_order(\\n\",\n    \"    order_type=OrderType.Sell,\\n\",\n    \"    symbol='USDJPY',\\n\",\n    \"    volume=2.,\\n\",\n    \"    fee=0.01,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"sim.tick(timedelta(days=5))\\n\",\n    \"\\n\",\n    \"state = sim.get_state()\\n\",\n    \"\\n\",\n    \"print(\\n\",\n    \"    f\\\"balance: {state['balance']}, equity: {state['equity']}, margin: {state['margin']}\\\\n\\\"\\n\",\n    \"    f\\\"free_margin: {state['free_margin']}, margin_level: {state['margin_level']}\\\\n\\\"\\n\",\n    \")\\n\",\n    \"state['orders']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Close all orders\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"balance: 10717.58118589908, equity: 10717.58118589908, margin: 0.0\\n\",\n      \"free_margin: 10717.58118589908, margin_level: inf\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\u003cdiv\u003e\\n\",\n       \"\u003cstyle scoped\u003e\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"\u003c/style\u003e\\n\",\n       \"\u003ctable border=\\\"1\\\" class=\\\"dataframe\\\"\u003e\\n\",\n       \"  \u003cthead\u003e\\n\",\n       \"    \u003ctr style=\\\"text-align: right;\\\"\u003e\\n\",\n       \"      \u003cth\u003e\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eId\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eSymbol\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eType\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eVolume\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Balance\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Equity\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eProfit\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eMargin\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eFee\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eClosed\u003c/th\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/thead\u003e\\n\",\n       \"  \u003ctbody\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e0\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e2\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eUSDJPY\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2.0\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-01 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e110.02500\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-06 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e109.71200\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10717.581186\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10717.581186\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e552.355257\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2000.000000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.0100\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e1\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e1\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.0\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-30 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73389\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-09-06 00:17:52+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73626\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10165.225928\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10717.581186\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e165.225928\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1375.480933\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.0003\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/tbody\u003e\\n\",\n       \"\u003c/table\u003e\\n\",\n       \"\u003c/div\u003e\"\n      ],\n      \"text/plain\": [\n       \"   Id  Symbol  Type  Volume                Entry Time  Entry Price  \\\\\\n\",\n       \"0   2  USDJPY  Sell     2.0 2021-09-01 00:17:52+00:00    110.02500   \\n\",\n       \"1   1  GBPCAD   Buy     1.0 2021-08-30 00:17:52+00:00      1.73389   \\n\",\n       \"\\n\",\n       \"                  Exit Time  Exit Price  Exit Balance   Exit Equity  \\\\\\n\",\n       \"0 2021-09-06 00:17:52+00:00   109.71200  10717.581186  10717.581186   \\n\",\n       \"1 2021-09-06 00:17:52+00:00     1.73626  10165.225928  10717.581186   \\n\",\n       \"\\n\",\n       \"       Profit       Margin     Fee  Closed  \\n\",\n       \"0  552.355257  2000.000000  0.0100    True  \\n\",\n       \"1  165.225928  1375.480933  0.0003    True  \"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"order1_profit = sim.close_order(order1)\\n\",\n    \"order2_profit = sim.close_order(order2)\\n\",\n    \"\\n\",\n    \"# alternatively:\\n\",\n    \"# for order in sim.orders:\\n\",\n    \"#     sim.close_order(order)\\n\",\n    \"\\n\",\n    \"state = sim.get_state()\\n\",\n    \"\\n\",\n    \"print(\\n\",\n    \"    f\\\"balance: {state['balance']}, equity: {state['equity']}, margin: {state['margin']}\\\\n\\\"\\n\",\n    \"    f\\\"free_margin: {state['free_margin']}, margin_level: {state['margin_level']}\\\\n\\\"\\n\",\n    \")\\n\",\n    \"state['orders']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### MtEnv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Create an environment\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import gymnasium as gym\\n\",\n    \"import gym_mtsim\\n\",\n    \"\\n\",\n    \"env = gym.make('forex-hedge-v0')\\n\",\n    \"# env = gym.make('stocks-hedge-v0')\\n\",\n    \"# env = gym.make('crypto-hedge-v0')\\n\",\n    \"# env = gym.make('mixed-hedge-v0')\\n\",\n    \"\\n\",\n    \"# env = gym.make('forex-unhedge-v0')\\n\",\n    \"# env = gym.make('stocks-unhedge-v0')\\n\",\n    \"# env = gym.make('crypto-unhedge-v0')\\n\",\n    \"# env = gym.make('mixed-unhedge-v0')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"* This will create a default environment. There are eight default environments, but it is also possible to create environments with custom parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Create an environment with custom parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import pytz\\n\",\n    \"from datetime import datetime, timedelta\\n\",\n    \"import numpy as np\\n\",\n    \"from gym_mtsim import MtEnv, MtSimulator, FOREX_DATA_PATH\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"sim = MtSimulator(\\n\",\n    \"    unit='USD',\\n\",\n    \"    balance=10000.,\\n\",\n    \"    leverage=100.,\\n\",\n    \"    stop_out_level=0.2,\\n\",\n    \"    hedge=True,\\n\",\n    \"    symbols_filename=FOREX_DATA_PATH\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"env = MtEnv(\\n\",\n    \"    original_simulator=sim,\\n\",\n    \"    trading_symbols=['GBPCAD', 'EURUSD', 'USDJPY'],\\n\",\n    \"    window_size=10,\\n\",\n    \"    # time_points=[desired time points ...],\\n\",\n    \"    hold_threshold=0.5,\\n\",\n    \"    close_threshold=0.5,\\n\",\n    \"    fee=lambda symbol: {\\n\",\n    \"        'GBPCAD': max(0., np.random.normal(0.0007, 0.00005)),\\n\",\n    \"        'EURUSD': max(0., np.random.normal(0.0002, 0.00003)),\\n\",\n    \"        'USDJPY': max(0., np.random.normal(0.02, 0.003)),\\n\",\n    \"    }[symbol],\\n\",\n    \"    symbol_max_orders=2,\\n\",\n    \"    multiprocessing_processes=2\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Print some information\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"env information:\\n\",\n      \"\u003e prices[GBPCAD].shape: (88, 2)\\n\",\n      \"\u003e prices[EURUSD].shape: (88, 2)\\n\",\n      \"\u003e prices[USDJPY].shape: (88, 2)\\n\",\n      \"\u003e signal_features.shape: (88, 6)\\n\",\n      \"\u003e features_shape: (10, 6)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"env information:\\\")\\n\",\n    \"\\n\",\n    \"for symbol in env.prices:\\n\",\n    \"    print(f\\\"\u003e prices[{symbol}].shape:\\\", env.prices[symbol].shape)\\n\",\n    \"\\n\",\n    \"print(\\\"\u003e signal_features.shape:\\\", env.signal_features.shape)\\n\",\n    \"print(\\\"\u003e features_shape:\\\", env.features_shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Trade randomly\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"balance: 18179.65219519348, equity: 18179.65219519348, margin: 0.0\\n\",\n      \"free_margin: 18179.65219519348, margin_level: inf\\n\",\n      \"step_reward: 0.0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"observation = env.reset()\\n\",\n    \"\\n\",\n    \"while True:\\n\",\n    \"    action = env.action_space.sample()\\n\",\n    \"    observation, reward, terminated, truncated, info = env.step(action)\\n\",\n    \"    done = terminated or truncated\\n\",\n    \"\\n\",\n    \"    if done:\\n\",\n    \"        # print(info)\\n\",\n    \"        print(\\n\",\n    \"            f\\\"balance: {info['balance']}, equity: {info['equity']}, margin: {info['margin']}\\\\n\\\"\\n\",\n    \"            f\\\"free_margin: {info['free_margin']}, margin_level: {info['margin_level']}\\\\n\\\"\\n\",\n    \"            f\\\"step_reward: {info['step_reward']}\\\"\\n\",\n    \"        )\\n\",\n    \"        break\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Render in *human* mode\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"balance: 18179.65219519348, equity: 18179.65219519348, margin: 0.0\\n\",\n      \"free_margin: 18179.65219519348, margin_level: inf\\n\",\n      \"\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\u003cdiv\u003e\\n\",\n       \"\u003cstyle scoped\u003e\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"\u003c/style\u003e\\n\",\n       \"\u003ctable border=\\\"1\\\" class=\\\"dataframe\\\"\u003e\\n\",\n       \"  \u003cthead\u003e\\n\",\n       \"    \u003ctr style=\\\"text-align: right;\\\"\u003e\\n\",\n       \"      \u003cth\u003e\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eId\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eSymbol\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eType\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eVolume\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eEntry Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Time\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Price\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Balance\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eExit Equity\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eProfit\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eMargin\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eFee\u003c/th\u003e\\n\",\n       \"      \u003cth\u003eClosed\u003c/th\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/thead\u003e\\n\",\n       \"  \u003ctbody\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e0\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e14\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e9.95\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-27 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17955\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-31 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.18083\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e18179.652195\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e18179.652195\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1052.554631\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e11736.522500\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000222\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e1\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e13\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.22\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-26 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17515\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-31 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.18083\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e17127.097565\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e18179.652195\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e120.009649\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e258.533000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000225\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e2\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e12\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e7.10\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-24 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.72784\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-26 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73770\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e17007.087916\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e17007.087916\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e5140.996853\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e9746.529273\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000675\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e3\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e11\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e3.33\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-20 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.16996\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-23 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17457\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e11866.091062\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e11866.091062\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-1610.650324\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e3895.966800\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000227\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e4\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e10\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e6.65\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-30 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73335\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-08-02 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.73577\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e13476.741387\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e13476.741387\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e868.941338\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e9248.130601\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000786\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e5\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e9\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.26\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-21 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17946\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-22 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17707\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12607.800048\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12607.800048\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e56.809064\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e306.659600\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000205\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e6\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e8\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eUSDJPY\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e7.11\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-12 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e110.34900\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-16 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e110.08100\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12550.990984\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12550.990984\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-1850.301309\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e7110.000000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.018474\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e7\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e7\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e4.23\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-07 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.17903\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-09 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.18774\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e14401.292293\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e14401.292293\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e3618.699910\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e4987.296900\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000155\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e8\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e6\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2.77\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-02 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.70511\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-07-05 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.70716\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10782.592383\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10782.592383\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-612.337927\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e3831.428119\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000678\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e9\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e5\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e6.07\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-21 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.19185\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-22 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.19413\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e11394.930310\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e11394.930310\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-1512.813611\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e7234.529500\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000212\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e10\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e4\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eUSDJPY\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e4.18\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-11 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e109.68200\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-17 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e110.22100\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12907.743921\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12907.743921\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1980.439673\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e4180.000000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.016785\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e11\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e3\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eGBPCAD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e5.58\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-01 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.70755\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-06-02 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.70462\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10927.304248\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e10927.304248\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-1678.531017\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e7894.516666\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000689\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e12\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e2\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eEURUSD\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eBuy\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2.65\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-05-26 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.21922\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-05-28 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e1.21896\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12605.835265\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12605.835265\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e-130.546444\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e3230.933000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.000233\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"    \u003ctr\u003e\\n\",\n       \"      \u003cth\u003e13\u003c/th\u003e\\n\",\n       \"      \u003ctd\u003e1\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eUSDJPY\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eSell\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e6.73\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-05-19 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e109.22700\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2021-05-20 00:00:00+00:00\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e108.76700\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12736.381709\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e12736.381709\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e2736.381709\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e6730.000000\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003e0.017759\u003c/td\u003e\\n\",\n       \"      \u003ctd\u003eTrue\u003c/td\u003e\\n\",\n       \"    \u003c/tr\u003e\\n\",\n       \"  \u003c/tbody\u003e\\n\",\n       \"\u003c/table\u003e\\n\",\n       \"\u003c/div\u003e\"\n      ],\n      \"text/plain\": [\n       \"    Id  Symbol  Type  Volume                Entry Time  Entry Price  \\\\\\n\",\n       \"0   14  EURUSD   Buy    9.95 2021-08-27 00:00:00+00:00      1.17955   \\n\",\n       \"1   13  EURUSD   Buy    0.22 2021-08-26 00:00:00+00:00      1.17515   \\n\",\n       \"2   12  GBPCAD   Buy    7.10 2021-08-24 00:00:00+00:00      1.72784   \\n\",\n       \"3   11  EURUSD  Sell    3.33 2021-08-20 00:00:00+00:00      1.16996   \\n\",\n       \"4   10  GBPCAD   Buy    6.65 2021-07-30 00:00:00+00:00      1.73335   \\n\",\n       \"5    9  EURUSD  Sell    0.26 2021-07-21 00:00:00+00:00      1.17946   \\n\",\n       \"6    8  USDJPY   Buy    7.11 2021-07-12 00:00:00+00:00    110.34900   \\n\",\n       \"7    7  EURUSD   Buy    4.23 2021-07-07 00:00:00+00:00      1.17903   \\n\",\n       \"8    6  GBPCAD  Sell    2.77 2021-07-02 00:00:00+00:00      1.70511   \\n\",\n       \"9    5  EURUSD  Sell    6.07 2021-06-21 00:00:00+00:00      1.19185   \\n\",\n       \"10   4  USDJPY   Buy    4.18 2021-06-11 00:00:00+00:00    109.68200   \\n\",\n       \"11   3  GBPCAD   Buy    5.58 2021-06-01 00:00:00+00:00      1.70755   \\n\",\n       \"12   2  EURUSD   Buy    2.65 2021-05-26 00:00:00+00:00      1.21922   \\n\",\n       \"13   1  USDJPY  Sell    6.73 2021-05-19 00:00:00+00:00    109.22700   \\n\",\n       \"\\n\",\n       \"                   Exit Time  Exit Price  Exit Balance   Exit Equity  \\\\\\n\",\n       \"0  2021-08-31 00:00:00+00:00     1.18083  18179.652195  18179.652195   \\n\",\n       \"1  2021-08-31 00:00:00+00:00     1.18083  17127.097565  18179.652195   \\n\",\n       \"2  2021-08-26 00:00:00+00:00     1.73770  17007.087916  17007.087916   \\n\",\n       \"3  2021-08-23 00:00:00+00:00     1.17457  11866.091062  11866.091062   \\n\",\n       \"4  2021-08-02 00:00:00+00:00     1.73577  13476.741387  13476.741387   \\n\",\n       \"5  2021-07-22 00:00:00+00:00     1.17707  12607.800048  12607.800048   \\n\",\n       \"6  2021-07-16 00:00:00+00:00   110.08100  12550.990984  12550.990984   \\n\",\n       \"7  2021-07-09 00:00:00+00:00     1.18774  14401.292293  14401.292293   \\n\",\n       \"8  2021-07-05 00:00:00+00:00     1.70716  10782.592383  10782.592383   \\n\",\n       \"9  2021-06-22 00:00:00+00:00     1.19413  11394.930310  11394.930310   \\n\",\n       \"10 2021-06-17 00:00:00+00:00   110.22100  12907.743921  12907.743921   \\n\",\n       \"11 2021-06-02 00:00:00+00:00     1.70462  10927.304248  10927.304248   \\n\",\n       \"12 2021-05-28 00:00:00+00:00     1.21896  12605.835265  12605.835265   \\n\",\n       \"13 2021-05-20 00:00:00+00:00   108.76700  12736.381709  12736.381709   \\n\",\n       \"\\n\",\n       \"         Profit        Margin       Fee  Closed  \\n\",\n       \"0   1052.554631  11736.522500  0.000222    True  \\n\",\n       \"1    120.009649    258.533000  0.000225    True  \\n\",\n       \"2   5140.996853   9746.529273  0.000675    True  \\n\",\n       \"3  -1610.650324   3895.966800  0.000227    True  \\n\",\n       \"4    868.941338   9248.130601  0.000786    True  \\n\",\n       \"5     56.809064    306.659600  0.000205    True  \\n\",\n       \"6  -1850.301309   7110.000000  0.018474    True  \\n\",\n       \"7   3618.699910   4987.296900  0.000155    True  \\n\",\n       \"8   -612.337927   3831.428119  0.000678    True  \\n\",\n       \"9  -1512.813611   7234.529500  0.000212    True  \\n\",\n       \"10  1980.439673   4180.000000  0.016785    True  \\n\",\n       \"11 -1678.531017   7894.516666  0.000689    True  \\n\",\n       \"12  -130.546444   3230.933000  0.000233    True  \\n\",\n       \"13  2736.381709   6730.000000  0.017759    True  \"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"state = env.render()\\n\",\n    \"\\n\",\n    \"print(\\n\",\n    \"    f\\\"balance: {state['balance']}, equity: {state['equity']}, margin: {state['margin']}\\\\n\\\"\\n\",\n    \"    f\\\"free_margin: {state['free_margin']}, margin_level: {state['margin_level']}\\\\n\\\"\\n\",\n    \")\\n\",\n    \"state['orders']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Render in *simple_figure* mode\\n\",\n    \"\\n\",\n    \"* Each *symbol* is illustrated with a separate color.\\n\",\n    \"* The **green**/**red** triangles show successful **buy**/**sell** actions.\\n\",\n    \"* The **gray** triangles indicate that the **buy**/**sell** action has encountered an **error**.\\n\",\n    \"* The **black** vertical bars specify **close** actions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABQcAAAI1CAYAAABrKEweAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3hS9/4H8PeBBMiC7L3jSlxx1q1xxL1btdplx6+37e21e9ne7nU7btftslZbq63a1lbrXlVbbd0jahwxe09CEgIBvr8/yCEhQEISCCT5vJ4nz6OHw+FLAhz48BkcY4yBEEIIIYQQQgghhBDS7QgcvQBCCCGEEEIIIYQQQohjUHCQEEIIIYQQQgghhJBuioKDhBBCCCGEEEIIIYR0UxQcJIQQQgghhBBCCCGkm6LgICGEEEIIIYQQQggh3RQFBwkhhBBCCCGEEEII6aYoOEgIIYQQQgghhBBCSDdFwUFCCCGEEEIIIYQQQropCg4SQgghhBBCCCGEENJNUXCwg0RHR+Ouu+5y9DIIIZ3U77//Do7j8Pvvvzt6KYR0WRkZGeA4DmvXrnX0Ugjp9O666y5ER0c7ehmEdBnd7Ry1du1acByHjIyMNl1/woQJmDBhQptvf926dejTpw9cXV3h7e3d5uMQ0llQcLAJ/kWo8U9gYCCSkpKwc+dORy/Pab3++uuYM2cOgoKCwHEcXnrpJYv77tu3D0lJSfD394e3tzeGDx+OdevWmez32Wef4ZZbbkFkZCQ4jrMYXJ0wYYLJ34z/cXV1Ndq3qqoKjzzyCMLDwyEWixEfH4/PPvusVfc1LS0NS5cuRWBgINzc3NCzZ0+sXLnSaJ+77rrL7Hr69OljtF9qaiqeeuopJCYmwsvLCyEhIZg5cyZOnjxpcrtXrlzBo48+ilGjRkEikTR7srT2fpp7vPM/BQUFLf4uoqOjMWvWLLOXnTx50uwbmD/++APTp09HWFgYJBIJIiMjMXv2bGzYsMFov8ZrcXFxga+vL4YMGYIVK1bg0qVLLa7NHiz9XTmOg0Qi6fD1bNiwAR988IHdbyc/Px/PPPMMkpKS4OXl1WyQUqfT4fPPP0diYiI8PT0RFBSE6dOn4+jRo0b7VVVV4cUXX8S0adPg6+vb7JtdS79zjuMwZcoUo32vX7+Om2++GT4+PnB3d8eYMWNw8ODBVt3fffv2YeLEiZDJZPDy8sKQIUOwceNGo32io6PNrucf//iH0X779+/H3XffjV69esHd3R2xsbG49957kZ+fb3K7e/bswT333IN+/fpBKBQ2+6Ha2vtp7WtRR+Bfq3v27Gn28r179xrW9+OPP3bw6hxj69atGDx4sOG18MUXX4RGo7HqujqdDv/5z38QExMDiUSCAQMG4Pvvvze77+XLlzFt2jR4enrC19cXt99+O4qLizvtMe2tufcVqampHb6epvgviziOw3fffWd2n9GjR4PjOPTr16+DV9fx6BxF5yhb6K7nqAkTJnSL14nWSk1NxV133YW4uDisWrUKX375paOXRIjduTh6Ac7qlVdeQUxMDBhjKCwsxNq1azFjxgxs27bNYjCkO3v++ecRHByMQYMGYffu3Rb327p1K+bNm4eRI0fipZdeAsdx2LRpE+644w6UlJTg0UcfNez79ttvQ6FQYPjw4WbfpPBWrlyJe++912hbdXU1/vGPfyA5OdmwTavVYurUqTh58iQeeugh9OzZE7t378aDDz6I8vJyPPfccy3ez7Nnz2LChAkICwvD448/Dj8/P2RlZSE7O9tkX7FYjK+++spom0wmM/r/V199hdWrV2PhwoV48MEHIZfL8cUXX2DEiBHYtWsXJk+ebNj32LFj+Oijj5CQkID4+HicPXvW7Brbcj/5x3tj9viGbPPmzVi8eDESExOxYsUK+Pj4ID09HYcPH8aqVauwdOlSo/2nTJmCO+64A4wxyOVynDt3Dt988w0+/fRTvP3223jsscdsvsaWmPu7AoBQKLTr7Y4bNw5KpRIikciwbcOGDUhJScEjjzxi19u+cuUK3n77bfTs2RP9+/fHsWPHLO775JNP4v3338dtt92GBx98EBUVFfjiiy8wfvx4/Pnnnxg+fDgAoKSkBK+88goiIyMxcODAZjMizX15cPLkSXz44YdGz/Hs7GyMHDkSQqEQTz75JDw8PLBmzRokJydj//79GDduXIv3dc2aNbjnnnswZcoUvPHGGxAKhbhy5YrZ53hiYiIef/xxo229evUy+v/TTz+NsrIy3HLLLejZsydu3LiBTz75BL/99hvOnj2L4OBgw74bNmzAxo0bMXjwYISGhlpcY2vvpzWvRR1FIpHg+vXrOH78uOGxwFu/fj0kEglqa2sdsjYAiIqKglKpNPliyR527tyJefPmYcKECfj4449x4cIFvPbaaygqKrLqS6uVK1firbfewn333Ydhw4bh119/xdKlS8FxHJYsWWLYLycnB+PGjYNMJsMbb7yBqqoqvPvuu7hw4QKOHz9u9JrSWY7ZEcLDw/Hmm2+abG/uudnRJBIJNmzYgNtuu81oe0ZGBo4ePeqQL60aW7VqFXQ6nd1vh85RdI6yFTpHdS179uxp83V///136HQ6fPjhh+jRo4cNV0WIE2PEyJo1axgAduLECaPtZWVlzNXVlS1durRNx42KimJ33nmnDVbonNLT0xljjBUXFzMA7MUXXzS735QpU1hoaCirra01bKurq2NxcXFswIABRvtmZGQwnU7HGGPMw8OjVb+/devWMQBs/fr1hm2bNm1iANjq1auN9l24cCGTSCSssLCw2WNqtVrWr18/dtNNN7Gamppm973zzjuZh4dHi+s8efIkUygURttKSkpYQEAAGz16tNH20tJSVllZyRhj7J133mEADL/3xlpzPy093q0VFRXFZs6cafayEydOMABszZo1hm0JCQmsb9++TKVSmezf9PcPgD300EMm+5WUlLCRI0cyAGz79u1tWndbWft37SgzZ85kUVFRdr+dyspKVlpayhhjbPPmzQwAO3jwoMl+dXV1zM3Njd18881G22/cuMEAsH/961+GbbW1tSw/P58xZv6x0pJ77rmHcRzHsrOzDdsefPBB5uLiwlJTUw3bqqurWUREBBs8eHCLx0xPT2dubm5G67Skucd+Y4cOHWJardZkGwC2cuVKo+25ublMrVYzxpr/27bmfjrTY3b8+PGsb9++rHfv3uyRRx4xukypVDKpVMoWLlzIALDNmzfb5Darqqpschx7SEhIYAMHDmR1dXWGbStXrmQcx7HLly83e92cnBzm6upq9Bqp0+nY2LFjWXh4ONNoNIbtDzzwAHNzc2OZmZmGbXv37mUA2BdffNHpjtkR+Mdqa3TkY+3gwYMMAFuwYAFzcXFhxcXFRpe//vrrLCgoiI0ZM6bV98MSnU7X4nsfR6FzlCk6R7Vedz1HteX1rqPwn1PMfd6xt5dffpkBMHl9JaQro7JiK3l7e8PNzQ0uLsbJlu+++y5GjRoFPz8/uLm5YciQIValmpeVleGJJ55A//794enpCalUiunTp+PcuXNG+/GlI5s2bcLrr7+O8PBwSCQSTJo0CdevXzc57t9//40Z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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminhp%2Fgym-mtsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faminhp%2Fgym-mtsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminhp%2Fgym-mtsim/lists"}