Bittrex™ is a US based digital currency exchange that supports about 200 crypto
currencies and partially free API access. With Zorro
S, the Bittrex API plugin can be used with or without a
Bittrex account; in the latter case only price data is available. Price
history is restricted to a few minutes, and currently not used by the Bittrex plugin.
For opening a Bittrex account, visit
https://bittrex.com/ and apply. Demo accounts are not available - you must
really deposit some bitcoin amount. You can set up the bitcoin symbol and the
number of decimals to display in prices in the account
list. For acessing your
account via API, you will need a public and a private key since all API
commands must be hash signed. The steps:
- Login to Bittrex and click the Settings tab in
- Select 2-Factor Authentication on the left.
Now a QR code will appear on your screen with instructions.
- On your smartphone, start the Google Authenticator
app. Click the pencil icon in the top right, click Scan
Barcode, and hold the phone camera up to the QR code on the screen.
This will scan the image and then provide a code token to be entered.
- On the PC, enter the code token in the field and click
Submit. You will now have 2-Factor Authentication
- Go back up to the Settings page and click on API Keys. Click on Add New Key to create your
- Select the permissions of the key. For trading, enable "READ INFO",
"TRADE LIMIT", and "TRADE MARKET". Withdrawal permission is not necessary.
- Now enter your latest 2-Factor Authentication code token as above, and
press Update Keys. You will now be displayed your
API key and the private key, named 'Secret'.
- Enter these keys in the User and Password
column of your account list (or alternatively, memorize them).
You're now all set to trade with the Bittrex plugin. The plugin uses API
||Bittrex API key, or empty for accessing live prices only
||Bittrex Secret, or empty for accessing live prices only
Bittrex asset symbols
Bittrex requires symbols in the form BTC-XXX, where BTC is the account
currency and XXX the currency to trade (the other way around than normal forex
pair symbols). Currency pairs in the form XXX/BTC are automatically converted,
otherwise the symbol must be entered in the symbol column in the asset list. An asset list AssetsBittrex.csv with
about 100 main cryto currencies is included. A list of available assets can be
retrieved through the URL
Supported broker commands
The Bittrex plugin supports the brokerCommand function with the following commands:
More commands, f.i. for retrieving order book data, can be implemented on user request.
Known Bittrex API issues
- Price data. Only a few minutes are available
with API 1.1,
so when trading systems need price history, it must be downloaded with API
2.0 by calling the FROM_BITTREX
assetHistory function. For getting live volume, use the
SET_VOLTYPE command with parameter 4.
- Asset parameters. All data besides spread and price must
be manually entered in the asset list. Commission is usually 0.25% of the
asset value. The PIP size and LotAmount can
be set arbitrarily, since Bittrex has no minimum lot size, but a minimum trade
volume; on error messages like DUST TRADE DISALLOWED MIN VALUE 50K
increase the trade volume or the LotAmount in the asset list.
Make sure that PIPCost is adapted to LotAmount.
Example asset list entry:
- Order filling. API 1.1. only supports limit orders.
If OrderLimit is not set, the current price is used.
Orders can be immediately filled, partially filled, or not filled at all. If
the order is not filled within a certain time (to be defined with
SET_WAIT), it is cancelled and the limit can
be adapted for the next try. If it is partially filled, the
TradeLots and TradeUnits
values of the open trade are accordingly adapted. Positions can be read with
the GET_POSITION command.
- Compliance. Bittrex requires the NFA
flag. Only long positions are supported; for short trades the account must
already contain a sufficient position of the asset. Otherwise an error message like
INSUFFICIENT FUNDS is issued.
- Trade Tickets. Bittrex uses a UUID, a long string,
instead of an ID number. The plugin deals with them internally, and generates
pseudo trade IDs with a counter.
- Trading hours. Bittrex trades 24/7. Still, it makes
sense to exclude the weekend from trading, since trades seem to happen more
randomly at that time and strategies tend to be unprofitable.
- Trade and account parameters. Trade profit is not
available via API and estimated by Zorro from the trading costs entered in the
asset list. Account requests return the BTC balance by default (the account
currency can be set up in the Account column of the account list). The balance is
reduced by opening a long position, and increased by closing the position.
Equity is estimated by Zorro through summing up the open trades. Example
account list entry:
- INVALID_APIKEY. This error message appears from time to
time in random intervals. It is a known issue of the Bittrex
server, and can be ignored at the moment. If an order fails due to that
message, it must be repeated. The Bittrex support is aware of the issue, but
a solution is not in sight. For an apparently similar reason, account
balance requests fail from time to time, and return a HTML error message.
Links, order, brokers, broker plugin,
MT4 bridge, IB bridge, FXCM plugin
► latest version online