-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Hotfix make sure bitfinex importer fetches all trades #2354
Conversation
"importer uses BFX V2 API, live trader uses V1" |
In your tests, can you reproduce it for any candle that is not the initial
one?
…On Mon, 23 Jul 2018, 17:52 3pm, ***@***.***> wrote:
"importer uses BFX V2 API, live trader uses V1"
Don't think this is an issue. Because in my tests both live processes
sometimes produced different result, but using the same API.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2354 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA7MD0KkyCtM55AjIj6RTKuMtnBTVvpoks5uJZzkgaJpZM4VaeLx>
.
|
Sometimes bfx reponds with a 500 even though the input is wrong, for example:
|
This appears to be true, here are raw logs of the trades from the live trader (api v1) and the importer (api v2): Each line logs a trade as seen by Gekko: trade ID - hour & minute it was executed - price - amount LIVE TRADER
IMPORTER
In this snippet the first and last line of the live trader and importer have different minutes. Source of discrepancy
This means that a trade happening at ms timestamp: 1532350079[595] would be part of a different candle based on which API was used to fetch:
A few weeks back I was trying to port all gekko integration with bitfinex to their v2 API However I ran into some issues (such as this one bitfinexcom/bitfinex-api-node#321). @3pm please try this branch, I am unable to reproduce different candles for live gekkos (except for the first one). This PR makes the output of live VS import extremely similar, with some candles having tiny differences due to the issue above. Unfortunately there is not much we can do about it until we move bfx to their v2 api. |
* [docs] install indicator libs without updating package.json * add tulip example strat configs, see #2341 * uppercase default macd strat * temp revert bfx dep to main repo (fixes importer) * binance set default fee as percentage * rename bitx to luno (#2352) * v0.6 support for bitx (aka Luno) * v0.6 support for bitx (aka Luno) * remove log * move dependency to gb * rename bitx to luno * rename bitx to luno * make sure we pass amount as positive value * make sure we overlap when importing trades * rm 500 as retryable error, see #2354 * only try to set fee when live trading, see #2358 * make gekko pic path relative * make select arrow path relative * Fix method name for stratNotification event * make sure we parse both TS (backtest) & moment strings (live) * make sure GB throws errors * only render warmup warning when there is required history * v0.6.4 * fix plugin event wire warning * check portfolio data before calculating report (#2369) * Changed several log messages from debug to warn (#2374) Changed "Not creating order" message and "exchange did not provide fee info" from debug to warn messages so users can see these issues even when debug is set to false. * make sure we pass on exchange error (#2379) * fix backtest result exporter in standalone mode (#2382) * make sure to pass order id in cancel edge flow, fix #2386 (#2387) * Emit trade and trade errors via Telegram (#2385) * Emit trade and trade errors via Telegram * Added semi-colons Added missing semi-colons in processTradeCompleted and processTradeErrored methods. * Register methods only if set to true in config * catch undefined CPU cores on ARM (#2391) * export portfolio values as part of stratCandles (#2402) * rm space in backtest export file location * [GB/Binance] retry on 403 (#2404) * completely disable broken limit order for now, fix #2398 * rewire cancelfix cb, see #2386 * remove slack dependency that is triggering warnings (#2408) * move slack plugin dep out of main repo * remove twitter & pushbullet plugin dependencies from main repo (#2409) * move slack dependency out of main repo * rm slack dep from main repo * also remove pushbullet & twitter deps from main repo * use forked bittrex dep with updated dependencies (#2410) * use bittrex fork with updated deps * [GB] introduce optimizedConnection flag in binance * [GB] catch strange networking error * update binance market files, see #2406 * [GB] point to supported_exchanges doc * [GB] add example usage, fix #2414 * assume CF maintainance to be recoverable, fix #2407 * use npm version of of forked bittrex dep * catch gb init errors * [sqlite] wait for 10 seconds on busy * throw errors, not strings * [GB] update bfx & cf markets * Update Luno (#2417) * v0.6 support for bitx (aka Luno) * v0.6 support for bitx (aka Luno) * remove log * move dependency to gb * rename bitx to luno * rename bitx to luno * temp fix simultaneous advice error * - re-add logging - Retry insufficient balance due to server update delay - Enhanced getPorfolio - getOrder now return fees * update * update * update * revert 4b5d09f * v.0.6.5
Also some trades are not returned by v2 trades endpoint, and returned by v1 trades endpoint. But that only applies to 2015-and-older trades, so I guess it is not your case :) |
Should fix the issues described in #2307.
NOTE: while it currently already is an improvement (stores fatter candles with more trades) I am still seeing discrepancies with running this VS running a live trader on bitfinex.
I need to dig deeper, possible reasons: