Show Posts
|
Pages: [1] 2 »
|
A big thank you to all the Contributors that made this release possible! XChange is a Java library providing a unified API to all the major Bitcoin exchanges including: - MtGox - polling and streaming market data, trading and account data
- VirtEx - polling market data
- BTC-E - polling market data, trading and account data
- Bitstamp - polling market data, trading and account data
- CampBX - polling market data, trading and account data
- Bitcurex - polling market data
- BTC-China - polling market data, trading and account data
- Kraken - polling market data, trading and account data
- BitcoinCharts - polling market data (Bitcoin Exchange Rates)
- OpenExchangeRates - polling market data (Fiat Currency Exchange Rates)
- Blockchain Info - polling market data (Bitcoin Address Information)
Some more links: * 1.9.0 Release Blog Article - http://blog.xeiam.com/2013/10/xchange-190-released.html* Change Log and Jars - http://xeiam.com/xchange_changelog.jsp* Example Code - http://xeiam.com/xchange_examplecode.jsp
|
|
|
Just a thought but it seems BTCe is broken by design. Their API spec shows only limit orders, and xchange sends only market orders. This causes the following error it appears. java.lang.UnsupportedOperationException: Market orders not supported by BTCE API. at com.xeiam.xchange.btce.service.trade.polling.BTCEPollingTradeService.place MarketOrder(BTCEPollingTradeService.java:68)
Possibly altering the order to actually complete by making it a limit order would be great. All exchanges in XChange also have a placeLimitOrderMethod.
|
|
|
If you have any land or a house for sale in Oberbayern, I'd be interested.
|
|
|
Highlights of this release are MtGox streaming, dependencies on ResCU and Java-Websockets, and many bugfixes. Bitcoin-24, Bitfloor, and BitcoinCentral were dropped as well. Official Announcement is here. Change Log is here. Many thanks to the new contributors who helped make this release possible! XChange is an open-source financial exchange library for Java.
|
|
|
Version 1.5.0 was released today. Mainly, we added three more exchanges: Bitcoin-24, BitcoinCentral, and Bitfloor. Thanks to everyone who contributed code and worked on other issues! The current list of supported exchanges:- Bitcoin24 - polling market, trades, and account data
- BitconCentral - polling market, trades, and account data
- Bitfloor - polling market data
- MtGox - polling and streaming market data, authenticated trading
- Bitstamp - polling market data, authenticated trading
- BTC-E - polling market data, authenticated trading
- VirtEx - polling market data
- CampBX - polling market, trades, and account data
- BitcoinCharts - polling market data (Bitcoin Exchange Rates)
- OpenExchangeRates - polling market data (Fiat Currency Exchange Rates)
Announcementhttp://blog.xeiam.com/2013/03/xchange-150-released.htmlChange Loghttp://xeiam.com/xchange_changelog.jspOpen Source Code (MIT license)https://github.com/timmolter/XChangeWiki on GitHubhttps://github.com/timmolter/XChange/wikiArtifacts on Maven Centralhttp://search.maven.org/#search%7Cga%7C1%7Cxeiam%20xchangeFeedback is appreciated!!https://github.com/timmolter/XChange/issues
|
|
|
I love the new layout. And I especially like seeing Multibit first on the client list. I remember first trying the "default" client only to get very frustrated, but when I later tried out MultiBit it was smooth sailing.
|
|
|
Hi Freemoney,
I think you're right. The next logical step would be to create an app, where one could buy and sell Bitcoin (and eventually other forex, stocks, futures, etc.) from several different exchanges. The GUI would give you an overview of all your accounts and quick access to place orders, transfer funds, etc.
If someone is planning on doing this in a Java desktop app or Android app, using XChange would give them a huge base to work off of.
Cheers, Tim
|
|
|
Good stuff - that caching simplifies what I have to do as I then don't have to worry if I am hitting the server too often.
Here's some example code from the xchange-examples jar to demonstrate using the api key and requesting the data from OpenExchangeRates: // Use the factory to get the Open Exchange Rates exchange API ExchangeSpecification exchangeSpecification = new ExchangeSpecification("com.xeiam.xchange.oer.OERExchange"); exchangeSpecification.setUri("http://openexchangerates.org"); exchangeSpecification.setApiKey("ea88c922bca263ba9345b4717914ee1f"); Exchange openExchangeRates = ExchangeFactory.INSTANCE.createExchange(exchangeSpecification);
// Interested in the polling market data feed PollingMarketDataService marketDataService = openExchangeRates.getPollingMarketDataService();
// Get the latest ticker data showing EUR/USD Ticker ticker = marketDataService.getTicker(Currencies.EUR, Currencies.USD); System.out.println("Last: " + ticker.getLast().toString());
// Request another ticker JPY/USD. it will return a cached object ticker = marketDataService.getTicker(Currencies.JPY, Currencies.USD); System.out.println("cached Last: " + ticker.getLast().toString());
...and the result... Last: EUR 0.752646 cached Last: JPY 88.740257
|
|
|
Ok - I will add in a little entry field and explanatory message box when I move up to this version.
OpenExchangeRates has 161 rates available so it is hardly any hassle for what you get.
Also, the 'best' polling time varies from exchange to exchange. For instance OpenExchangeRates updates hourly and with 1000 free polls per month it is pointless to poll faster than that. Is that available on the exchange metadata or will I have to hardcode it ?
Hi Jim, You can call getRefreshRate() on any exchange that implements CachedDataSession, such as OpenExchangeRates exchange, and it will give you the time in seconds representing the refresh rate for that particular data provider. CachedDataSessions cache the data internally as well, and make sure to only call out for new data at an appropriate interval. Another example of this is bitcoincharts. The refresh rate for that one is 15 minutes. I hope that helps!
|
|
|
Great stuff Tim !
A question: for the OpenExchangeRate exchange, does it need a per-user authentification code ? (the open exchange rate anti-spam measure).
Yes, each user needs an authentication code which they can get for free by signing up at OpenExchangeRates ( https://openexchangerates.org/). The free version limits you to 1000 requests per month I believe.
|
|
|
Our Financial Exchange Library for Java, XChange, has seen a lot of active development since the previous release in October 2012. We went from 2 to 7 exchange implementations thanks mostly to the growing community starting to support the project more. Following is a list of the supported exchanges. More detailed info can be found here: https://github.com/timmolter/XChange/wiki/Exchange-Support, which includes planned future exchange implementations. - MtGox - polling and streaming market data, authenticated trading
- Bitstamp - polling market data, authenticated trading
- BTC-E - polling market data, authenticated trading
- VirtEx - polling market data
- CampBX - polling market data
- BitcoinCharts - polling market data (Bitcoin Exchange Rates)
- OpenExchangeRates - polling market data (Fiat Currency Exchange Rates)
In this release, we introduced a new and improved REST interface that sits between our exchange classes and the class responsible for fetching JSON. It also gives XChange clients access to the raw unmarshalled JSON data if they want it, which was something XChange needed for a long time. All exchange implementations have full-coverage unit tests. We've been able to reduce the number of dependencies a lot. One of the main focuses of XChange is to be very lightweight. Most notably is the outdated org.json jar. We dug into the Socket.io code, and painstakingly swapped out the old code with our already-used Jackson JSON code. This is good news for apps like Bitcoinium and Multibit, which both use XChange, for keeping their executable footprint small. Another major accomplishment with this release, is that the artifacts are now hosted on Maven Central. We're thinking about adding an arbitrage API within XChange next as the MtGox, BTC-E, and Bitstamp implementations all contain trading functionality. Open Source Code (MIT license)https://github.com/timmolter/XChangeWiki on GitHubhttps://github.com/timmolter/XChange/wikiProject Homehttp://xeiam.com/xchange.jspArtifacts on Maven Centralhttp://search.maven.org/#search%7Cga%7C1%7Cxeiam%20xchangeFeedback is appreciated!!https://github.com/timmolter/XChange/issues
|
|
|
Hi, I'd be happy to do the Exchange Bot, if no one else claimed it yet, or if whoever is attempting it fails. I'm the lead dev of the XChange OSS project: https://github.com/timmolter/XChangeCheers, Tim
|
|
|
Wir haben ein Open Source Java Library der XChange heisst: https://github.com/timmolter/XChangeDerzeit gibt es implementationen für: MtGox Bitstamp BTC-E CampBX CaVirtex OpenExchangeRates und BitcoinCharts. Cheers, Tim
|
|
|
Hi Jim! How did you ever find this post? It was pure chance. I was looking at the 'top level' forum page tonight and your post just happened to be one of the last five. I thought 'timmolter' - I recognise that name ! Serendipity! That's just crazy...
|
|
|
Hi Jim! How did you ever find this post?
|
|
|
I trade on Mt.Gox, but never leave a balance there, neither in $ nor BTC.
|
|
|
|