Skip to content

Complete node.js client for 1Broker API, open sourced by @telebroker_bot for Telegram!

License

Notifications You must be signed in to change notification settings

flyingunicorn222/1broker-client

Repository files navigation

1Broker-client Build Status

####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:

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:

$ git clone https://github.com/flyingunicorn222/1broker-client.git
$ cd 1broker-client/
$ npm install
$ cd examples
# .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

  • Simple implementation
  • Examples
  • 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

Thanks!

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

  • patrick@1broker.com 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.