From v1.4.0
must be updated exch_srv_cfg.toml
The main difference is the development of the project for trading with many exchanges.
Next is adding a new module exchanges_wrapper/exch_srv.py
as a multiplexer layer, providing simultaneous async interaction for many accounts
and many trading pairs through one connection. It's powered by gRPC
Remote Procedure Call framework.
Warning. Coverage of overridden binance.py packages is significant but not complete.
Served methods describes into example/exch_client.py
- Covers general endpoints (test connectivity and get exchange information's)
- Covers market data endpoints
- Covers Account endpoints (create and manage orders)
- Covers user data stream (receive real time user updates)
- Covers web socket streams (receive real time market updates)
- Async support
- Auto reconnect after exchanges API or network failure
- Completely free and without limitations
- Multi exchanges support
- Adaptive algorithm to ensure maximum performance and avoid exceeding the rates limits
- Passthrough logging
- WSS keepalive
- Reuse session for new client sessions
- Utilizing Websocket API (bidirectional) for the most commonly used methods:
- Binance ws-api/v3
- Bitfinex Websocket Authenticated Inputs v2
- OKX WS v5
- Binance REST API and WSS are accepted as basic, connection of other exchanges wrapped their API to Binance compatible
- For other, some data cannot be obtained by directly calling one method, it is generated by a synthetic or calculation method
- Some exchanges have not any testing or "paper trading" features, therefore, application development and testing is possible only at real bidding. First, run applications on the Binance Spot Test Network or (Bitfinex, OKX, Bybit) test account.
-
Create account on Binance and get 10% discount on all trading fee
-
Create account on Bitfinex and get 6% rebate fee
-
Create account on HUOBI and get 10% cashback on all trading fee
-
Create account on OKX and get Mystery Boxes worth up to $10,000
-
Create account on Bybit and get exclusive referral rewards
-
For test purpose log in at Binance Spot Test Network
-
Create API Key
-
After install and create environment specify api_key and api_secret in
/home/ubuntu/.MartinBinance/config/exch_srv_cfg.toml
To install just run the following command:
pip install exchanges-wrapper
After first install create environment by run exchanges-wrapper-init
in terminal window.
The structure of the working directory will be created and the necessary files will be copied:
For Ubuntu it will be here: home/user/.MartinBinance/
For upgrade to latest versions use:
pip install -U exchanges-wrapper
- Run in terminal window
exchanges-wrapper-init
and
exchanges-wrapper-srv
- Use an example to study
- Copy example/ms_cfg.toml
to
/home/ubuntu/.MartinBinance/config/
and select (uncomment) desired exchange. Don't change exchange name. - Run example/exch_client.py in other terminal window
- Copy example/ms_cfg.toml
to
docker pull ghcr.io/dogstailfarmer/exchanges-wrapper:latest
The structure of the working directory will be created and the necessary files will be copied:
For Ubuntu it will be here: home/user/.MartinBinance/
docker run --rm --entrypoint /bin/sh exchanges-wrapper -c "cat ./exchanges_wrapper/__init__.py" > init.py && \
docker run --rm --entrypoint /bin/sh exchanges-wrapper -c "cat ./exchanges_wrapper/exch_srv_cfg.toml.template" > exch_srv_cfg.toml.template &&\
python3 init.py && rm init.py && rm exch_srv_cfg.toml.template
docker run -itP \
--mount type=bind,source=/home/ubuntu/.MartinBinance,target=/home/appuser/.MartinBinance \
--network=host \
--restart=always \
--name=exchanges-wrapper \
exchanges-wrapper
- Served methods and examples of their use are described at
example/exch_client.py
- For Protocol Buffers serializing structured data see
exchanges_wrapper/proto/martin.proto
USDT (TRC20) TN8F3Dz8BU8VwECRh3LTKi7FrsU8eWfsZz
Free trading system for crypto exchanges SPOT markets. Adaptive customizable reverse grid strategy based on martingale.