Bitcoin Forum
July 07, 2024, 05:05:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 »
201  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 13, 2013, 10:06:39 PM
Yes you need some tools if you want to keep Gekko running independently of the current session (recommended, you probably want to run Gekko for long periods of time).

In the advanced features doc you can read about some other tools to run Gekko headless (nohup or nodejs tools like forever).
202  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 12, 2013, 04:55:01 PM
Let me know how it goes. I am planning on also buying a raspberry when I have some free time.
203  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 11, 2013, 09:08:35 PM
Great tool testing it out on my pc.

Is it possible to run nodejs on a raspberry pi? I tried installing it using https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager but the installation fails every time. Not really a linux user so have no idea what to do.

Used a fresh install of debian.

I haven't tested it myself but it should work on a raspberry. What part is failing?

Maybe you can try this tutorial instead? It is specifically for a Raspberry Pi and it's fairly recent.
204  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 11, 2013, 12:07:44 PM
Well after running for 4-5 days it's been buying high and selling low, I'm not quite sure why.  10% loss so far :x

Because of the indicators used... Also this is a pretty technical bot, I would assume you have some basic Node knowledge so you can read the code? If so just have a look and you'll understand. If not it's a bit dangerous to run a bot you basically have no understanding on.

Yep Gekko is still in an early state and not many people have looked at the code yet. Node.js (the platform Gekko runs on top of) is a platform for developing server software, it is not really oriented for end users (non developers). I am very happy that people are trying out Gekko and nothing bad can really happen as long as you keep it running in simulation mode.

I think a modification to the setup document needs to made to make it clear you can run the bot in simulation mode only. I think the default will actually make it try to trade.


I agree that this should be clear and currently is not.


This part:

Code:
config.normal = {
  enabled: true,
  exchange: 'MtGox', // 'MtGox', 'BTCe' or 'Bitstamp'
  currency: 'USD',
  asset: 'BTC',
  key: '',
  secret: '',
}

As far as I can tell will actually turn on live trading. You have to set enabled: to false to ensure it does not. And put in your key and secret so it can get info from MtGox but not trade.

Then I think it switches to the advanced section looking for what exchange to follow/trade on.
Notice the same layout here. Just ensure all are set to enabled: false, and it should just run in simulation mode.


When you leave the key and secret blank it will run in simulation mode (though I will add a switch like `enableTrading` to make it more clear).

The advanced section is only active when you disable the normal section (so even though it is filled in and enabled it will only activate when the `enabled` setting in normal is false or the whole normal object is missing).


I've gone through the code briefly to get an idea of what it was doing but I haven't examined it in close detail.  I figured I'd try it out with a fairly small sum of money to begin with to see how it operates, so not much risk was involved.  The parameters I'm testing with:

Code:
interval: 60
  shortEMA: 10
  longEMA: 21
  ticks: 100
  sampleSize: 10
  sellTreshold: -0.15
  buyTreshold: 0.23

Thanks for letting Gekko out for a spin and let me know how it goes!

---

When (or if) the price of BTC goes up Gekko I assume that with most configurations Gekko should start to report some profit. Note that if you would have hold 1 BTC at 130USD a couple of days ago you would now (106USD) have a 20%+ loss.
205  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 10, 2013, 11:33:10 AM
I have run it now ~1 week and now updated from git; - in this week:
Code:
2013-06-07 21:08:05 (INFO):	(PROFIT REPORT) profit:			 -4.698 USD (-2.149%)


Well the price just sank at the end of last week and over the weekend, not much any bot could have done I think. Keep in mind that a price drop is hurting everyone who is holding all their bitcoins. Most of  my Gekko instances (on Mt. Gox) suggested a buy a couple of hours ago.
206  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 06, 2013, 10:27:16 PM
I shifted some things in the config. It should now be a lot easier to set Gekko up for a normal use case (set an exchange and fill in the keys if you want Gekko to trade).

If you want to do some experimental stuff like watching trends at Mt. Gox BTC/USD and acting (buying / selling) on BTC-e BTC/RUR than you have to check out the advanced section.

Everything in the config is now explained in the improved documentation.
207  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 06, 2013, 05:11:43 PM
Great! Do you plan to implement backtesting before TAlib? Since there are so many strategies, one could build his own, and test it on past data

