Here’s the Cycle Moving Average…
… and the Cycle Moving Average Shift:
So far, it’s easy enough to write the code, but there’s still plenty nagging me about Ensign… like: it’s not yet obvious to me how to set the default values for an indicator’s inputs. Unfortunately, ensign is not like TS or Ninja where you can look at the code for all of their default indicators for examples of how things are done. Too bad, as that leaves me with a mostly blank page. I’ll need to spend more time researching how to put the polishing touches on an indicator. But, at least, so far I haven’t had any trouble specifying the calculations I want.
It’s also troubling to me that I can only run indicators as a number, such as “ESPL 51″… and at least it appears that if I define a second indicator by the same number (which is inevitable because I only have 10 numbers to work with), then the chart gets confused when I add both to the chart at once. Not sure what that’s all about…
It’s also feeling strange to me the way the functions provided work… I think a lot of redundant calculation is going on… for instance, if I want an EMA on TS, I say: XAverage(Close,10), and I can save that to a variable and reference past values. Also, future values are computed in terms of past values. In Ensign, on the other hand, it seems I have to call the ExpAverage function once for every historical value I need, and that the entire average will be recomputed for each occasion, for each bar. It seems determined to save memory by not holding on to history. Not sure how smart that trade-off is in 2008.
I’m also slightly alarmed by the ensign concept of “re-sizing” the chart. Basically, if the chart grows past a certain bar size, it will:
- Drop some bars from the start of the chart
- Recalculate all of the indicator data from scratch
Other than a few oddities about the way it treats arrays, that doesn’t sound horrible, except that we have several indicators that only properly function on a tick-by-tick basis… so when this “re-sizing” happens, I bet all those indicator values turn to nonsense end-of-bar values… unless it recalculates the whole thing tick-by-tick… which once again would be a horrible waste of computation just to save some memory.
Maybe I just need to learn more, to get past these issues… but they leave me with a kinda weird feeling about this platform. It feels very low level and brittle at this point. No offense to Ensign developers and users… just my first impressions.



October 13th, 2008 at 2:56 am
Hello richard, congrats on finishing ninja and good luck with Ensign
October 13th, 2008 at 11:03 am
Thanks man. With a name like ScalpWiz, you should start a blog about your trading!