Bitcoin Forum
November 07, 2024, 12:53:46 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »
  Print  
Author Topic: Gekko - a javascript trading bot and backtesting platform  (Read 147874 times)
San1ty
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
June 10, 2013, 01:25:57 PM
 #81

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.

1 week 2% loss on a flat market, not bad. The indicator you are using is great in a trending market not in a flat one.

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
snowcrashed
Full Member
***
Offline Offline

Activity: 294
Merit: 100



View Profile
June 10, 2013, 03:36:02 PM
 #82

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
San1ty
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
June 10, 2013, 03:57:02 PM
 #83

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.

Found my posts helpful? Consider buying me a beer :-)!:
BTC - 1San1tyUGhfWRNPYBF4b6Vaurq5SjFYWk NXT - 17063113680221230777
snowcrashed
Full Member
***
Offline Offline

Activity: 294
Merit: 100



View Profile
June 10, 2013, 05:55:42 PM
 #84

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.

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
gambitv
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile
June 11, 2013, 05:33:31 AM
 #85

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.

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.



The stock market today is a war zone, where algobots fight each other over pennies, millions of times a second.
sla73
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
June 11, 2013, 09:13:19 AM
 #86

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.

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

Hey there. how did you go with these settings snowcrashed?
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 11, 2013, 12:07:44 PM
 #87

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.

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
Timbo925
Sr. Member
****
Offline Offline

Activity: 352
Merit: 250



View Profile
June 11, 2013, 08:06:25 PM
 #88

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.
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 11, 2013, 09:08:35 PM
 #89

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.

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
snowcrashed
Full Member
***
Offline Offline

Activity: 294
Merit: 100



View Profile
June 12, 2013, 01:17:28 AM
 #90

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.


Yeah I've been watching the price... I bought into a dip at ~108 so that's not too concerned with current price.  I'm fiddling with the values more and keeping an eye on recommendations, while initially they seemed to be contrary to typical logic (buy low/sell high), it seems to have leveled out.  Looking forward to some more movement in the market price to see Gekko really in action.

Btw I didn't intend my earlier comment to sound negative, was just reporting my experience.  I very much appreciate your hard work in producing this and releasing it to the public Smiley
Naruby
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile
June 12, 2013, 11:07:26 AM
 #91

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'm running Gekko on my Raspberry v B since this weekend non stop. I'm also a Linux noob and didn't run into major problems.
The installation of node (lateste version) took a loooong time (think in terms of hours not minutes )

Timbo925
Sr. Member
****
Offline Offline

Activity: 352
Merit: 250



View Profile
June 12, 2013, 11:24:36 AM
 #92

Good to know it works. I'll try agian with an other sd card and try again. This one was only 2GB so that might be the problem.
(or try arch linux because it seems lighter)
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 12, 2013, 04:55:01 PM
 #93

Let me know how it goes. I am planning on also buying a raspberry when I have some free time.

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
Timbo925
Sr. Member
****
Offline Offline

Activity: 352
Merit: 250



View Profile
June 12, 2013, 05:30:32 PM
Last edit: June 12, 2013, 06:10:36 PM by Timbo925
 #94

Let me know how it goes. I am planning on also buying a raspberry when I have some free time.

Got it working with the tutorial you posted. You do need a 4GB card minimum because node will fill up the 2GB card.  Grin
(http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/)

I'll report back if I encounter any problems. Have it set up with a smaal mtGox account. Tweaked the settings and with some manual backtesting so hope it works Smiley

Edit:
Dont forget to do make a screen so it wont stop when you logout from ssh.
> sudo apt-get install screen
> screen -S gekko
Timbo925
Sr. Member
****
Offline Offline

Activity: 352
Merit: 250



View Profile
June 12, 2013, 09:44:39 PM
 #95

Also using
> node gekko |& tee GekkoTimboLog.txt
to be able to see the output in the terminal but also write it to a log file so you'll have it  when for some reason the pc shuts down.
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 13, 2013, 10:06:39 PM
 #96

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).

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
steganos
Newbie
*
Offline Offline

