Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wiseplat/backtrader_binance
Binance API integration with Backtrader. Run strategies for Backtest and Live Trading. Get historical price data for Bitcoin, Ethereum and all coins from Binance. EASY create your strategies.
https://github.com/wiseplat/backtrader_binance
algo algo-trading algo-trading-software algo-trading-strategies algotrading backtrader binance binance-api binance-bot bitcoin cryptocurrency example-trading-strategies live-trading live-trading-strategies offline-trading-strategies trading-algorithms trading-bot trading-robot trading-strategies trading-system
Last synced: 7 days ago
JSON representation
Binance API integration with Backtrader. Run strategies for Backtest and Live Trading. Get historical price data for Bitcoin, Ethereum and all coins from Binance. EASY create your strategies.
- Host: GitHub
- URL: https://github.com/wiseplat/backtrader_binance
- Owner: WISEPLAT
- License: mit
- Created: 2023-04-07T12:57:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-30T12:38:03.000Z (3 months ago)
- Last Synced: 2024-12-08T10:01:24.971Z (14 days ago)
- Topics: algo, algo-trading, algo-trading-software, algo-trading-strategies, algotrading, backtrader, binance, binance-api, binance-bot, bitcoin, cryptocurrency, example-trading-strategies, live-trading, live-trading-strategies, offline-trading-strategies, trading-algorithms, trading-bot, trading-robot, trading-strategies, trading-system
- Language: Python
- Homepage:
- Size: 170 KB
- Stars: 157
- Watchers: 5
- Forks: 56
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# backtrader_binance
Binance API integration with [Backtrader](https://github.com/WISEPLAT/backtrader).With this integration you can do:
- Backtesting your strategy on historical data from the exchange [Binance](https://accounts.binance.com/register?ref=200640624 ) + [Backtrader](https://github.com/WISEPLAT/backtrader ) // Backtesting
- Launch trading systems for automatic trading on the exchange [Binance](https://accounts.binance.com/register?ref=200640624) + [Backtrader](https://github.com/WISEPLAT/backtrader ) // Live trading
- Download historical data for cryptocurrencies from the exchange [Binance](https://accounts.binance.com/register?ref=200640624)For API connection we are using library [python-binance](https://github.com/sammchardy/python-binance).
**You can say Thanks:**
USDT (Tron TRC20): TEHaXZX7KLjAm4eLWdf4VKfsqRUQpv8fTT
or by [**Binance**](https://accounts.binance.com/register?ref=200640624 ) **ID** **200640624** through the exchange (no commission)
or by [**Bybit**](https://www.bybit.com/invite?ref=KXLXXE%230 ) **UID** **112927970** through the exchange (no commission)
## Installation
1) The simplest way:
```shell
pip install backtrader_binance
```
or
```shell
git clone https://github.com/WISEPLAT/backtrader_binance
```
or
```shell
pip install git+https://github.com/WISEPLAT/backtrader_binance.git
```2) Please use backtrader from my repository (as your can push your commits in it). Install it:
```shell
pip install git+https://github.com/WISEPLAT/backtrader.git
```
-- Can I use your binance interface with original backtrader?-- Yes, you can use original backtrader, as the author of original backtrader had approved all my changes.
Here is the link: [mementum/backtrader#472](https://github.com/mementum/backtrader/pull/472)
3) We have some dependencies, you need to install them:
```shell
pip install python-binance backtrader pandas matplotlib
```or
```shell
pip install -r requirements.txt
```### Getting started
To make it easier to figure out how everything works, many examples have been made in the folders **DataExamplesBinance** and **StrategyExamplesBinance**.Before running the example, you need to get your API key and Secret key, and put them in the file **ConfigBinance\Config.py:**
```python
# content of ConfigBinance\Config.py
class Config:
BINANCE_API_KEY = "YOUR_API_KEY"
BINANCE_API_SECRET = "YOUR_SECRET_KEY"
```#### How to get a Binance API token:
1. Register your account on [Binance](https://accounts.binance.com/register?ref=200640624 )
2. Go to the ["API Management"](https://www.binance.com/en/my/settings/api-management?ref=CPA_004RZBKQWK )
3. Then click the "Create API" button and select "System Generated".
4. In the "API Restrictions" section, enable "Enable Spot and Margin Trading".
5. Copy and paste to the file **ConfigBinance\Config.py ** received **"API key"** and **"Secret key"**#### Now you can run examples
The **DataExamplesBinance** folder contains the code of examples for working with exchange data via the [Binance](https://accounts.binance.com/register?ref=200640624 ) API.
* **01 - Symbol.py** - trading strategy for obtaining historical and "live" data of one ticker for one timeframe
* **02 - Symbol data to DF.py** - export to csv file of historical data of one ticker for one timeframe
* **03 - Symbols.py** - trading strategy for multiple tickers on the same timeframe
* **04 - Resample.py** - trading strategy for obtaining data from one ticker for different timeframes by converting a smaller timeframe into a larger one
* **05 - Replay.py** - launching a trading strategy on a smaller timeframe, with processing on a larger one and displaying a larger interval chart
* **06 - Rollover.py** - launch of a trading strategy based on gluing data from a file with historical data and the last downloaded history from the broker
* **07 - Get Asset Balance.py** - getting the ticker balance directly through the Binance API
* **08 - Timeframes.py** - trading strategy is running on different timeframes.
* **09 - Get Asset Info.py** - getting info about asset: balance, lot size, min price step, min value to buy and etc.
* **09 - Get Asset Info - no Decimal.py** - getting info about asset: balance, lot size, min price step, min value to buy and etc.
* **09 - Get Asset Info - through client.py** - getting info about asset: balance, lot size, min price step, min value to buy and etc.
* **10 - Get Historical Data.py** - getting historical data through binance client for asset.
* **Strategy.py** - An example of a trading strategy that only outputs data of the OHLCV for ticker/tickersThe **StrategyExamplesBinance** folder contains the code of sample strategies.
* **01 - Live Trade - Just Buy and Sell.py** - An example of a live trading strategy for ETH ticker on the base USDT ticker.
* The strategy shows how to Buy at Market or Limit order and how to Cancel order.
* Example of placing and cancel orders on the Binance exchange.
* Please be aware! This is Live order - if market has a big change down in value of price more than 5% - the order will be completed....
* Please be aware! For Market order - it will be completed!
* **Do not forget to cancel the submitted orders from the exchange after the test!**
* **01 - Live Trade.py** - An example of a live trading strategy for two BTC and ETH tickers on the base USDT ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* Example of placing and cancel orders on the Binance exchange.
* Please be aware! This is Live order - if market has a big change down in value of price more than 5% - the order will be completed....
* **Do not forget to cancel the submitted orders from the exchange after the test!*** **02 - Live Trade MultiPortfolio.py** - An example of a live trading strategy for a set of tickers that can be transferred to the strategy in a list (BTC, ETH, BNB) on the base USDT ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* Example of placing and cancel orders on the Binance exchange.
* Please be aware! This is Live order - if market has a big change down in value of price more than 5% - the order will be completed....
* **Do not forget to cancel the submitted orders from the exchange after the test!*** **03 - Live Trade ETH.py** - An example of a live trading strategy for two BNB and XMR tickers on the basic ETH ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* Example of placing and cancel orders on the Binance exchange.
* Please be aware! This is Live order - if market has a big change down in value of price more than 5% - the order will be completed....
* **Do not forget to cancel the submitted orders from the exchange after the test!*** **04 - Offline Backtest.py** - An example of a trading strategy on a historical data - not live mode - for two BTC and ETH tickers on the base USDT ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* Not a live mode - for testing strategies without sending orders to the exchange!* **05 - Offline Backtest MultiPortfolio.py** - An example of a trading strategy on a historical data - not live mode - for a set of tickers that can be transferred to the strategy in a list (BTC, ETH, BNB) on the base USDT ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* Not a live mode - for testing strategies without sending orders to the exchange!* **06 - Live Trade Just Buy and Close by Market.py** - An example of a live trading strategy for ETH ticker on the base USDT ticker.
* The strategy shows how to buy by close price and sell by market a little value of ETH after 3 bars.
* Example of placing orders on the Binance exchange.
* **Do not forget to cancel the submitted orders from the exchange after the test!*** **07 - Offline Backtest Indicators.py** - An example of a trading strategy for a history test using SMA and RSI indicators - not live mode - for two BTC and ETH tickers on the base USDT ticker.
* The strategy shows how to apply indicators (SMA, RSI) to several tickers at the same time.
* generates 177% of revenue at the time of video recording))
* Non-live mode - for testing strategies without sending orders to the exchange!* **08 - Offline Backtest Margin Trade with Leverage 50x - Linear Trade.py** - An example of a trading strategy with the use of margin Leverage 50x for a history backtest using SMA indicators - not live mode - for two BTC and ETH tickers on the base of USDT ticker.
* The strategy shows how to apply indicators SMA to several tickers at the same time.
* generates 792% of revenue at the time of file publishing
* Non-live mode - for testing strategies without sending orders to the exchange!
* The strategy shows how to use margin with Leverage 50x for backtest on history market data for cryptocurrencies.
```commandline
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Was money: 2000.00
Ending Portfolio Value: 17853.46
Remaining available funds: 4887.38
Assets in the amount of: 12966.082000.00 ==> 17853.46 ==> +792.67%
SQN: AutoOrderedDict([('sqn', 1.0031776139642996), ('trades', 4)])
VWR: OrderedDict([('vwr', 25.613023915870777)])
TDD: OrderedDict([('maxdrawdown', 65.77087178559279), ('maxdrawdownperiod', 304)])
DD: AutoOrderedDict([('len', 6), ('drawdown', 20.46618403019286), ('moneydown', 229.70872494394746), ('max', AutoOrderedDict([('len', 304), ('drawdown', 65.77087178559279), ('moneydown', 295.8359186842)]))])
AR: OrderedDict([(2021, 0.0), (2022, -0.42822236821405035), (2023, 4.540830244681184), (2024, 1.8176719585784271)])
Profitability: OrderedDict([('rtot', 2.1890502317806253), ('ravg', 0.0022178827069712515), ('rnorm', 0.7487590850582526), ('rnorm100', 74.87590850582527)])
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
```## Thanks
- backtrader: Very simple and cool library!
- [python-binance](https://github.com/sammchardy/python-binance): For creating Binance API wrapper, shortening a lot of work.
- lindomar-oliveira for some code## License
[MIT](https://choosealicense.com/licenses/mit)## Important
Error correction, revision and development of the library is carried out by the author and the community!**Push your commits!**
## Terms of Use
The backtrader_binance library, which allows you to integrate Backtrader and Binance API, is the **Program** created solely for the convenience of work.
When using the **Program**, the User is obliged to comply with the provisions of the current legislation of his country.
Using the **Program** are offered on an "AS IS" basis. No guarantees, either oral or written, are attached and are not provided.
The author and the community does not guarantee that all errors of the **Program** have been eliminated, respectively, the author and the community do not bear any responsibility for
the consequences of using the **Program**, including, but not limited to, any damage to equipment, computers, mobile devices,
User software caused by or related to the use of the **Program**, as well as for any financial losses
incurred by the User as a result of using the **Program**.
No one is responsible for data loss, losses, damages, including accidental or indirect, lost profits, loss of revenue or any other losses
related to the use of the **Program**.The **Program** is distributed under the terms of the [MIT](https://choosealicense.com/licenses/mit ) license.
## Star History
Please put a Star π for this code
[![Star History Chart](https://api.star-history.com/svg?repos=WISEPLAT/backtrader_binance&type=Timeline)](https://star-history.com/#WISEPLAT/backtrader_binance&Timeline)
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΠ²Π΅Π·Π΄Ρ π ΡΡΠΎΠΌΡ ΠΊΠΎΠ΄Ρ
==========================================================================
# backtrader_binance
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Binance API Ρ [Backtrader](https://github.com/WISEPLAT/backtrader ).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ:
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π½Π° ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ Π±ΠΈΡΠΆΠΈ [Binance](https://accounts.binance.com/register?ref=200640624 ) + [Backtrader](https://github.com/WISEPLAT/backtrader )
- ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΡΠ³ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ Π½Π° Π±ΠΈΡΠΆΠ΅ [Binance](https://accounts.binance.com/register?ref=200640624 ) + [Backtrader](https://github.com/WISEPLAT/backtrader )
- ΠΠ°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΠ°ΠΌ Ρ Π±ΠΈΡΠΆΠΈ [Binance](https://accounts.binance.com/register?ref=200640624 )ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ API ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ [python-binance](https://github.com/sammchardy/python-binance ).
**ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ:**
USDT (Tron TRC20): TEHaXZX7KLjAm4eLWdf4VKfsqRUQpv8fTT
ΠΈΠ»ΠΈ ΠΏΠΎ [**Binance**](https://accounts.binance.com/register?ref=200640624 ) **ID** **200640624** ΡΠ΅ΡΠ΅Π· Π±ΠΈΡΠΆΡ (Π±Π΅Π· ΠΊΠΎΠΌΠΈΡΡΠΈΠΈ)
ΠΈΠ»ΠΈ ΠΏΠΎ [**Bybit**](https://www.bybit.com/invite?ref=KXLXXE%230 ) **UID** **112927970** ΡΠ΅ΡΠ΅Π· Π±ΠΈΡΠΆΡ (Π±Π΅Π· ΠΊΠΎΠΌΠΈΡΡΠΈΠΈ)
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
1) Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±:
```shell
pip install backtrader_binance
```
ΠΈΠ»ΠΈ
```shell
git clone https://github.com/WISEPLAT/backtrader_binance
```
ΠΈΠ»ΠΈ
```shell
pip install git+https://github.com/WISEPLAT/backtrader_binance.git
```2) ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ backtrader ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² Π½Π΅ΠΌ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ). Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ:
```shell
pip install git+https://github.com/WISEPLAT/backtrader.git
```
-- ΠΠΎΠ³Ρ Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ binance Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ backtrader?-- ΠΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ backtrader, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ backtrader ΠΎΠ΄ΠΎΠ±ΡΠΈΠ» Π²ΡΠ΅ ΠΌΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΎΡ ΡΡΡΠ»ΠΊΠ°: [mementum/backtrader#472](https://github.com/mementum/backtrader/pull/472)
3) Π£ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ:
```shell
pip install python-binance backtrader pandas matplotlib
```ΠΈΠ»ΠΈ
```shell
pip install -r requirements.txt
```### ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ Π»Π΅Π³ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ°Ρ **DataExamplesBinance_ru** ΠΈ **StrategyExamplesBinance_ru**.ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ API ΠΊΠ»ΡΡ ΠΈ Secret ΠΊΠ»ΡΡ, ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ **ConfigBinance\Config.py:**
```python
# content of ConfigBinance\Config.py
class Config:
BINANCE_API_KEY = "YOUR_API_KEY"
BINANCE_API_SECRET = "YOUR_SECRET_KEY"
```#### ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Binance API:
1. ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π½Π° [Binance](https://accounts.binance.com/register?ref=200640624 )
2. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» ["Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ API"](https://www.binance.com/en/my/settings/api-management?ref=CPA_004RZBKQWK )
3. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "Π‘ΠΎΠ·Π΄Π°ΡΡ API" ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ".
4. Π ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ API" Π²ΠΊΠ»ΡΡΠΈΡΠ΅ "ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΏΠΎΡΠΎΠ²ΡΡ ΠΈ ΠΌΠ°ΡΠΆΠΈΠ½Π°Π»ΡΠ½ΡΡ ΡΠΎΡΠ³ΠΎΠ²Π»Ρ".
5. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ Π² ΡΠ°ΠΉΠ» **ConfigBinance\Config.py** ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ **"ΠΠ»ΡΡ API"** ΠΈ **"Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ"**#### Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π ΠΏΠ°ΠΏΠΊΠ΅ **DataExamplesBinance_ru** Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΈΡΠΆΠ΅Π²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ [Binance](https://accounts.binance.com/register?ref=200640624 ).
* **01 - Symbol.py** - ΡΠΎΡΠ³ΠΎΠ²Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ "ΠΆΠΈΠ²ΡΡ " Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΡ
* **02 - Symbol data to DF.py** - ΡΠΊΡΠΏΠΎΡΡ Π² csv ΡΠ°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΡ
* **03 - Symbols.py** - ΡΠΎΡΠ³ΠΎΠ²Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΡ
* **04 - Resample.py** - ΡΠΎΡΠ³ΠΎΠ²Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠ°ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠ° Π² Π±ΠΎΠ»ΡΡΠΈΠΉ
* **05 - Replay.py** - Π·Π°ΠΏΡΡΠΊ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π½Π° ΠΌΠ΅Π½ΡΡΠ΅ΠΌ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠ΅, Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π½Π° Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π³ΡΠ°ΡΠΈΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π°
* **06 - Rollover.py** - Π·Π°ΠΏΡΡΠΊ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π½Π° ΡΠΊΠ»Π΅ΠΉΠΊΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Ρ Π±ΡΠΎΠΊΠ΅ΡΠ°
* **07 - Get Asset Balance.py** - ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° ΡΠΈΠΊΠ΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ΅ΡΠ΅Π· API Binance
* **08 - Timeframes.py** - ΡΠΎΡΠ³ΠΎΠ²Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌΠ°ΠΌ
* **09 - Get Asset Info.py** - ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π΅: Π±Π°Π»Π°Π½Ρ, ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΡΠ°, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π³ ΡΠ΅Π½Ρ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΈ Ρ.Π΄.
* **09 - Get Asset Info - no Decimal.py** - ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π΅: Π±Π°Π»Π°Π½Ρ, ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΡΠ°, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π³ ΡΠ΅Π½Ρ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΈ Ρ.Π΄.
* **09 - Get Asset Info - through client.py** - ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π΅: Π±Π°Π»Π°Π½Ρ, ΡΠ°Π·ΠΌΠ΅Ρ Π»ΠΎΡΠ°, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π³ ΡΠ΅Π½Ρ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΈ Ρ.Π΄.
* **10 - Get Historical Data.py** - ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ binance Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°.
* **Strategy.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΈΠΊΠ΅ΡΡ/ΡΠΈΠΊΠ΅ΡΠ°ΠΌ OHLCVΠ ΠΏΠ°ΠΏΠΊΠ΅ **StrategyExamplesBinance_ru** Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ.
* **01 - Live Trade - Just Buy and Sell.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π² live ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ETH Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΠΡΠ΄Π΅Ρ ΠΏΠΎ Π ΡΠ½ΠΊΡ ΠΈ ΠΠΈΠΌΠΈΡΠ½ΡΠΉ ΠΎΡΠ΄Π΅Ρ ΠΈ ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΠΎΡΠ΄Π΅Ρ.
* ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ Binance ΠΈ ΠΈΡ ΡΠ½ΡΡΠΈΠ΅.
* ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ! ΠΡΠΎ live ΡΠ΅ΠΆΠΈΠΌ - Π΅ΡΠ»ΠΈ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π½Ρ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 5% - ΠΎΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½....
* ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ! ΠΠ»Ρ ΠΎΡΠ΄Π΅ΡΠ° ΠΏΠΎ Π ΡΠ½ΠΊΡ - ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½....
* **ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠ° ΡΠ½ΡΡΡ Ρ Π±ΠΈΡΠΆΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ!*** **01 - Live Trade.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π² live ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² BTC ΠΈ ETH Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ Binance ΠΈ ΠΈΡ ΡΠ½ΡΡΠΈΠ΅.
* ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ! ΠΡΠΎ live ΡΠ΅ΠΆΠΈΠΌ - Π΅ΡΠ»ΠΈ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π½Ρ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 5% - ΠΎΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½....
* **ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠ° ΡΠ½ΡΡΡ Ρ Π±ΠΈΡΠΆΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ!*** **02 - Live Trade MultiPortfolio.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π² live ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΈΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠΌ (BTC, ETH, BNB) Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ Binance ΠΈ ΠΈΡ ΡΠ½ΡΡΠΈΠ΅.
* ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ! ΠΡΠΎ live ΡΠ΅ΠΆΠΈΠΌ - Π΅ΡΠ»ΠΈ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π½Ρ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 5% - ΠΎΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½....
* **ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠ° ΡΠ½ΡΡΡ Ρ Π±ΠΈΡΠΆΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ!**
* **03 - Live Trade ETH.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π² live ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² BNB ΠΈ XMR Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ ETH.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ Binance ΠΈ ΠΈΡ ΡΠ½ΡΡΠΈΠ΅.
* ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ! ΠΡΠΎ live ΡΠ΅ΠΆΠΈΠΌ - Π΅ΡΠ»ΠΈ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π½Ρ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 5% - ΠΎΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½....
* **ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠ° ΡΠ½ΡΡΡ Ρ Π±ΠΈΡΠΆΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ!**
* **04 - Offline Backtest.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠ° Π½Π° ΠΈΡΡΠΎΡΠΈΠΈ - Π½Π΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² BTC ΠΈ ETH Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* ΠΠ΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ!* **05 - Offline Backtest MultiPortfolio.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠ° Π½Π° ΠΈΡΡΠΎΡΠΈΠΈ - Π½Π΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΈΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠΌ (BTC, ETH, BNB) Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* ΠΠ΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ!* **06 - Live Trade Just Buy and Close by Market.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π² live Π΄Π»Ρ ΡΠΈΠΊΠ΅ΡΠ° ETH Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΠΏΠΎ ΡΠ΅Π½Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΡ ΠΏΠΎ ΡΡΠ½ΠΎΡΠ½ΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ETH ΡΠ΅ΡΠ΅Π· 3 Π±Π°ΡΠ°.
* ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅ΡΠΎΠ² Π½Π° Π±ΠΈΡΠΆΠ΅ Binance.
* **ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅ΡΠ° Ρ Π±ΠΈΡΠΆΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ!*** **07 - Offline Backtest Indicators.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠ° Π½Π° ΠΈΡΡΠΎΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² SMA ΠΈ RSI - Π½Π΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² BTC ΠΈ ETH Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ΅ΡΠ΅ USDT.
* Π ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (SMA, RSI) ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* Π³Π΅Π½Π΅ΡΠΈΡ 177% Π΄ΠΎΡ ΠΎΠ΄Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΈΠ΄Π΅ΠΎ ))
* ΠΠ΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π±ΠΈΡΠΆΡ!* **08 - Offline Backtest Margin Trade with Leverage 50x - Linear Trade.py** - ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΠΆΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π΅ΡΠ° 50x Π΄Π»Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π±ΡΠΊΡΠ΅ΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² SMA - Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ - Π΄Π»Ρ Π΄Π²ΡΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² BTC ΠΈ ETH Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΊΠ΅ΡΠ° USDT.
* Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ SMA ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠΊΠ΅ΡΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
* Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ 792% Π΄ΠΎΡ ΠΎΠ΄Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°
* ΠΠ΅ live ΡΠ΅ΠΆΠΈΠΌ - Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ΄Π΅ΡΠΎΠ² Π½Π° Π±ΠΈΡΠΆΡ!!
* Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΆΠΈΠ½Π°Π»ΡΠ½ΡΡ ΡΠΎΡΠ³ΠΎΠ²Π»Ρ Ρ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΠΌ ΠΏΠ»Π΅ΡΠΎΠΌ 50x Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡ.
```commandline
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Was money: 2000.00
Ending Portfolio Value: 17853.46
Remaining available funds: 4887.38
Assets in the amount of: 12966.082000.00 ==> 17853.46 ==> +792.67%
SQN: AutoOrderedDict([('sqn', 1.0031776139642996), ('trades', 4)])
VWR: OrderedDict([('vwr', 25.613023915870777)])
TDD: OrderedDict([('maxdrawdown', 65.77087178559279), ('maxdrawdownperiod', 304)])
DD: AutoOrderedDict([('len', 6), ('drawdown', 20.46618403019286), ('moneydown', 229.70872494394746), ('max', AutoOrderedDict([('len', 304), ('drawdown', 65.77087178559279), ('moneydown', 295.8359186842)]))])
AR: OrderedDict([(2021, 0.0), (2022, -0.42822236821405035), (2023, 4.540830244681184), (2024, 1.8176719585784271)])
Profitability: OrderedDict([('rtot', 2.1890502317806253), ('ravg', 0.0022178827069712515), ('rnorm', 0.7487590850582526), ('rnorm100', 74.87590850582527)])
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
```## Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
- backtrader: ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ ΠΊΠ»Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°!
- [python-binance](https://github.com/sammchardy/python-binance ): ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Binance API, ΡΠΎΠΊΡΠ°ΡΠ°ΡΡΠ΅ΠΉ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ.
- lindomar-oliveira Π·Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄## ΠΠ°ΠΆΠ½ΠΎ
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ!**ΠΡΡΡΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ!**
# Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° backtrader_binance ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Backtrader ΠΈ Binance API - ΡΡΠΎ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°** ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ** ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ·Π°Π½ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠ°Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ** ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Β«ΠΠ°ΠΊ Π΅ΡΡΡΒ» (Β«AS ISΒ»). ΠΠΈΠΊΠ°ΠΊΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΡΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΡΡ Π½Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠ²ΡΠΎΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ Π΄Π°Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ** Π±ΡΠ»ΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π°Π²ΡΠΎΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ Π½Π΅ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π·Π°
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ**, Π²ΠΊΠ»ΡΡΠ°Ρ, Π½ΠΎ, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ Π»ΡΠ±ΡΠΌ ΡΡΠ΅ΡΠ±ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ,
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ·Π²Π°Π½Π½ΡΠΌ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ**, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π° Π»ΡΠ±ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ,
ΠΏΠΎΠ½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ**.
ΠΠΈΠΊΡΠΎ Π½Π΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π΅Π½ Π·Π° ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ±ΡΡΠΊΠΈ, ΡΡΠ΅ΡΠ±, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΉ, ΡΠΏΡΡΠ΅Π½Π½ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ, ΠΏΠΎΡΠ΅ΡΡ Π΄ΠΎΡ ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ,
ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ **ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ**.**ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°** ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ [MIT](https://choosealicense.com/licenses/mit).