Hi, My startegy is running fine on a watchlist, but it threw out error when I click "Run this strategy now" in Strategy Monitor(SM). The msg is " Error(4): Index was out of range. Must be non-negative and less than the size of the collection. Parameter name:index"

Your provider is ASCII and not Bloomberg, got it. By asking, I was just trying to understand what's the real problem except than getting an error message in Strategy Monitor? Now I see - you're trying to run a Strategy using the ASCII provider. However, it's probably not working because the ASCII provider currently does not support Strategy Monitor. It may be a good idea to support it though, so I'd appreciate a support ticket.

While you are looking into this, can you also revisit this issue I reported previously as it may be related: /Forum/Posts/GetExternalSymbol-and-Strategy-Monitor-bugs-or-is-it-just-me-30816 Two upgrades/patches for WLPro have been released since my post but the issue is still there.In brief, the strategy runs fine by itself but throws off an error in the Strategy Monitor. The strategy references data (for certain calculations only, not for placing trades) from an external symbol - its a futures symbol in Metastock format; if you need the symbol data file, let me know.Its frustrating to run the strategy manually on symbols individually and feed the alerts to Quotes Manager.

Can you explain what you mean by "Metastock provider does not support it."? Its not that I want SM to download the data or anything; its just that some number crunching needs to be performed on that data (which has already been updated).

It means that Strategy Monitor will never request updates after initially running a strategy. This is what's called "to support Strategy Monitor in provider" and requires some extra code (if applicable i.e. when the provider supports on demand data update).

Well, I don't know where the problem lies but the fact is that the strategy won't run in SM, and throws off that error. Which is surprising because all that I am doing is referencing a price series (on an external symbol) for some number crunching; no trade is being placed on the external symbol. The fact that the symbol is a futures symbol or that the provider is Metastock should be irrelevant as all I am doing is getting a price series - a series comprised of double precision numbers like any other series. So theoretically it should work, but it doesn't.

A properly designed SM would not request data updates when Data on Demand is turned OFF, as in my case, or fail to execute even if it couldn't find any updates. Unfortunately, it does appear that it DOES request data updates as one can verify by monitoring internet activity after activating a strategy. At the very least, this is unexpected behavior; whether this is also ultimately responsible for the failed execution I don't know.

The SM is designed is to load the requested data loading range at first and then only the required updated intraday data. This applies to intraday time frames and effectively reduces the amount of data loaded and processing required on interval updates. On demand data updates have nothing to do with it.

Just give it a thought: if user could break the SM from interval updates by disabling an option (on demand data update) in the menu, what would it be? :) In addition to that, I'm speaking about the regular updates, not on demand. For ASCII or Metastock, on demand update isn't supported and simply can't be guaranteed, so there's nothing to update (and to support regular update at intervals). Hope this makes it more clear.

Ok, I see your point of view about intraday data, but I was thinking from the non-intraday (daily, weekly) perspective. I think you can change SM to use a "smart" routine so that it updates intraday data only, leaving it to the user to update all data before running the non-intraday strategies.

Think about it from my situation: I can run my strategy (it uses daily bars) in the strategy window w/o any hiccup. But when run inside the SM using identical settings, it causes an error. What's the main diff between the two? - SM goes out and tries to collect the data, and after failing to do so (its a futures symbol, hence no data from Fidelity) it causes the error.

Cone had mentioned in the other thread I referenced above that there's a known issue with GetExternalSymbol in SM; while that may be a contributing factor, I am not sure if that can explain the complete failure of this strategy to run successfully in SM, as I have other strategies that also use GetExtSymbol, and they run OK inside SM; their main diff from this strategy that fails to run? - the latter uses a futures symbol, they don't. Which goes back to my original thought - that somehow the (unnecessary) download routine in SM is to blame.

QUOTE:Think about it from my situation: I can run my strategy (it uses daily bars) in the strategy window w/o any hiccup. But when run inside the SM using identical settings, it causes an error. What's the main diff between the two? -

By design, static data providers that do not support requesting data updates, are out of luck with Strategy Monitor - they can't be employed there (example: ASCII, MetaStock).

I think the forced data update routine in SM for EOD data is rather unnecessary.But I am going to move on since I have bigger issues on my mind.Atleast I can run the script in the strategy window and generate alerts that way - though the inability to save, and retrieve, alerts for the Quote Manager means alerts need to be generated afresh after each time the strategy window is closed, and that's another point of frustration.

I am facing the same problem that Sammy, but using Yahoo as a data provider. As I have understood in this thread, it should work with yahoo, but I have exactly the same error than Sammy: It works ok when running it from the designing window, but it returns that " Error(4): Index was out of range. Must be non-negative and less than the size of the collection. Parameter name:index" from the Strategy Monitor...

Checked. The only provider is Yahoo... But I have to check sth because working against some packages it works and against some other it does not. Maybe when it fails, it is because it is failing for some symbol in that package...

We sent an Verification
Code to your email address. If you don't receive this code within the next 5 minutes.
Please click here to
request a new code.
New Verification Code sent. Please check your Inbox.Please enter your Email to receive a new Verification Code