ASCII Error when using GetExternalSymbol
Author: rdevolde
Creation Date: 4/8/2011 12:18 PM
profile picture

rdevolde

#1
I have imported some historical ASCII data into a separate DataSet and am then running multi-symbol strategies on purely Fidelity based data using the - Bars asciidata = "GetExternalSymbol("xyz", true); command.

I am able to run my strategies a number of times and then it seems at random I get the following popup errors:

Index was outside the bounds of the array.
Unable to get Data on Demand for symbol: xyz

I also find it interesting my strategy will run through and give me the same results regardless of whether or not I get this error. I isolated the GetExternalSymbol command in a separate strategy shown below and still receive the above mentioned errors:

CODE:
Please log in to see this code.



I have tried clearing the data cache and deleting and reimporting the ASCII data but neither of these seem to solve the error permanently. Sometimes reloading the data will eliminate the error temporarily only to have it return later. The same occurs when restarting the Wealth-Lab program.

Any help would be greatly appreciated!
profile picture

rdevolde

#2
Just thought of some additional information. This error creates a pop-up box equal to the number of symbols in the Fidelity DataSet. For example, if I run my code on 1 symbol I get 1 pop-up box, if I run it on 5 I will get 5 pop-up boxes (the next one appearing after I click okay to close the previous one.
profile picture

Eugene

#3
QUOTE:
Index was outside the bounds of the array.

Could you hit Ctrl-C when the message box is active to copy the complete error message displayed there?
QUOTE:
Unable to get Data on Demand for symbol: xyz

Will disabling on demand data update in Data Manager make the message(s) go away?
profile picture

rdevolde

#4
Thank you so much Eugene. I was becoming very frustrated at not being able to backtest on DataSets containing numerous ticker symbols. Disabling the update data on demand option in the Data Manager eliminated both of these errors/messages.

This is a very minor inconvenience so my backtesting will no longer be hindered. If you have any ideas of why this would have solved the problem and what could be done to fix it in the first place would simply be icing on the cake at this point. Below is a screenshot of the pop-up box I receive when the update data on demand option is active:







Thanks again for solving my problem and for the quick reply!
profile picture

Eugene

#5
It's simple: symbol "xyz" (or "XYZ") isn't valid and/or isn't present in Fidelity data, so Wealth-Lab is notifying you that it's data couldn't be accessed on demand.

Although I don't work with Fidelity data, with other data providers like Yahoo! I couldn't even reproduce this.
profile picture

caseyjay_48

#6
I have a problem similar to the last post and Wonder if anyone has a solution. I have imported dividend adjusted metastock data from FastTrack for the mutual fund PEMDX. It is imported into a WL DataSet folder named "FT_MIX_Export" as symbol "PEMDX".
I attempted to load it using GetExternalSymbol from that folder and named it "ftpemdx". When I run it I get Runtime error: Could not load data for symbol ftpemdx ..... at WL.WS.SetContext(..). How do I Buy or Sell using an imported data series? Thanks for any help Ken Johnston. Example Code below.
CODE:
Please log in to see this code.
profile picture

Eugene

#7
Try this:
CODE:
Please log in to see this code.

profile picture

caseyjay_48

#8
Thanks for your suggestion Eugene. I have tried this, but it has not worked for me because WL finds the Fidelity series on PEMDX instead of the imported, dividend adjusted, series in the FT_MIX_Export folder and uses the unadjusted Fidelity price data to trade instead of the adjusted price data that I have imported...Ken Johnston
profile picture

Eugene

#9
On a second look, remove the SetContext/GetExternalSymbol call and just trade the ASCII symbol.
profile picture

caseyjay_48

#10
Eugene, thanks for the suggestion, it works. I am however, trying to trade a basket of symbols contained in the folder, so I can't just point to and trade just one. But, I got the whole thing working anyway. If I click on one of the symbols in the folder to be my reference symbol (used spy in the folder even though I don't trade it), WL will try to find the symbol in that folder first. Thus it will catch my dividend adjusted PEMDX in that folder instead of looking for PEMDX somewhere else. Thanks again for your help...Ken Johnston
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).