UNPKG

gdax-sim

Version:

Simulator used to help unit test and back test various Coinbase-Pro (gdax) interactions.

78 lines (58 loc) 2.01 kB
# gdax-sim Simulator used to help unit test and back test various Coinbase-Pro (gdax) interactions. ## Install ``` npm i gdax-sim ``` ## Backtest Reads data from saved candle objects and spits out matches 4 matches, one for open, one for the high, one for the low, and one for the close. - If open >= close, the high will be 'sent' second and the low third - If close > open, the low will be 'sent' second and the high third - Settings to change this will come later - Dispatches matches and dones based off of user orders to better replicate actual behavior - If there is a gap in teh data the time is filled with 1 heartbeat message per minute ## Example Code ``` const ApiSim = require('gdax-sim) let gdax = new ApiSim({ quote_balance: 10, base_balance: 10, taker_fee: 0.5, hour_start_on: 30, }); //set base account (quote_balance-base_balance) taker_fee (in %), an when to start hourly candles gdax.pair = 'LTC-USD';//set the name of the pair gdax.websocketClient.on('message', (data) => { //your code to handle behavior upon recieving a message on the websocket }); //function to run after all mesages generated by the specific data set have been disbatched gdax.afterSession = () =>{ console.log(gdax.user.fiatBalance, gdax.user.cryptoBalance); } //start the backtest gdax.backtest(require('./TestData/LTC/27Nov2018.json').{ start_time: "0000", //starts candles and events when >= end_time: "2460" //stops when 24 hour time is less than }); ``` ## Currnet API Endpoints - Buy - limit and market - Sell - limit and market - cancelOrder - limit only - getOrder - getHistoricRates - takes 'granularity' - takes 'end' ### Coming Soon - Get Accounts - Get Balance - Multi-asset web socket ## Unit Test Done using a global install of Mocha ``` gdax-sim> mocha ``` ## Dev Blog [DownToCrypto.com](https://downtocrypto.com)