Giter Site home page Giter Site logo

gdax-multipong's People

Contributors

msolters avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gdax-multipong's Issues

Partial buys freeze bucket movement

When a buy is partially filled, and the market moves up, sometimes the buys don't move up with it. Today, the market was up to $9650, but the buys stuck' with a partial fill at 9408, and didn't move. "R"e-reading the config doesn't solve it, exiting and restarting does.

Orphaned Sells

Example:
"min_price": 7000.00
"max_price": 7030.00

Buys that take place at 7029.xx will never post up as a sell, since the sell price is over the max price. Instead they get "orphaned" and are never sold.

Suggestion, ignore that logic, post the sell at the offset price, regardless of the buy price, or at least use the same logic to test ( gdax.midmarket_price.current + 1*settings.bucket_width ) as you do to post the sell.

Not Found (404) trades not canceling

I originally posted on another tread, but the more I look at this issue, the more I think it's unique, so I'll open a new ticket, and try to edit my comments on the other thread.

So the API returns a "NotFound" - which does appear in the JSON. The GDAX console log shows:

23:35:20 {"response":{"statusCode":404,"body":"{"message":"NotFound"}","headers":{

However, when I try to echo out the contents of data.message to the log, it comes back empty.

let data
try {
data = await gdax.get_order_by_id( order_id )
} catch( e ) {
ui.logger('gdax_log', JSON.stringify(e))
// TODO: analyze failure modes
}

//my new lines
ui.logger('sys_log', Trade ${trade.trade_id} Parsing )
ui.logger('sys_log',Message ${data.message} )

23:35:19 Trade 00c46bca-d0ae-4458-8f50-39fa4a694372 Parsing
23:35:19 {}

My current theory, gdax.js isn't handling "NotFound" correctly. I think the matching code is here:

/**
* Get information about an order from GDAX by it's ID
*/
const get_order_by_id = exports.get_order_by_id = ( order_id ) => {
return new Promise( (resolve, reject) => {
gdax_private.getOrder( order_id, (error, response, data) => {
if( error ) {
reject( error )
return
}
resolve( data )
} )
})
}

gdax-node API says:

If the order is canceled the response may have status code 404 if the order had no matches.

Is Profit, Cash on Hand, Net Change Right?

Hey,

Thanks for putting together this awesome tool! It's been a real treat!

I'm not sure if something is off with my database or if I'm losing money, so I'd just like to make sure:

  • Even when multipong is running, I've made trades on GDAX.com
  • It says my profit is -14806.12 but I don't even have anywhere near there
  • It says my cash on hand is -10359.17, but same idea. Is this the value from GDAX.com?
  • The fees is the only one that looks correct because I can calculate it

When I pull down my FILLED orders as a CSV and add them up, I'm assuming I'm getting the total amount of money that was bought vs. sold and not the profiit right?

Sorry for these noob-ish questions but hopefully you can provide some insight!

I'd be happy to help adjust these values if they're right / wrong.

Perhaps I'm just reading them wrong?

Thanks again!

Trade Fills Sometimes Not Detected

Sometimes (especially when the market is extremely active) a buy or sell is filled, but the bot misses the websocket message.

Two double-checks should be implemented:

  • If the midmarket price falls one bucket or more beneath a trade's buy price, and it's still not full, sync it.
  • If the midmarket price rises one bucket or more above a trade's sell price, and it's still not complete, sync it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.