<whitequark>
so I see "within moscow" and "within teliasonera from helsinki to some other nordic city because no sane person names a city with something abbreviating to sjo"
<whitequark>
there's no "across europe" or "across US" parts
<whitequark>
so actual lightspeed RTT is closer to 140ms
<devyn>
okay
<whitequark>
oh, my bad, you can actually see this in the traceroute this time
<whitequark>
13 nyk-bb1-link.telia.net (80.91.247.115) 120.411 ms
<gkatsev>
lol
<purr>
lol
<whitequark>
I guess this is new york
<devyn>
whitequark: honestly I think the main thing that's stopping me from working on the trader is learning OCaml and LWT lol
<devyn>
feels like maybe I need to actually do something for myself in them to get the experience before I actually grok what's going on
<whitequark>
devyn: pair programming on trader ?
<whitequark>
(idk never tried it in the past)
<devyn>
idk whether that would help
<devyn>
I think I just need to suck it up and work on it
<devyn>
haha
<whitequark>
devyn: okay
<whitequark>
so what I did was, I wrote a tiny widget library over OCaml's X11 interface, wrote a candle chart widget with it
<whitequark>
made it work, then looked at the resulting code in disgust, remembered I fucking hate GUIs, ragequit and erased the hell out of it
<whitequark>
all in the span of two days
<whitequark>
you can still find it in history.
<devyn>
haha
<devyn>
well chart.ml is still there
<devyn>
it's huge o_o
<whitequark>
it's somewhat overengineered
<whitequark>
and the axis code is shit
<whitequark>
ok so what I'm going to do is write a handler for btc-e trading APIs, perhaps the market depth pipe (not sure if it's very useful, and delta compression can be a bitch)
<whitequark>
and accounting module which would tell you if the operation you're attempting to do is remotely profitable
<devyn>
I was just going to do something in <canvas>; throw a little HTTP server in there with some static resources and an event stream
<devyn>
GUI-wise
<whitequark>
oh and your stream map-fold-whatever combinator idea was neat, I'll implement it as well
<whitequark>
hm, ok
<devyn>
yes, please do; I don't know enough OCaml/LWT to get that done IMO
<devyn>
I'd have to have the motivation heh
<whitequark>
oh and after all that, I'll probably add stop-loss/take-profit orders for btc-e, that would validate the internal structure
<devyn>
it's useful for this because you often need to store the moving averages but also produce results
<whitequark>
and actually be useful
<whitequark>
hmm
<whitequark>
see, my approach to data storage, everywhere, is: don't toss raw data until you can't
<whitequark>
and hard drives are cheap
<whitequark>
so in ocamltrader, I want to store just the raw trade data and calculate everything else on demand
<whitequark>
while caching it, of course.
<devyn>
I agree but generating a moving average for the entirety of history isn't a good idea obviously
<whitequark>
no?
<devyn>
every time* I mean
<whitequark>
well, it'll get cached once
<devyn>
you can get the new moving average easily just based on the most recent moving average and the new value
<whitequark>
and updated when there's more of the history
<devyn>
which is what my indicators.ml is set up for
<devyn>
though it only has StochRSI
<whitequark>
yep, it's totally possible with my Binary_index thing
<devyn>
also probably want MACD as well
<whitequark>
also I've watched stochrsi for quite some time (bitcoinwisdom has it)
<whitequark>
it can actually predict the market to some degree, I'm impressed
<whitequark>
though it only does so very locally (understandably)
<whitequark>
devyn: ok so, which kind of events do you want to get?
<joelteon>
round-trip min/avg/max/stddev = 29.451/1766.714/3446.561/1003.699 ms
<joelteon>
i love the internet in my room
<whitequark>
I was thinking about a rather simple interface, basically this:
<whitequark>
1. there are entities. entity = single trade, aggregated trades, indicator value, ... for a point/period of time.
<devyn>
whitequark: yeah, StochRSI is perfect for when things are very volatile; I've used it very effectively
<devyn>
and BTC-e follows the patterns StochRSI is very good at predicting quite well
<whitequark>
2. you can request archived entities for unixtime A through B for pipe P through a control channel and they'll get delivered
<whitequark>
each inside its own SSE frame
<whitequark>
3. or alternatively, you can request live entities for pipe P
<whitequark>
in either case, you only specify the entity configuration, i.e. exchange, currency pair, ...
<whitequark>
and the server-side part takes care of setting up combinators, caching as needed, etc
<whitequark>
(where P = a parameter you pass to the SSE stream)
<devyn>
request live entities?
<devyn>
as in a live stream?
<whitequark>
yeah
<devyn>
which interface are we talking about, specifically?
<whitequark>
server-sent events
<devyn>
oh ok
<whitequark>
websockets are fine too
<whitequark>
but SSE is way simpler
<devyn>
SSE is way simpler and it doesn't cost much to have HTTP requests for the other direction
<devyn>
that's what I generally do
<whitequark>
and I already know how SSE works :p
<devyn>
well you can learn how it works in like a minute anyway
<devyn>
:p
<whitequark>
yeah
<whitequark>
okay so, I think you'll have a preliminary server to test against in ~8 hours
<whitequark>
if nothing happens
<whitequark>
you free today?
<devyn>
in 8 hours I'll probably still be sleeping but I'll try to wake up early
<devyn>
I am free though
<whitequark>
cool
<whitequark>
btw, a guy I know is interested in the bot too, OK to give him github access?
<devyn>
yeah as long as you trust him
<whitequark>
I do, he's fine
<devyn>
then absolutely
<devyn>
we just don't want this code getting into too many hands, of course
<whitequark>
maybe even will contribute something. chances are rather slim though
<whitequark>
prolly will just use it, on a small scale
<devyn>
which is fine
eligrey has quit [Quit: Leaving]
alextgordon has joined #elliottcable
fwg has joined #elliottcable
fwg has quit [Client Quit]
yorick has joined #elliottcable
eligrey has joined #elliottcable
niggler has quit [*.net *.split]
<Navarr>
does anyone want/need an IRCCloud invite?