Isn't a constructor for your strategy class (in this case, "WealthLab") required?
CODE:
Please log in to see this code.
Rather than naming your strategy "WealthLab", you might pick a more descriptive name that sets it apart from other strategies you might be running. For example, "Bull_Run" if it's a buy high strategy.
You'll need some executable statements in the Execute() block to make this functional. How about adding something in there that's executable.
I don't think you need the interface definition block as yet. I would get a "hello world" strategy working first before creating and calling subclasses requiring an interface. Personally, I do use many subclasses (in a private DLL component library) in my strategies since they all share common functions. But all these subclasses started in the main strategy code, then--after debugging--were moved into a class of their own. But they didn't start out that way. That's added later.
If you want to add your subclasses to your strategy via inheritance, then you'll need an interface block. But using that inheritance approach is
not required. I simply call my subclasses directly
without inheriting them on the strategy class definition line. Most WL users use that direct approach. Except for a few .NET types, none of my own code employs an interface block.