I'm on Windows 7 64-bit.
node -v 0.10.24
npm -v 1.3.21
If something is currently wrong with my OS (even though that's unlikely) I can try on AWS.
It appears to be a problem with nodejs or npm installation. If reinstalling those does not work, please try on AWS and let me know if that works.
----
Ahh, yours is the bot that freaked out when my bot made a mistake.
You may wish to read my post here and adjust your bot accordingly.
https://bitcointalk.org/index.php?topic=436289.0Seems like a lot of people are using your bot and it doesn't quite know how to handle itself when many other people are also using it. It seems like it went reactive the other day and all the instances sort of started piling on driving the price down. My advice is to at least have it broadcast intent into an IRC channel somewhere, so that your bots can see the logic and take defensive action rather than reacting to market price solely and directly.
Could you eleborate a bit more on how bots should deal with this situation? Specifically this part:
So guys, here's a tip. If you have a bot doing your trading on CEX.io, look at your thresholds and have it consider the whole order book along with depth, not just the "last" ticker (ticker is screwy anyways). Otherwise when I get around to rewriting this thing it's going to wipe you out.
Not quite sure what you mean by that.
Note that Gekko is not a start and watch autobot that you only have to turn on. It is an automation tool for traders who understand what they are doing. Currently Gekko supports multiple trendwatching indicators. If you are trading on a commodity exchange like CEX.io where it is known that the price of the asset will go down you should adjust your indicators accordingly to balance out the price devaluation not part of any trend (eg. sent the tresholds so that when the price goes down slowly this is not detected as any trend).
-----
[..]
More specifically, don't use ticker data at places like CEX.io where there is no actual ticker stream. And certainly don't make the assumption that the ticker represents the current market price. You aren't actually seeing real ticks. You are seeing "last" trades but only trades that have already executed.
You are going to be missing data and more importantly, you are going to be missing market intent.
This is because unlike MtGox, you don't get a live stream. You get a rate limited list of last trades based on a combination of your HTTP polling delay and how delayed CEX.io is in updating it's stream.
[..]
What you need to do instead is look at the complete order book and perform a differential analysis on that about once every 30 seconds to a minute. Then supplement it with ticker data. (Again this only applies to sites that do not provide an actual streaming ticker).
[..]
It's much more complex to do a differential analysis on the orderbook state, but the end result is a bot that is proactive rather than reactive.
This I understand, thanks for the warning! I will definitly look into this. The trenddetection parts is based on historical trade data (so the `trade_history` hcall), but the order price is based on the ticker data.
-----
First what an interesting piece of code. Keep up the good work. Is there any smart way to alter the bot to download the history candles from particular date back? I don't really fancy waiting while it downloads it in three days. More like the previous version.
Thanks, The reason you have to wait is because all exchanges removed the ability to fetch historical data (with the exception of mtgox, will add support for fetchinhg historical data here soon). Bitcoincharts is to unreliable.
I am working providing historical data as well as hosted Gekkos myself. Thouhg nothing I can share at this point yet.
-----
Hi
Im still cant use gekko for kraken even if i use npm update. I tryed the stable version for mtgox and it works well but i need only for kraken.
Here the log when i use npm update, there are some errors when it tries to rebuild
The Kraken dependency required something which was hard to install on Windows. I discussed this with the dependency mantainer and this problem
has been solved. Please try again!
------
hi,
1- is there any way i "upload" the bot in a webserver?
or maybe upload just the data harvester and in my computer i run the bot, so the bot read the data from the online server,
this way info is always accurate and the trading starts right after the bot starts... without days waiting to get data
2- i see that candles do not match any specific hour time, if you run a 5min candles, at 7:23
then candles are going to be of 7:28, 7:33, and so on... i want that the candles get round times
so if you select 5 min it match always the time of 7:05, 7:10, 7:15...
same for 15min,30min,1h,2h... it's possible?
3- why in the initial balance there is already a difference between "original simulated balance" and "current simulated balance" ?
the first notification at least shouldn't be the same one?
4- would be possible to select what to show in the profit simulator ? right now it show the balance in the selected currency
but i would like to see how many coins did the bot win, and not how many dollars...
i tried to put "USD" as asset and "LTC" as currency but its not allowed
5- time trades are not stable over time periods, i have just for test a 1min candle selected in the config, as i notice the bot gives advice within the seconds precision,
that should mean a stable second over all trades advices,
if it start at 23:59:44
all trades advice should be made in the "44" seconds time, don't they¿?
look... 44...58...00, 03 seconds...
1.
Yes you can run Gekko on a server, this is what most people are doing who run gekkos 24/7/365!
And no, currently not possible to have the harvester on a server and the rest on your pc without messing with the code (will make this process easier in the near future, also working on fully hosted Gekkos as a service). There is a way, but it requires some plumbing / hacking the code. Short story:
- Install redis on the server (with auth exposed to your pc).
- Configure the redis beacon plugin on the server Gekko to emit candles.
- Run another Gekko on your pc
- Hijack the Candle Manager so it relays candles from redis pub/sub on the server into your trade advisor (you would have to write these 10 lines of code).
2.
At the moment not possible to configure (will put this on the todo to add as a feature), the reason for this is to start at the minute we have enough history and to guard against manipulating close prices of hourly candles.
3.
You get the first notification after the first advice. The simulator has already simulated the first trade and had to pay fees and slippage for this new position.
4.
You can read all details
here in the docs, but the answer is: set `reportInCurrency` to false.
5.
Has to do with two things:
- Gekko does not refetch at exactly every 60 seconds, was around 60 seconds (now around 48 seconds).
- Gekko can only propogate candles once they complete, Gekko can only call candles complete once a trade has come in for the next minute (because of the APIs being slow, read
some more specific details here.)
-----
@whydifficult - I often ctrl-c gekko so I can manually trade without it disagreeing wildly in my face, but when the graph goes flat again and I fire Gekko up so I can stop trading, it has to recalc candles. IMO what it needs most is a hotkey to toggle the trader (during which it would keep running, advising, simulating, candle gathering, etc). Right now it's a lumpen cancel-changeconfig-restart scenario that resets sim trading values etc.
Only a few things stop the show so far - nonce increment fail, which t recovers from but only when the next trading advice is issued:
2014-02-09 08:57:05 (INFO): attempting to BUY <some> GHS at cex.io
2014-02-09 08:57:06 (ERROR): unable to buy: Nonce must be incremented
2014-02-09 10:57:14 (INFO): Trader Received advice to go short Selling GHS
and this not-too-esoteric error:
2014-02-06 17:06:13 (ERROR): unable to buy: { [Error: socket hang up] code: 'ECONNRESET' }
2014-02-06 17:06:29 (ERROR): unable to buy: { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' }
Happy to report that it can deal with all manner of esoteric balances though:
2014-02-06 19:16:12 (INFO): wanted to buy GHS but the amount is to small (-0.0004199288335019076) at cex.io
- Woow that is a really smart idea. Really want those toggles in there. I've put them on the todo now.
- I'll rename the error to something more sain, it means that CEX.io API is not responding correctly. So to clarify: when the unable to buy happened Gekko did not retry to buy?
- Awesome!
-------
Same error for me on two machines running Win 7 and Win XP. Gekko configured for MtGox works well, but that is (and probably will be) quite useless. I´d like to use Kraken instead.
EDIT: You can get microtime package at
https://github.com/wadey/node-microtime.git and try to install it manually, but it have something to do with latest MS SKD. I don´t have a time to solve this now
You don't have to anymore, the microtime dependency required compiling (which is not fun on Windows). I've persuaded the maintainer to remove the microtime module. Retry please!