1broker-client
v2.11.1
Published
node.js wrapper for 1broker.com api, providing extra features
Downloads
803
Maintainers
Readme
1Broker-client
####This is a node.js wrapper for 1Broker's API, this package is mainly used and maintaned by @telebroker_bot an incredible bot to open orders and manage trades directly from Telegram !!!
####Join us at 1Broker Trollbox for some trades and trolling, feel free to use the group to ask anything about the bot, this library, 1Broker or even about the markets!
This library implements all 1Broker API methods and also a couple extra features:
- Stop Loss and Take Profit can be specified using % when opening orders
- Stop Loss and Take Profit can be specified as Points when opening orders
- Option to use "MAX", "HALF" or "QUARTER" as leverage, so it will dynamically adjust based on market leverage.
- Market information is cached on details.json allowing quick and smart calculations, for instance:
- How many points you making in your position?
- At what value will a reach that many points?
- How many percent a given difference represents with a given leverage?
- I want to use all those features together when creating a new orders
Telegram bot
All this functionality from this library is available through @telebroker_bot for Telegram, this way you don't have to run commands from your command line, using the bot all the magic is worked out for you and you get some sort of neat REPL which is tons of fun!
I also created a Thread on reddit to speak about it, i'll hopefully keep improving the bot and keeping reddit up to date with the features.
Feel free to contact me there or open a new issue!
Installing
npm install --save 1broker-client
Unfortunately new versions might break backwards compatibility so please make sure you specify a version on your package.json file.
basics
All functions take "callback" as last parameter:
OneBroker = require( "1broker-client" )
client = OneBroker( "YOU_API_KEY" )
client.user.overview( function( error, overview ) {
if( error ) return console.error( error );
console.log( overview );
} );
Functions which need parameters will take them as object, for instance:
client.market.quotes({
symbols: "BTCUSD,GOLD"
}, function( error, quotes ) {
console.log( quotes );
});
All methods from API V2 have been implemented
client.user.details( callback )
client.user.overview( callback )
client.user.bitcoin_deposit_address( callback )
client.user.transaction_log( params, callback )
client.user.quota_status( callback )
client.order.cancel( params, callback )
client.order.create( params, callback )
client.order.open( callback )
client.position.open( callback )
client.position.edit( params, callback )
client.position.close( params, callback )
client.position.close_cancel( params, callback )
client.position.history( params, callback )
client.market.categories( callback )
client.market.list( params, callback )
client.market.details( params, callback )
client.market.quotes( params, callback )
client.market.bars( params, callback )
client.market.ticks( params, callback )
For full API documentation please refer to the Official API
examples
Simple examples are provided on the /examples folder, including the % Stop Loss and Take Profit syntax.
Before running the examples you will need:
Api Token ( Create one in Settings )
Coffee-Script
npm install coffee-script --global
Download the example files
$ git clone https://github.com/flyingunicorn222/1broker-client.git
$ cd 1broker-client/
$ npm install
$ cd examples
- Edit .env file and update with your key
# .env
KEY=Ac17f4de5...................b69a
Now you can run examples, for instance:
$coffee long_eurusd.coffee
or
$coffee short_btcusd.coffee
Examples source code is pretty simple, please go ahead an explore!
===
I'm also developing more extra functions, called "helpers" which will hopefully simplify the implementation of mechanical tasks.
todo
- [x] Simple implementation
- [x] Examples
- [x] Tests
- [ ] More Tests
- [ ] Extra methods ( long, short, close, reverse, [...] )
- [ ] Documentation
- [ ] Parameters validation
- [ ] Please create an issue if you need something else
contributing
coding
The source code is also pretty simple and self explainatory so feel free to edit and submit a pull request.
At the moment more tests are needed, hopefully using sinon.js so all tests could run offline and without spending coins!
beta testing
Pretty much all features ( and even more ) are available through our bot, some of the more advanced features are still being beta tested if you think you are savy enough for some phun get in touch for some beta action!
reports and requests
Please open an issue!, it will be highly appreciated.
donate
You can donate to support this library and more freebies! a few happy users already donated and shown their love, the helped is much appreciated and needed as a lot of work is being invested on this library!
BTC: 1AsB6GtqUjHrLRXBzA19RMYyD7G9aVARbx
get in touch
Feel free to send me a message on reddit, I'm flyingunicorn222 or open an issue!
thanks to
meowgorithm / scarf / warren / flibbr / crypt / earth / cache for the hardcore beta test and support
[email protected] for the awesome support and endless tests and talks
Nick ( @Bitpie ) from 1Broker for the support on the 1Broker Trollbox
1Broker for the awesome platform, fingers crossed for even more success!
disclaimer
Altough this isn't an official 1Broker client, they provided great support and cleared all questions, very kind and great support!
The goal of this library is to not only implement all current API methods but also add extra features to help traders all around, most of the extras are on the /helpers folder
By default when creating an order this library will use my referral_id, that means I'll receive a small amount of BTC from 1Broker when you create an order! Please keep it this way so i can keep working on improving and keeping the code up to date, thanks to 1Broker for such a deal, without this i wouldn't be able to order late night pizzas.
1broker links on this documentation constains my referral link, in case you still don't have an account please use the links provided.