Good Job! Also don't forget my remark on candlesticks, it would be good practice to save the open, high, low, close per interval instead of only the close you have now.
Will do, if something like talib (read below) will not become the standard I think I will abstract out a candle calculator based on current data fetcher so that trading methods can just request candle data from exchanges, that way I can do stuff like that way more easily.
Works stable, but log format changes too frequently ;-) BTW I've made some visualisations from log data for easier analysis. Currently after 1 day 6 hours time and 4 transactions I have -0.28% profit (-1.34 to 3.68 during that time) with market being ~ +1%. Not so bad ;-)
Awesome! I'm curious about the visualisations.
Installed flawlessly on my debian wheezy box with latest node. Let me know if I could help somehow.
I still haven't had the time to look into it, but this is what I'm getting on my mac:
building talib functions...
CXX(target) Release/obj.target/talib/src/talib.o
../src/talib.cpp:694:9: error: no matching function for call to 'uv_queue_work'
uv_queue_work(uv_default_loop(), req, ExecuteWork, ExecuteWorkDone);
^~~~~~~~~~~~~
/Users/mike/.node-gyp/0.9.3/deps/uv/include/uv.h:1355:15: note: candidate function not viable:
no known conversion from 'void (uv_work_t *, int)' to 'uv_after_work_cb'
(aka 'void (*)(uv_work_t *)') for 4th argument;
UV_EXTERN int uv_queue_work(uv_loop_t* loop, uv_work_t* req,
(and I think I got the same on my ubuntu system, not 100% sure)
Simple voting should do the job for now. With neural networks (what amazes me there's again a ready to use node library
https://npmjs.org/package/brain) you'll have to teach it with history as input (price and all methods) and deserved output (buy/sell) - this part may be the hardest job to do.
Woow that looks awesome, when I have the time I definitely will look into it!
+1 for backtesting and MACD, but use mysql or postgres as database engine if possible.
I prefer to keep Gekko as cross platform as possible and without a big dependency tree. Someone recommended levelDB as it's a lightweight datastore for node (without external dependencies). But I will have to make a list of what data I want to keep stored, etc before I'll choose a database.