[ts-gen] Controlling shim parameters (key-value pairs)

Ken Feng kfmfe04 at gmail.com
Mon Aug 17 14:16:30 EDT 2009


Thanks, Russ, for the quick reply and for sharing your own method for
dealing with this.

I am a very pragmatic person, so I have no qualms at all if you are
focused on low-level matters (especially of the memory-kind!).
Rather, I appreciate your response as it prevents me from spending
time looking for things that don't exist.

I will do as you do, and create throw-away .shimrc

BTW, I find having different ShimText files useful - for example, I
would like to keep my risk logs separate from my data logs, and I like
to separate the logs by date.  Doing so makes it easier for me to
detect patterns in upstream behavior.  I need to keep some kind of log
around, even if I don't look at them immediately, so that post-mortem,
I can revise my software to deal with unexpected conditions.

1.  For example, I know for a fact that around 3:55UTC every single
day, I get an odd behavior in the system where the TWS stops
fulfilling the bar requests, even though TWS itself still receives
ticks and continues to display them in the GUI.  When I kill the shim
and restart it manually, the response has been sporadic - sometimes,
it works on the first try.  Sometimes on the second or third try.  My
guess is, the TWS has fallen into a state that I have not yet
anticipated, for whatever reasons (maybe daily maintenance by IB?),
and I need to to either detect the state at any time or patch around
the 3:55UTC gap.

2.  During the day (maybe at the same time every day, I don't know
yet), I get okay values for open and close, but 0's for high and low.
Still investigating.

3.  I get difference kinds of 3/4/2 conditions throughout the day.
Usually, it's simply a "HMDS data farm connection is OK:ushmds2a", but
once a day, I get a whole series of "connection broken", etc...
messages.

When I can't resolve these types of issues, it means my understanding
of the TWS/shim system is still incomplete, or at least, insufficient.
 I hope to resolve these issues over the next week.

Please note that I am not complaining at all - I actually appreciate
you and Bill working on the shim more than you know - the more I use
the shim, the more I realize how much hard work has gone into the
design and coding.

I'm just posting my experiences in hopes that other users may have ran
into and solved similar problems.  Thx.

- Ken

>> 2. Is there a way to override a specific parameter on shim startup?
>> For example, I want to pick a ShimText based on yyyymmdd upon startup
>> from a Ruby file.
>
> hmmm -- I rename the ShimText file at the end of a run as
> part of the wrapping script that kicked off a given run of the
> shim.  that said, these files are largely transient of nature,
> and I regularly end up tossing them out unread.


More information about the ts-general mailing list