[ts-gen] where are the ticks?
R P Herrold
herrold at owlriver.com
Tue Dec 12 18:50:41 EST 2006
On Tue, 12 Dec 2006, our APAC Debian user wrote:
> Anyway, to cut to the chase, just where exactly is the tick
> data supposed to be written? I was under the impression
> that it was written to /var/log/messages (or redirected to
> another file by editing /etc/syslog.conf ) but I'm not seeing
> any more lines with symbols (not even YM, which was present
> before); only a couple lines of numbers which appear during
> startup (e.g. Dec 12 10:20:53 vigil :
> shim|real|0.26|16370|37252| 1074261|4|100|5|# |4|100|5) and
> then nothing.
That is customary startup content.
> This is especially baffling because before I DID see
> multiple lines with the YM symbol and you made a comment
> that strongly implied that I was indeed looking at YM's
> price action (or lack thereof.)
Yes indeed -- you are going to groan when I tell you what is
> So where are these tick events being sent? Why aren't they
> being sent to /var/log/messages anymore when I haven't even
> changed shim versions? Were they ever sent to messages or
> am I suffering from some colossal misunderstanding?
I think the answer is much simpler -- The contract may have
rolled and a new front month has appeared; this will result
in a new ContractID, and an old subscription just never gets
any more ticks, because it is ... expired. There are no ticks
on an expired contract.
> Just to be clear, I'm starting TWS and running shim --data
> and that's it. I just tried the latest version of the shim
> with the same results.
Do this first as an approach on diagnostics; as a general
rule, it is always the first ting to do, and to make sure is
working, as it is done by us hundreds of times in a week. It
should _always_ work -- Here is what I do, (I have wrapped up
this in a script so I can do it trivially):
1. Pull and make the shim, having patched to taste for your
database and TWS specics
$ make shim
2. For this pass, we will refer to this step later in this
3. Run the self tests -- if your database is not up to version
"current shim dbms version 1.17", you may need to reload it
$ make test
I publish a transcript of what you should see in a session
4. For this pass, we will refer to this step later in this
5. Optionally test the trading functions:
> On a somewhat-related note, the 'pipe' option doesn't seem
> to work (or am I incorrect in assuming that usage would be
> as simple as ./shim --data pipe > shimlog.txt ?) Nothing is
> written to the log.
Yes -- That pipe is not the pipe I have refered to in past
email -- pipes are generally useful files for transient data,
as one does not need to clean up after them, and at times they
can be left unnamed.
Particularly, in our case without steps 2 and 4 above, you
should find a file 'ShimBits' right next to the shim binary
which is a pipe. It should be possible to 'cat' it just like
any other file; _once_, as that 'empties' the pipe
At step 2, do this BEFORE running 'make test':
$ touch ShimBits
$ chmod 755 ShimBits
and then at step 4, you can 'less' through the file at your
leisure. That pair of commands had the effect of
making "ShimBits" a conventional file, which is
acceptable to the shim when it goes to open and
append to it.
Remember to empty it out before another session or it will
confuse you ;)
$ > ShimBits
Good luck -- as always, we w
elcome reports and questions
-- Russ Herrold
More information about the ts-general