Running "rule" created 5.6 strategies in 6.0
Author: ell7123
Creation Date: 8/26/2010 3:16 PM
profile picture

ell7123

#1
I am having problems with some, only some, of my strategies created by "rules" in 5.6 when trying to run them in 6.0. I get an error message that provides a long-named temp file, and then "error CS1022: type or namespace definition or end of file expected." I can work around this by opening the code for the strategy and deleting an apparently extra "{" which 6.0 seems to have added to the rules-based code. By doing this the strategy runs, but it is inconvenient and much more difficult to add further filters/indicators in the "code" version than in the "rules" version. Any suggestions on how to run the rules based strategies without converting to "code"?
profile picture

Eugene

#2
Off the top of my head, i.e. first hearing about the issue from you, I'd fire a text editor (XML capable, not Notepad or a word processor!) and rule out the extra "{".

We'd appreciate if you could open a new support ticket, zip and attach a couple of supposedly broken strategy files. (Look for them in the Strategies subfolder, see User Guide > Data > Where data are stored on how to get there; enable hidden file/folder visibility.)
profile picture

Cone

#3
There was some work done in this area in 6.0, but we weren't aware of any breaking changes. I just looked at a few Rules-based Strategies I created (pre 5.6) and they still work fine.

Please try to recreate the Rules for your Strategies fresh in 6.0, and if there's still a problem, please create a Support Ticket so we can get to the bottom of it.
profile picture

ell7123

#4
I have sent in a support ticket. But, earlier today I did re-create the exact same rules in a new 6.0 strategy file as those used in the 5.6 strategy. I got the same error code.
profile picture

Eugene

#5
Thanks, we'll try to find what's going wrong there.
profile picture

Eugene

#6
Here's what we found:

1. Orphaned "OR" divider i.e. when there's no rule below an "OR" divider, inserts an extra "{".

Solution: remove the orphaned OR divider which isn't required anyway. (Bug)

2. MACDEx users! This indicator from Community Indicators has a breaking change in the current version 2010.09. MACDEx and its derivative indicators used in rule-based or code-based strategies alike before 6.0, will result in a compilation error.

Solution: for code-based strategies - remove an extraneous Bars parameter (check out the online help pages in the Wiki); for Rule Wizard - simply highlight an affected condition (that uses MACDEx or one of its derivatives) and re-select MACDEx (Histogram, etc.) from the Indicators list > Community Indicators.
profile picture

ell7123

#7
Okay, I can continue the work-around, and I don't want to make more out of this than there is, but none of the strategies I sent you contains any dangling disjunctives.
profile picture

Eugene

#8
At least that's how they show in WL6: a dangling OR divider. So you mean to say that a condition was lost along the way from 5.6 and not properly read by 6.0?
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).