We aren't going to be able to accomplish everything on this list within TC2000.
QUOTE (Afam) Design a test to indicate when the X moving average cuts ABOVE the Y moving average (e.g. The 10 Day Moving average cuts from under to over the 50 Day moving average)
XUP(AVGC10, AVGC50)
QUOTE (Afam) Count the number of times it crosses above
The following counts the number of times the cross has happened in the most recent 100 bars.
CountTrue(XUP(AVGC10, AVGC50), 100)
QUOTE (Afam) Calculate the shortest period during which the X moving average stays above the Y moving average
The following displays the smallest number of bars above (with a max of 100 bars) in the most recent 100 bars. If there are no qualifying events, it displays 10000 instead.
MIN(IIF(XDOWN(AVGC10, AVGC50), TrueInRow(AVGC10.1 > AVGC50.1, 100), 10000), 100)
QUOTE (Afam) Calculate the average period that the X moving average remains above the Y moving average
SUM(IIF(XDOWN(AVGC10, AVGC50), TrueInRow(AVGC10.1 > AVGC50.1, 100), 0), 100) / CountTrue(XDOWN(AVGC10, AVGC50), 100)
I don't really know of a practical way to implement the mode request and do not understand the range request.
Bruce
Personal Criteria Formulas TC2000 Support Articles

No, the formula given is for the low being more than 0.95 SD below.
The high being more than one SD above would be the following.
H > 3 * FAVGC63  2 * AVGC63 + STDDEV63
The high being more than two SD above would be the following.
H > 3 * FAVGC63  2 * AVGC63 + 2 * STDDEV63
Bruce
Personal Criteria Formulas TC2000 Support Articles

No, the formula given is for the low being more than 0.95 SD below.
The high being more than one SD above would be the following.
H > 3 * FAVGC63  2 * AVGC63 + STDDEV63
The high being more than two SD above would be the following.
H > 3 * FAVGC63  2 * AVGC63 + 2 * STDDEV63
Bruce
Personal Criteria Formulas TC2000 Support Articles

Please try the following.
TrueInRow(NOT(MAXH12.1 > MAXH12.2), 20) < SinceTrue(MAXH12.1 < MAXH12.2, 20)
Bruce
Personal Criteria Formulas TC2000 Support Articles

No, there isn't any syntax in the Personal Criteria Formula Language for referencing fundamentals such as float.
Bruce
Personal Criteria Formulas TC2000 Support Articles

You could have read it either place. I don't remember of the TASC version was simple or exponential, but there are quite a few different iterations in the forums.
The basic idea is to create an equation for the two moving averages (or other indicators for that matter) being equal and then solving for C .
XAVGC3 = XAVGC8
(2 * C + 2 * XAVGC3.1) / 4 = (2 * C + 7 * XAVGC8.1) / 9
18 * C + 18 * XAVGC3.1 = 8 * C + 28 * XAVGC8.1
10 * C = 28 * XAVGC8.1  18 * XAVGC3.1
C = (28 * XAVGC8.1  18 * XAVGC3.1) / 10
C = (14 * XAVGC8.1  9 * XAVGC3.1) / 5
So since we have solved for C , the formula for the price at which the two moving averages would be equal today is the following.
(14 * XAVGC8.1  9 * XAVGC3.1) / 5
Now you may actually be interested in tomorrow's close. The price at which the two moving averages would be equal tomorrow (assuming price remains unchanged today) just requires subtracting 1 from the offset parameters.
(14 * XAVGC8  9 * XAVGC3) / 5
If the result is negative, then the moving averages cannot cross. If the result is "far away" from the current price (greater than ATR for example), then the moving averages are unlikely to cross.
Bruce
Personal Criteria Formulas TC2000 Support Articles
