2008 May 23 - Fri
A Half Hearted Day
Last night I got some chart software programming accomplished. I can now see bars,
trades and quotes. Over the weekend my task to get some indicators on to them,
particularily pivots, Bollinger Bands of two or three different time frames, volume
historgrams, and a zig
zag indicator. A little further down the road, the zig zag indicator will be used for
'snapping' trend/support/resistance lines in to place to help solidify some chart patterns.
I looked in on COIL again this morning. I got sidetracked watching it and didn't realize
the rest of the market had opened. When I did notice what was happening, a lot of things
went south. It was all well and good that I didn't do anything. There will always be
another trading day, and hopefully for Tuesday I can have my basket trading in place.
That is, I'm hoping to finish off the order entry bit that talks to Interactive
Brokers. In doing so, I can then finish the integration my order basket tracking. Each
evening, I run three different stock selection filters and come up with a total of about 40
different
symbols with associated entry parameters. If all goes well, I can do some semi-automated
trading: ie let the computer get my entries in first thing in the morning, then I can
monitor the profit curve and start setting stop-loss points to generate automated exits.
[/Trading/Diary/D200805]
permanent link
RCF - Interprocess Communications for C++
For a couple of distributed computing projects, I've been trying to come up with a
feasible and easy to use method for making applications talk to each other, whether they be
on the same machine or across a network.
I started off doing some work with Douglas C. Schmidt's
ACE: The
ADAPTIVE
Communication
Environment. I plowed through ACE's three primary programming books to see what
would be
the best bit of the environment I would need. I ended up implementing a demo with the
Acceptor - Connector framework, just to see how things worked.
I then started on thinking on the messaging structure and the event handling structures.
ACE's mixture of macros and classes turned out to be a little overwhelming for what I wanted
to accomplish.
During my stint with ACE, I started to use ASIO, from the
Boost libraries. I was first introduced
to ASIO through working with
WT: WebToolKit. I used Wt as a
frontend to a voip call sign in server.
The next step in the evolution is to present a real time call summary report to
authorized management as the calls are authenticated, authorized, and accounted for from a
Radius server. This means sending call detail messages from the Radius server to a central
dispatch server, and then publish to active web clients (with the clients written with
Wt).
As Wt uses ASIO for its underlying network communications, and I had read a remark
somewhere that ASIO is the new improved ACE, I started to look into it as the mechanism for
my inter-process communications. I even got a good chunk of messaging infrastructure
written as was about to get it testing when I found it was all for nought.
I came across
RCF - Interprocess Communications for C++. It is a library that has been in development
for the last few years by a talented fellow by the name of Jarl Lindrud. The library has
implemented all the stuff that I only dreamed about doing: publish/subscribing, stream
encryption, payload filtering, and any number of other nifty features.
I had a few painful moments in getting the library built. After a couple of messages
back and forth to the author, I realized I was trying to build the whole thing into a static
library rather than using an 'include' technique to get the platform specific files built.
The client and server examples built and ran without a hitch. I must admit that I was
impressed by the examples in the ACE books as well: they compiled and ran with little or no
messing about.
The RCF library is better because it deals with serializing native values back and forth,
something that ACE only accomplishes when you get into the TAO and CORBA levels of the
environment.
So now with Boost (which includes ASIO), RCF (which uses ASIO), and Wt (which also uses
ASIO), I think I have all the interprocess tools I need to make my modules talk to each
other. Now I can get on with the meat of my projects.
[/Personal/SoftwareDevelopment/CPP]
permanent link
|