Currently, as far I know, the only way to run a formula script is in an advanced chart. I am looking for a way to run a script on several symbols in batch mode. The output in this case would be written to a file (or files), rather than to the chart. Is there any way to do this?
Announcement
Collapse
No announcement yet.
Batch Processing?
Collapse
X
-
You do not have to have a return value in an efs. The return values are what get plotted. Then you could just dump the information you are seeking to a file. Alternately, dump data to an Excel spreadsheet then manipulate it. Not exactly what you were after but it will get you there.
-
So, I can effectively turn off the chart output by not using a return value, and I can dump to a spreadsheet. If I want to collect data this way though, I have to do it manually, one symbol at a time using the advanced chart. At least, that's my assumption.
Is there another way to process several symbols in an unattended batch mode, using the data manager to retrieve historical price data? Basically, I would like to back test a select universe of stocks this way, and generate a results file. I'm wondering if DDE functions can be used somehow, or if I am talking about something that requires API software.pa-kay
Comment
-
getValue() will accept a symbol. you only need one efs. read in a list from a file or just hard code into an array. then run through a loop. dump the results to a file(s). start small. if you make a mistake you could end up in an endless loop.
Comment
-
Isn't getValue (or getSymbol) used only for retrieving the symbol that is already displayed?
Can you SET a symbol using EFS?
Also, another problem with looping through a symbol list is that only 5 symbols can be used in one chart.
(Haven't checked so please tell me if I'm wrong)
Comment
-
ykk,
You are right about the 5 symbol limit. I just wrote a quick script using getValue() in this way and got a run time error: The Symbol Limit(5) for a formula has been exceeded. Bummer.
As to the other part of your post, I think getSymbol() is the function for retrieving the chart symbol name. getValue() seems to work for other symbols within the 5 symbol limit.
I guess I need to use the Desktop API with a seperate program to do batch processing on a greater number of symbols. The idea of setting up a page with a bunch of charts is something to try in the meanwhile.
Thanks.pa-kay
Comment
-
OK, I think I understand what you're saying about the getValue function now.
At first, I thought you were trying to change the symbol of the chart so the EFS would run during reload. I guess you don't need the chart itself, just the data.
Actually, that was how I was doing it.
I have a chart with an EFS that saves the data on file, and a quoteboard with all the symbols I need. Both linked together.
I click through all the symbols on the quoteboard to display them on the chart one by one, and while the charts get loaded the EFS is executed and the data is saved to a file.
This is my routine work everyday before the market opens, but its a bit time consuming and I, too, wanted to be able to do this automatically.
Comment
-
ykk,
I imagine we are not the only ones who would like to automate these tasks. Maybe it wouldn't be too difficult for the eSignal folks to implement something basic in order to facilitate this. I've already emailed a couple of suggestions about adding script capability to quote windows, for example.
My first thought was to enable custom EFS alerts in a quote window, which would function similar to the existing ones. This would simply compare the last trade (or bid/ask?) to a calculated value from a formula.
I suppose there might be a problem with processor overhead, or some other performance factor, if the number of alerts were many. After thinking about your system with the linked quote board, I thought some sort of slide show function that automatically steps through the quote list and reloads the chart would be helpful. Maybe some sort of macro creation utility could memorize the key strokes and repeat them until the end of list...
This isn't too much to ask for, is it?pa-kay
Comment
-
Macro Utility
Hi:
I just went to a Metastock workshop in Chicago and the speaker recommended MacroExpress. The URL is:
The Program is $40 and it seems to have won a lot of awards.
For disclosure, I have nothing to do with this product and the person recommending the product had no association.
So do your own due diligence and if it serves your needs - great. And, if it does not, don't use it.
Harndog
Comment
-
Harndog,
This may be a little off the subject here, but since you are a MetaStock user (I assume), I have a couple of questions for you. Have you used the MetasStock formula language much and how does it compare with writing eSignal scripts? I haven't used MetaStock yet myself, but I have been reading a ver. 6.5 manual to see what it is all about. Even this older version seems pretty powerful, and it looks like the ability for automatically backtesting a batch of symbols is included in the latest release. Is this correct?pa-kay
Comment
-
Metastock
pa-kay:
I am an Advanced Get user, so I use E-signal.
I must admit I have not done much programming in Metastock. I have a friend who uses Metastock with Excel. And, it is a sight to behold. However, he is not making money much (or maybe any) money. Also as I have ADD, I find programming difficult.
With this being said, I purchased Metastock 8.0 to backtest trading systems. Its ability to run backtests is very impressive. However, backtesting is only as good as the person monitoring the tests. Are the test and data statistical valid? As Brad said, test, debug, test is the way backtesting goes. What I have come to learn is that backtesting is an art and science. I went to the Metastock presentation and I was starstruck and was caught up in "Holy Grail Fever."
So, my short answer is you can do all the stuff they say you can do and it still may not matter. I continuously have to work on mastering time, price and volume behavior. If I can accomplish this, I will be able to make money with any trading package.
Harndog
Comment
Comment