Robert,
Your example:
{where C is price} eom := Emv(C,12); Mov(C,eom,S) {s is simple moving average}
Is easily accomplished in TradeStation. You'd write it something like this:
Inputs: Price(Close), ExLength(12); Variables: eom(0), myresult(0);
eom = XAverage(Price, ExLength); myresult = Average(Price, eom); Plot1(myresult, "MyFunkyAverage");
I'm surprised that Metastock can't do that! As a former Windows on WallStreet user from long ago, I once considered moving to Metastock as it always seemed to get fairly high marks from users and the 'language' was something I was familiar with. However a more complete language was something I longed for, and TradeStation "EasyLanguage" fits the bill and will be more intuitive for anyone with even a minor programming bent, IMO.
Re the other comment: Well, MetaStock lets you do optimization and backtesting with variables for these parameters, but it won't actually let you 'plot' a chart with these values, nor will will it let you backtest a system where *you* are placing your own non-constant variables in the PERIOD fields. Ms has special variables for this (opt1, opt2...optN), but I can't put a variable in there called X that changes over time.
Trivial for TradeStation. No extra work required. Any 'strategy' that you build can be optimized - any input parameter whether its canned or one you build can be optimized. Reason - all the functions are themselves written in Easylanguage, there's no real distinction between what comes in the box and what you develop.
If you need to do funkier things, you can write external DLLs that can be called from within.
Not to say TradeStation 2000 didn't have its own problems, but since SP4/SP5 I have no trouble saying that it is fully usable. Its my primary tool and I don't see that changing. |