I don't know the order at which I will implement the features (depends on a couple of things), but that's the main idea. Would be great if everyone could very easily backtest using all different algos with different settings. The next step would be to implement something like a neural network (or more simply multiple algo's at the same time with weight) as suggested by oper128.

At this moment Gekko's code is not really optimised for speed which is important when creating backtesting (though when using talib a lot of calculations are done by the low level library already).

---

I am changing some internals in Gekko so if someone is working on a new trading method watch the repo closely.
208  Economy / Trading Discussion / Re: Video: My Bitcoin 2013 Talk on Statistical Models of Bitcoin Trading on: June 06, 2013, 02:14:43 PM
Awesome talk! I learned a lot, thanks.

You mention you put stuff like this on your blog, but I am unable to find a link to it.
209  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 06, 2013, 01:29:35 PM
whydifficult, your gcc version may be too old or too new Smiley 4.7.2 works for me.

Edit: google says it might be a problem with node v0.10.0, I use v0.10.8 now.


Apparently it was caused by my old version of node, after updating everything works fine. I am now rewriting some things so that Gekko will internally calculate candles based on trade data so that implementing different methods (as well as Talib) will be easy as pie. I do think talib will become optional since it doesn't work on Windows.

Edit: when Talib makes it into Gekko, Gekko will support a lot of trading methods. These methods include:

  • Exponential Moving Average
  • Moving Average Convergence/Divergence
  • Double Exponential Moving Average
  • Triple Exponential Moving Average
  • Bollinger Bands
  • Relative Strength Index
  • Directional Movement Index

The full list of all 138 supported methods can be found here.
210  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 04, 2013, 10:50:43 PM
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:

Code:
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.
211  Economy / Trading Discussion / Re: Chrome Browser extension: MtGox trading bot on: June 04, 2013, 09:52:56 AM
Awesome work! Will look at your MACD implementation when I have some time.
212  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 04, 2013, 08:48:03 AM
Thanks, note that is still doesn't look at real balance & profit but still simulates trades on every advice. This will get updated soon though.

---

Good news for all Bitstamp traders out there: Right now you need to hand over your login credentials because their API doesn't use API keys with restricted rights (like only acces to ask balance and create orders). I filled a ticket for this and just got a new response:

Quote
Dear Mike,

We are working on changing our API access at the moment.

This means that in the future you won't have to give a Bitstamp trade bot (Gekko or other) your full credentials.
213  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 03, 2013, 10:17:09 PM
Code:
npm http 200 https://registry.npmjs.org/read
npm ERR! error installing prompt-lite@0.1.1

npm ERR! Error: No compatible version found: read@'>=1.0.0- <1.1.0-'
npm ERR! Valid install targets:
npm ERR! ["0.0.1","0.0.2","0.0.3","0.1.0","0.1.1"]
npm ERR!     at installTargetsError (/usr/share/npm/lib/cache.js:488:10)
npm ERR!     at next_ (/usr/share/npm/lib/cache.js:438:17)
npm ERR!     at next (/usr/share/npm/lib/cache.js:415:44)
npm ERR!     at /usr/share/npm/lib/cache.js:408:5
npm ERR!     at saved (/usr/share/npm/lib/utils/npm-registry-client/get.js:147:7)
npm ERR!     at Object.oncomplete (/usr/lib/nodejs/graceful-fs.js:230:7)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /home/xxx/gekko/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.8.0-22-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "update"
npm ERR! cwd /home/xxx/gekko
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! message No compatible version found: read@'>=1.0.0- <1.1.0-'
npm ERR! message Valid install targets:
npm ERR! message ["0.0.1","0.0.2","0.0.3","0.1.0","0.1.1"]
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/xxx/gekko/npm-debug.log
npm not ok

It is still complaining about the dependencies requiring a newer version of node. Your version is almost a year old (from june 2012). Did you catch my response last time?

Your node version is out of date, the Bitstamp module doesn't really require node 0.10 but other dependencies do. Could you try to update to 0.10.x?

You can check what node version is installed by running 'node -v' in a terminal. Here is a guide that will show you how to install node 0.10.x on a Raspberry PI.

EDIT: I have updated the profit reporting of Gekko, it now looks like this:

Code:
2013-06-04 00:02:30 (INFO):	ADVICE is to HOLD @ 120.750 (0.861)
2013-06-04 00:02:30 (INFO): (PROFIT REPORT) original simulated balance: 222.430 USD
2013-06-04 00:02:30 (INFO): (PROFIT REPORT) current simulated balance: 219.378 USD
2013-06-04 00:02:30 (INFO): (PROFIT REPORT) simulated profit: -3.052 USD (-1.372%)
214  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 03, 2013, 07:10:55 PM
Out of curiosity, did anyone loose a bit on the recent drop in price. I had gekko running on default settings in 'simulation' mode for 12 hours before the drop. Got no advice except one emailed to me - Sell at bottom price. LoL.  The drop was so fast that by the time the bot got 3 confirmations it was all over. Well, not completely, it did drop another 5 dollars usd on the 120 price shortly after that, then climbed back up to 125.
Right this moment hovering around 118. I still believe it is only going to get stronger. It is picking up real momentum and the only way it is going to fail is something better comes along ( ie government publishes their own official crypto-world-currency ), or it is somehow taxed to oblivion at the exchanges.

Gekko right now does not use the three thresholds to verify the trend. I think I should better clarify this in the readme.

Here is the data from my Gekko trading at Mt. Gox (price is in euros, time is in UTC: right now it's 19:10):

Code:
mike:~/nodeprojects/gekko-stuff$ cat gekko.log | grep SELL
2013-05-31 00:59:49 (INFO): ADVICE is to SELL @ 99.605 (-0.288)
2013-05-31 01:00:20 (INFO): SELL was succesfull

Code:
mike:~/nodeprojects/gekko-stuff$ tail gekko.log
2013-06-03 18:59:55 (INFO): ADVICE is to HOLD @ 93.763 (-0.275)
2013-06-03 18:59:55 (INFO): (PROFIT REPORT) -0.267% profit (in 1 trades)

EMA is not well suited for detecting this kind of sudden movements, because it takes time to verify that the trend is really happening. More trading methods will be added in the future!
215  Economy / Trading Discussion / Re: Web Based Technical Analysis/Automated Trading Service on: June 03, 2013, 08:23:20 AM
I totally agree with you, also the fact that bots does not have emotions is a big advantage. It's just about the advertising for people who don't know a lot about trading.

I will be waiting for your bot and I am curious about the features Smiley
216  Economy / Trading Discussion / Re: Web Based Technical Analysis/Automated Trading Service on: June 02, 2013, 08:59:47 PM
I am not trying to bash TA at all, I am writing a TA bot myself to. But I just think you should be careful when you say:

Quote
TA is entirely self-consistent and mathematically pure. In this sense, it works 100% of the time.

The math is just an abstract model of an idea about how a market behaves. The idea may be pure but the market is not and unexpected things can happen that are not in the idea. Also market conditions change over time.

I do like TA and I use it myself, but you should never see it as a money making machine or something that will 'work 100% of the time' imo. It's just gambling backed by statistical data of the past, there is always risk.
217  Economy / Trading Discussion / Re: Web Based Technical Analysis/Automated Trading Service on: June 02, 2013, 04:39:42 PM
If TA doesn't work for the major currencies, why do you think it will for crypto ?

And if you think TA works read 'Fooled by randomness' by Taleb

TA is entirely self-consistent and mathematically pure. In this sense, it works 100% of the time. They're just processed and re-processed numbers. The way you use those numbers is where I think you find the weakest link in efficacy. If by "work" you mean making a profit, then that's purely a function of what you do with this information. You could say the same thing about all charts, and all indicators. Why have charts in the first place? Why do we put volume bars underneath the charts? These processed numbers convey information. They don't have any personal prejudices. They are what they are, and deriving meaning from them is solely the responsibility of the humans looking at them. Here's the weakest link - the human. Some of them can derive more meaning from those numbers than others.



Taleb explains in his book that TA is based around trying to predict the future based on history. Which can work a lot of times but you can never know it for 100% sure. He explains it by this Turkey who is fed everyday for a 1000 days. On the 1001th day the turkey is waiting for his meal as usual when something else happens. How could the turkey have known it was thanksgiving?



No matter how much TA the turkey would have thrown at the chart, he would not have been able to predict this. In this case thanksgiving is a black swan for the turkey. A black swan is something that you can't really predict and is never taken into account in the mathmetical model (else it isn't a black swan). This is more philosophical than it is practical, but Taleb says that if a black swan happens you can easily lose all your profits in a single event.
218  Alternate cryptocurrencies / Service Announcements (Altcoins) / Re: Free profit/loss portfolio manager for Bitcoins and all other digital currencies on: June 02, 2013, 03:33:50 PM
Awesome service, thanks!

I do have a feature request though: I use a trade bot which automatically switches my Bitcoin around in different currencies. It would be great if your application could just ask Mt. Gox (via an API key with trade rights) what the current balance / last trades are. That way I won't have to download and upload three files (one per exchange) to see my current balance. It could be something relatively simple with JIT (only calculate the current balance when a user logs in, etc).
219  Economy / Service Announcements / Re: Cryptotrader.org - Web based service for Automated Trading on: June 02, 2013, 01:56:51 PM
whydifficult: Agreed, this is serious security issue. Fixed it. Thanks for letting me know. As regards paid services, yes, while base functions will always be free, some options will require paid membership, because like any service that offers computational resources, it needs to pay for itself somehow. For example, the backend is running at dedicated server, that is not cheap, providers charge for sms messages and so on.. I've just checked out your Gekko project and it's kind of amazing. I'm also going to release my trading engine code to open source at some point. It is also coded in Javascript/Node JS by the way, however uses slightly different approach.

Thanks, Gekko is something users have to download themselves so it doesn't have this problem. It also doesn't even have a frontend / GUI. This does make it much harder to use for end users. (It is only two weeks old by the way).

I don't know how far you are at implementing different exchanges but I proposed a more universal way to handle different exchanges in JS bots last week. If you are interested check out the Portfolio Manager's expectations and the Trading method's expectations in this document. The advantage of using this system is that all differences between exchange APIs are abstracted away already (I have implementations for Mt. Gox, BTC-e and Bitstamp). Maybe this can be something for your engine? I would ask that if you use this and you add / remove exchanges or features that you give them back to the community.

It would be awesome if you open source the trading engine, there are currently multiple competitors who are also trying to make money and keeping the source to themselves. I just think it would benefit the community if more ideas and implementations became open. So it would also be great if you see something in Gekko (or any other open source trading bot for that matter) that could be improved and let us know Smiley
220  Economy / Trading Discussion / Re: Gekko - a javascript trading bot for nodejs on: June 02, 2013, 11:25:26 AM
Very interesting project, I'm testing it now, my thoughts about future development:

- please take a look at TA-lib for node: https://npmjs.org/package/talib - using those libraries may speed up development of other useful methods
- before that, it would be good to decide how Gekko will deal with multiple methods and possibly contradictory suggestions. Some kind of voting mechanism with user-defined weights? Neural network? Other? Maybe suggestion should look like: 10% SELL, 70% KEEP, 20% BUY - SO KEEP.
- how about other input data? There's a lot of possible input data sources, other than exchange rate, eg. stock market indexes, google trends data for some keywords (related with bitcoin, world economy etc.) which can be correlated with btc future price trends. Will you propose some unified structure for such data to be shared possibly between different methods, or specific method will have to do it for it's own use?

I'd be very happy to contribute to the project, however I'm not a js programmer (but I'm trying to get a little bit more familliar with it). Currently I could share my debian scripts for running gekko daemon using node's "forever" module. Let me know if you're interested.

Thanks, let me know how the testing goes. Right now Gekko is just doing the really basic stuff (only look at price data of one single exchange, use a simple method like EMA and switch the full balance towards the detected trend). I am in the process of making Gekko more and more advanced.

I didn't know about TA-lib. It would indeed speed up Gekko's development by a lot of things if I can just plug it into Gekko! I've done a quick test and the installation fails on my laptop (OS X) and my vps (Linux), and I don't want to try windows. (I need to do some more research: not running latest node etc). So if I can get this working I think this is going to be optional in the settings.

I don't have a background in trading so I'm open in ideas about contradictory suggestions by different methods (for as soon as we have different methods). The user defined weights would be the most straightforward option. I would have to do more reading about neural networks before I can implement such a system into Gekko (if you know about it and can point me to some reading that would be great).

Your last point is something Gekko could definitely implement in the future, however this is much harder than applying basic math to current price numbers. So I first want to have a solid bot before I enter this kind of field. But we can of course already start thinking about what good indicators could be, I personally doubt a correlation between Bitcoin news coverage and the price (for example) at the moment, but this would all have to be backtested.

I'm getting better suggestions for new trade methods for Gekko to implement, so backtesting is a really big point on my list. I am currently figuring out if I can use the Mt. Gox data downloader provided by nitrous. This will download every trade from Mt. Gox and stuff it into a SQLite database, something Gekko could very easily use to extract data from.

I think rikigst theory looks great. Be fascinating to get this working. I like the idea of a gradual buy or sell. The chrome bot also allows a 'reserve' to be kept safe. I think that could be useful to. I think a lot of us see bitcoin having greater value over time. So I aim to 'build' my reserve, and only trade a percentage.

Besides, you need bitcoins to buy things only for sale in bitcoins...like some of the shares available that give a great return compared to poor mans GPU mining on their gaming rig.

The reserve part was pointed out to me yesterday as well and is on my current list of todos. Even though I don't want to force everyone into keeping / managing his bitcoin in a certain way, I do think it is best practise to not keep all of your BTC at an exchange.

My current todo list:

  • Risk percentage (how much % can Gekko play with)
  • Better profit logging
  • Backtesting
  • Solid way to implement trading methods (it is not possible to trade 10% of allowed balance for example)
  • MACD trading method
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!