Activity: 44
Merit: 0



View Profile
June 13, 2013, 10:24:32 PM
Last edit: June 14, 2013, 03:44:02 PM by steganos
 #97

For some reason Gekko just missed a sell signal.

Quote
2013-06-13 16:00:04 (DEBUG):    refreshing
2013-06-13 16:00:04 (DEBUG):    fetching exchange...
2013-06-13 16:00:05 (DEBUG):    fetched exchange
2013-06-13 16:00:05 (DEBUG):    calculated new tick: 0  price: 108.300  diff: -0.058
2013-06-13 16:00:05 (DEBUG):    we are currently not in an up or down trend  (-0.058)
2013-06-13 16:00:05 (INFO):     ADVICE is to HOLD @ 108.300 (-0.058)

These times are Mountain time so that would be 22:00 UTC.

bitcoincharts.com shows that ema(21) was about 107.9 and ema(10) was about 106.9 at that time.

http://bitcoincharts.com/charts/mtgoxUSD#rg2zigHourlyzczsg2013-06-13zeg2013-06-14ztgSza1gEMAzm1g10za2gEMAzm2g21zi1gMACDzi2gATRzv

This should have triggered a sell with the settings that I am using.  Is there a bug?

Quote
// Exponential Moving Averages settings:
config.EMA = {
  // timeframe per candle
  interval: 60, // in minutes
  // EMA weight (α)
  // the higher the weight, the more smooth (and delayed) the line
  shortEMA: 10,
  longEMA: 21,
  // amount of samples to remember and base initial EMAs on
  ticks: 100,
  // max difference between first and last trade to base price calculation on
  sampleSize: 10, // in seconds
  // the difference between the EMAs (to act as triggers)
  sellTreshold: -0.125,
  buyTreshold: 0.125
};

config.watch = {
  exchange: 'MtGox',
  currency: 'USD',
  asset: 'BTC'
}

Edit:  modified formatting for easier reading.
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 14, 2013, 01:32:39 PM
 #98

hmm that's strange.

Gekko currently calculates EMA based on prices calculated a little different than it should (not based on candle Close but on a couple of trades around that time). I am currently rewriting Gekko to a candle based price calculation approach.

Could you post the the previously calculated tick? And did Gekko trigger a sell at the next tick?

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
steganos
Newbie
*
Offline Offline

Activity: 44
Merit: 0



View Profile
June 14, 2013, 03:48:41 PM
 #99

Previous tick:

Quote
013-06-13 15:00:04 (DEBUG):    calculated new tick: 0  price: 108.969  diff: -0.006
2013-06-13 15:00:04 (DEBUG):    we are currently not in an up or down trend  (-0.006)
2013-06-13 15:00:04 (INFO):     ADVICE is to HOLD @ 108.969 (-0.006)

A sell was triggered at a later tick:

Quote
2013-06-13 17:00:05 (DEBUG):    calculated new tick: 0  price: 102.060  diff: -0.623
2013-06-13 17:00:05 (DEBUG):    we are currently in a downtrend  (-0.623)
2013-06-13 17:00:05 (INFO):     ADVICE is to SELL @ 102.060 (-0.623)

How far back does Gekko look when when choosing trades to use for the EMA?  I don't remember for sure, but I think the price had started to drop quickly by about 10 minutes before the hour.
whydifficult (OP)
Sr. Member
****
Offline Offline

Activity: 287
Merit: 250



View Profile WWW
June 14, 2013, 05:03:41 PM
 #100

Gekko will ask for the most recent trades and the price is the average of all trades that happened after (date of most recent trade - sampleSize in seconds).

It appears that Mt. Gox sometimes doesn't deliver the most recent trades but a bit more outdated ones. But I will have to do some more research to make sure.

Gekko a nodejs bitcoin trading bot!
Realtime Bitcoin Globe - visualizing all transactions and blocks
Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!