Hi Herman,

I was starting to probe the subject of 'optimal RT performance' in Dennis's 
thread. Trading systems has to be at least as important as desiging them and 
all trading is RT!

It is hard for me to stay on the page because a matrix starts to appear, in my 
concsiousness, and I can see the interconnecting threads going in all 
directions, but I'll try.

I don't think we have squeezed all of the juice out of the orange by a long way 
but your comments seem to mark out the playing field.

So far I am just starting to play around with the following ideas:

- review the OS I am using (any real benefits in using Linux etc)
- the machines I am using (we have discussed this quite a bit ... the 64 bit 
story continues?  .. RAM and cache)
- a dedicated machine (any point in going further than Mike indicates re using 
task manager to prioritize ..... MS comes with a lot of junk I don't use ... 
maybe I will talk to my techie about custom installs for my trading machines 
... strip the OS right down
- Paul's idea of farming out some dirty work to C++ plugins and managing memory 
allocation there
- AB develops a brain and slaps me when I am doing less than optimal things 
with my machine or code 
- managing blocks of AFL to run at different times etc ..... Siddharthas code 
example in Dennis's topic points to one simple way I think.
- twisting the CPU' arm (in more sophisticated ways than using Windows  Task 
Manager
- more to come?

I don't expect you to answer these questions ... I am just reviewing my 
understanding, of the potential, or the scope, to date.



Over to your comments:

Very interesting.

Have you published anything on the subjects you listed? (if you have covered 
this at the UKB I will just go there).

> Anyway, we all have to figure out what works for each of us.

It sure helps if we pool our philosophies, knowledge and experience first 
though.

> you can partition and prioritize RT code, and execute sections of >code on a 
> schedule that doesn't conflict with placing trades. This >allows you to run 
> code code in RT that would lock up any other way. 

Briefly ... in laypersons terms .. how are you doing that?

>Using getrtdataforeign() and simple formulas I can scan, in RT, 100 >(easy) to 
>500 (pushing it) tickers in real time, and display the top >candidates using a 
>gfx chart.

Very impressive .... so far I have been too scared to even try RT scanning, 
sorting etc .... I find it scary enough in EOD.

How are you doing that?

>You may also be able to partition code based on BarsRequired and run >formulas 
>in a separate panes, each with the minimum number of bars >required. Use 
>Static Arrays to share results.

Any further hints on that?

>Also, many real time trading routines only need a few prices you can >keep 
>track of yourself - separate these from the arrays processing >pane.

You seem to be implying that we can use panes to 'partition' code and control 
it's execution. What is the basic execution model that AB uses to manage panes, 
in relation to each other?

Reply via email to