Streamer ® WealthLab ® Real Time Quotes Adapter 1.00.01No longer supported Most likely, the adapter won't work because of the changes in the Streamer protocol as well as in the Wealth-Lab adapter API, but the project could still be used as a starting point for those interested in developing similar adapters for Wealth-Lab. InstallationThe archive contains the following files: wlstreamer.dll – the adapter dll. RTAdapter_Streamer.txt – the file that makes the adapter known to WealthLab ® readme.doc – this file readme.txt – txt version of this file wlstreamer.bmp – the image to be shown in the WealthLab menu for this adapter. Copy all the files from the archive into the WealthLab directory. The next time you run WealthLab, you will see a new menu item in the menu DataSources/Enable Live Feed/Streamer. System
requirements
I developed and tested the Streamer Adapter on a Windows 2000 Server machine, with the most recent service packs, security updates, and all the other updates installed. I also run tests on a Windows 98 SE machine with all the updates installed. I have been testing it since WealthLab 2.1 build 32 and am now running WealthLab 2.1 build 38. Usage
Select the menu DataSources/Enable Live Feed/Streamer menu in order to enable Streamer as a real time quotes source. Open up a ChartScript window and select the symbol for which you want to get real time quotes. You will then see a dialog box asking for the login information. The user name is your Datek account user name. The Streamer password is different from the account password, and can be obtained thorough the following procedure: logon to your Datek account and run the Streamer Console. Right click on the console window and select “View source” which will bring up a text file containing the html source for the Streamer Console. In this file, search for the keyword “paramP”. To the right of this keyword you will see a quoted string containing hexadecimal characters – this is the Streamer password (excluding the quotes). Copy this string to the password field in the Login dialog box and choose whether you want this info saved for future use or not. If you choose to save them, the user name and password will be saved in a file “wlstreamer.ini” (along with other parameters) in the Windows directory, allowing for automatic connections to Streamer in future sessions. At this moment, the adapter will start receiving quotes. During the session, a Streamer icon will be present in the Windows task bar, in order to indicate the connection status. A flashing blue/red pattern indicates that the adapter is connecting or disconnecting. A static red pattern indicates that the adapter is disconnected, and a rolling blue line indicates that a connection is active. Right clicking on this icon will display a menu with several selections: About, Settings and Status Window Visible. The last one will toggle the visible status of the status window. The status window is a modeless dialog box, which indicates the adapter connection status as well as the last tick received. Normally the adapter handles the connection automatically (in order to add/remove symbols, the adapter must reconnect with the new list of symbols), but in some cases user intervention will be required, such as in case of a connection failure, or wrong logon parameters. Settings include only an option to save or not the login parameters for now. Limitations and
known issues
· Streamer does not provide historical quotes, so data will be available only from the moment the adapter has been started and the connection established. · Another consequence of this and of the way the adapter and WealthLab work together is that at this time, all the accumulated bars will be lost if a different time resolutions is selected for the same chart. A temporary workaround to this is to open different charts for the same symbol but with different time resolutions. See also the New Features section below. · Quotes are not guaranteed to be 100% accurate. The adapter gets a continuous stream of ticks from Streamer and assembles them into bars, so if the received ticks are inaccurate or missing, the resulting bars will also be inaccurate. Please let me know if you experience problems with and if you have ideas how I could improve data accuracy. · In some cases, when a new symbol or bar duration is added or removed, the adapter will need to reconnect to Datek Streamer, process which can take from a couple of seconds (most likely) up to 15-20 seconds, and ticks that would have been received during this period will be lost. In most cases this will not be a problem, as even the most actively traded symbols ,such as the QQQ, receive a tick only every few seconds. · Currently connecting through a proxy servers is not supported. · Streamer does not accept more than 80 symbols per connection, and it looks like multiple connections to the same account are not allowed. · The time indicated in the chart for each bar is the local machine time. I am open to suggestions as to what time to use. · The time window for quotes set in WealthLab is not yet supported. Currently quotes will be received as long as the chart is open. · This adapter was initially written to be 100% Unicode compatible and it worked fine on Windows 2000 Server, but because of Windows 98, which does not support Unicode, I am now making available only the ASCII version. If you need the Unicode version and run Windows 2000 or later, I can send you the adapter compiled with Unicode on. · Because currently there is no way to report status or error info back to WealthLab, connection errors, or other exceptional conditions will have to be dealt with manually. For example, if a connection is not possible, the adapter will notify the user, but the chart will continue waiting for data. In this case, the user will have to be aware that no more data is being received and close the chart manually. This will be fixed in future versions of WealthLab. · When the status window is visible and WealthLab is being minimized, the status window stays visible. Normally, it should get minimized too. One side effect of this is that sometimes left clicking on the task bar to restore WealthLab will not work. In this case just right click on this icon, and select "restore". On SecurityThe bad news is that Streamer runs on an un-encrypted connection, which means that anybody could potentially see your Datek user name and Streamer password (SP). The good news is that SP is different from the Datek account password (DP), so the account is still safe. SP seems to have been computed by putting DP through a one-way function, which makes it impossible to get DP from SP. Thus, you should feel as safe using the Streamer Adapter as you feel using the Datek Streamer client. New Features
I am considering working on adding new several new features, which would make the adapter more useful and more pleasant to use. The most important of them is to continuously save the received data locally and make it available on request, for example in the case of changing the chart time resolution. I am waiting for more user feedback before making any decision though. Contact info
I would be very interested in getting your feedback. You can contact me for comments, bug reports, suggestions at michel@pacbell.net. Let me know if you want to be notified of fixes, new versions etc. Disclaimer
I have worked hard on making sure that this adapter does what is supposed to do reliably and accurately, but one never knows… Although I run a whole set of own tests and have been using it myself, you may experience run time problems (crashes, memory leaks, erroneous data etc). Please let me know of any problems you may encounter while using it, and I will do my best to fix them. Please acknowledge that by installing and using the Datek
Streamer Real Time Adapter, you accept that I, Adrian Michel, its developer,
cannot be held responsible for anything bad that may happen because of it –
use at your own risk I will take credit for the good things though J Very importantly, this program should only be used in accordance with the Datek/Ameritrade Streamer user agreement, license agreement or any other terms and conditions that you and Datek/Ameritrade have agreed upon. Datek/Ameritrade may decide to change the protocol or policies at any time, which may render the adapter unuseable. Credits
Thanks Jeremiah Mahler for help with deciphering the Datek protocol. Thanks Dr. Rene Koch for showing me how to generate the right wrapper classes for the WealthLab COM real time interfaces. Copyright (C) Adrian Michel 2003
|
||||||||||||||