Bitcoin Forum
December 11, 2016, 02:32:49 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: How do I store ticker data?  (Read 616 times)
rier
Newbie
*
Offline Offline

Activity: 2


View Profile
August 08, 2011, 12:03:05 PM
 #1

I'm writing a bot, I was thinking about querying Mt. Gox's api every 2 seconds and store the ticker data in a MySQL database.

Is this the best way to do this? I need to run some algorithms to determine enter an exit signals for the automated bot.

Or should I use the websocket feed?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
cubemonkey
Newbie
*
Offline Offline

Activity: 11


View Profile
August 08, 2011, 05:29:41 PM
 #2

You could try:

Code:
nohup  nc bitcoincharts.com 27007 |awk '/mtgoxUSD/ {gsub(/,/,"");p = $4+0;v = $6+0;print $2" "p" "v}' >>/tmp/stream.out &

Output in stream.out will look like:

Code:
1312824328 7.67 0.64291525
1312824328 7.667 3.5
1312824328 7.66051 7
1312824328 7.66 41.65206919
1312824328 7.65766 10.03
1312824329 7.65755 0.08
1312824329 7.65 20
1312824329 7.65 5
1312824329 7.65 2
1312824329 7.65 16.3761626

(trade time in epoch, value in USD, and volume)

Then something like (pardon my rusty mysql, but just showing the general idea... )

Code:
while true
do
   # take a snapshot
   tail -1 stream.out > /tmp/stream.out.tmp
   TIME=$(cat /tmp/stream.out.tmp |awk '{print $1}')
   TRADE=$(cat /tmp/stream.out.tmp |awk '{print $2}')
   QTY=$(cat /tmp/stream.out.tmp |awk '{print $3}'  
   mysqlupdate=`(mysql -u user -p password -e "INSERT INTO blah.blah VALUES ($TIME,$TRADE,$QTY)") 2>&1`
   sleep 2
done









1HFj8rcMxqDinBdGE4zpGXEMz9Cuqt8iVG
kseistrup
Hero Member
*****
Offline Offline

Activity: 565


Unselfish actions pay back better


View Profile WWW
August 08, 2011, 06:41:43 PM
 #3


Or should I use the websocket feed?

You would save both your own and mtgox' resources by using the websocket feed.

Cheers,

Klaus Alexander Seistrup
http://about.me/kseistrup
Cellcote
Newbie
*
Offline Offline

Activity: 22


View Profile
August 08, 2011, 09:42:42 PM
 #4

every 2 seconds

As I recall correctly, MT Gox only allow you to acces their API once per 15 minutes.

1Abk6GSZSP6kYbk6opzBXNR1WTVv9NtfH9
cubemonkey
Newbie
*
Offline Offline

Activity: 11


View Profile
August 09, 2011, 02:46:44 AM
 #5

every 2 seconds

As I recall correctly, MT Gox only allow you to acces their API once per 15 minutes.

bitcoincharts streams it..  you save the stream to your local machine, then access that every 2 seconds.

1HFj8rcMxqDinBdGE4zpGXEMz9Cuqt8iVG
jboss
Newbie
*
Offline Offline

Activity: 27


View Profile
August 09, 2011, 04:18:21 AM
 #6

The volume on mt gox is small compared to say nyse, you probalby don't even need to query every 2 minutes...

I wrote a small perl backend to show these charts. (I couldn't find a chart site that let me view by date).

http://bitcoin.coprimeinc.com/

I'm still experimenting with it. The perl backend took me about 10 minutes to write - which grabs the trade data off mt gox and dumps it into mysql.

PM me if you want more details.
kseistrup
Hero Member
*****
Offline Offline

Activity: 565


Unselfish actions pay back better


View Profile WWW
August 09, 2011, 05:41:58 AM
 #7


bitcoincharts streams it..  you save the stream to your local machine, then access that every 2 seconds.

The data from bitcoincharts are up to a couple of minutes delayed, whereas those from the Mt Gox websocket stream are generally only a couple of seconds old.  There is no point in using the telnet stream from bitcoincharts unless one wants data from other exchanges than from Mt Gox, and even in that case it'll make more sense to use the websocket stream to obtain data from Mt Gox.

By saying that he wants to poll Mt Gox every 2 seconds, the OP has implicitly said that he wants the data as soon as possible.  The websocket API, by pushing data as soon as they're available, obsoletes expensive polling.

Cheers,

Klaus Alexander Seistrup
http://about.me/kseistrup
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!