Binance Extension
The Binance Extension for Wealth-Lab 8 offers the following integration points with Binance:
- Historical Data - daily, weekly, monthly, hourly, and minute bar intervals supported.
- Streaming Data - both streaming market data and push notifications on order status and balance updates.
- Binance Symbols DataSet - contains all of the supported symbols as delivered by Binance.
- Trading - Spot and Margin trading is supported, Futures will be considered for a future release based on customer demand.
Environments
The Binance Extension supports the following Binance environments:
- Binance.com
- Binance.us - Spot only, Margin not supported
- Binance Spot Test Network - some calls are not supported here, and historical market data is not usable for backtesting
Configuration
- Generate an API Key and a Secret Key using the instructions from the Binance Environment (follow the links above.)
- Select the Binance Broker in the WL7 Order Manager, and click Configure.
- Enter the API Key, Secret Key, the connection Environment, and Spot/Margin, press OK.
- Click Connect.
Position Sizing
If you are trying to sell your entire balance of a crypto, you may see a LOT_SIZE error. This is because of the Binance fees. To avoid this, don't try to sell 100% of a position, or maintain a balance of BNB in your Binance account, which Binance will use for fees before going to the sold asset.
DISCLAIMER:
The third party data is subject to the availability of the respective provider (website) and may be delayed or inaccessible periodically due to network or technical reasons. As the data is not guaranteed to be accurate, it is your responsibility to confirm that it does not contain errors before utilizing it for any type of backtesting or trading activities. Quantacula LLC is not to be held liable for any errors in market data or its inavailability.
Screenshots
Change Log
- CryptoExchange.Net.7.1.0 -> CryptoExchange.Net.7.5.2.
- Binance.Net.9.7.0 -> Binance.Net.9.9.7.
- Update to Binance.NET 9.7.0, CryptoExchange.NET 7.1.0.
- Standardize on CryptoExchange.NET 6.2.3.
- Maps 120+ minute intervals to corresponding hour increments so the requests for data do not fail.
- Update to CryptoExchange.NET 6.2.4.
- Target .NET8.
- Weekly+ Strategy orders will be submitted as GTC.
- Binance.Net.9.1.5 -> Binance.Net.9.2.0.
- CryptoExchange.Net.6.2.0 -> CryptoExchange.Net.6.2.3.
- Fixed exception when entering API Key, Secret Key.
- Update to CryptoExchange.Net.6.2.0,Binance.Net.9.1.5.
- Support new base class methods for returning SymbolInfo including decimals for a symbol.
- Adapt to Binance.Net (9.0.5).
- Fixed an initialization exception that caused the exception to surface while typing a symbol into the chart.
- Positions will synchronize using the decimal precision required to trade with respect to the Quote Base selected. Position quantity residuals less than a symbol’s precision will be ignored by WealthLab.
- Binance Margin Account connection has been removed
- Ignore 0-Quantity Binance Margin positions
- Fix: runtime error in BinanceConnection
- New! Specify a Quote Base currency (USD, USDT, BTC, etc.) for trading.
- CryptoExchange.Net.5.4.2 -> CryptoExchange.Net.5.4.3.
- Binance.Net.8.4.4 -> Binance.Net.8.5.1.
- Fixed - The number of Quantity Decimals on a per crypto basis was not always accurate (affected Position Sizing).
- Use latest CryptoExchange.NET library.
- Use latest CryptoExchange.NET version.
- Corrected tick size and security type for SymbolInfo assigned by Binance Historical Provider.
- Gracefully handle a historical request timeout
- Fix - don't update Streaming Bars with 0 volume if Binance's "Load Zero Volume Bars" is not checked.
- Added QuoteVolume, TradeCount, TakerBuyBaseVolume and TakerBuyQuoteVolume Named Series. You can access these in C# using the NamedSeries methods, or in a Chart or Building Block using the NamedSeries indicator. Requires a fresh data download from Binance, so delete your local files for Binance using the Data Manager, Historical Data Providers tab.
- Updated CryptoExchange components to version 5.3.
- Fixes an issue where partial bars may not be correctly detected for illiquid symbols.
- Fixed the "KlineInterval" error when selecting "60 Minutes" instead of "1 Hour" for the chart interval. Now either version can be selected.
- Fixed Binance Streaming Bars by correcting streaming bar timestamp for end-of-interval.
- Binance was rejecting stop orders with a TIF attached.
- Made order error text more verbose (API translation).
- Fixed a crosstalk issue when reporting batch updates.
- Note! Binance does not accept Stop orders for all symbols. In this case, you must use Stop-Limit orders.
- Configuration option to "Load Zero-Volume Bars". Previously, zero-volume bars were always loaded with historical charts. If you wish to continue seeing zero-volume bars in charts, enable this option. Otherwise, leave this option disabled and "Delete Local Files" for Binance to refresh the cache with 0-volume bars excluded.
- StopLimit order pricing issue fixed.
- Upgraded to Binance.Net Version 8.1.10:
- (Internal) ArgumentOutOfRangeException protection
- Added missing (and future) account types, fixes warnings being generated in SpotApi.Trading.GetExchangeInfoAsync
- Added SpotApi.ExchangeData.GetUiKlinesAsync endpoint
- Added 1 second kline interval support
- Added new Notional filter for BinanceSymbols
- Added Brokered to SpotApi.Account.GetAccountInfoAsync response model
- Added new endpoints: -- SpotApi.Trading.ReplaceOrderAsync -- SpotApi.ExchangeData.GetRollingWindowTickersAsync -- SpotApi.Account.GetBalancesAsync -- SpotApi.Account.GetMarginDustLogAsync -- SpotApi.Acocunt.PortfolioMargin endpoints
- Added rolling window ticker socket stream.
- Added ListenKey property to user stream updates.
- Fixed BinanceRebate quantity deserialization.
- Updated some request weights.
- Made an exception human readable.
- StopLimit Order Type support added (Build 13 required).
- CryptoExchange.Net.5.2.2.
- Updated CryptoExchange library version to 8.1.5.
- Data Providers are now more careful about checking Offline Mode before making web requests (requires WL8 Build 10+).
- Create "Positions" for coin Balances, to help support Portfolio Sync.
- Updated to new version of CryproExchange.net.
- Binance broker was not using the mapped symbol defined in Symbol Mappings.
- Adaptation for new LimitClose Order Type.
- Initial WL8 release.
- Fixed issue that caused a stuck CancelPending status in some installations.
- Changes to adapt to WL7 framework changes in Build 42.
- Fixed a connection error that caused download of coin precisions to fail.
- Round order prices to symbol precision.
- Fix for stop orders, certain symbols require StopLossLimit Binance orders rather than Stop orders.
- Fixed some issues related to connecting to the Spot Test Network.
- Fixed LOT_SIZE errors when placing sell orders.
- Avoid requesting entire intraday history when a Max Bars Data Range is selected.
- Added short circuit logic to avoid extraneous calls when unsupported symbols are requested.
- Minor changes to take advantage of better data loading mechanisms in WL7 Build 37.
- Fixed some internal Parameter handling routines.
- Fixed exception that ocurred when changing parameters.
- Extend end date requests one day into the future to account for different time zones.
- Active orders will now populate into the Order Manager when Binance Broker is connected.
- Initial release (beta).