Gold Customer
Joined: 3/21/2005 Posts: 12

Hi Bruce  I would like to moidfy Elders Force Index to take into account the close within its range. Thus if the close is up it would be multiplied by the volume (Elder Force Index) but that would be mullitplied by where it is wthin the range. From 0100%. If the close is up and at 75% level the Elder Force model would be mulitplied by 0.75. If the close is down and the range is at the 25% level (the negative volume would be mulitplied by 75%). So it really depends on whether the close is above or below yesterdays close in addition also depends on whether the close is above or below the 50% level. I hope you get what I mean. Just trying to modify Elder Force by position within range. Thanks for all your great programming

Worden Trainer
Joined: 10/7/2004 Posts: 61,183

Maybe the following for a 2 period modified Force Index?
XAVG((C  C1) * V * IIF(C > C1, STOC1, 100  STOC1), 2) / 100
And 13 period exponential moving average trigger?
XAVG(XAVG((C  C1) * V * IIF(C > C1, STOC1, 100  STOC1), 2), 13) / 100
Elder Force Index
Bruce Personal Criteria Formulas TC2000 Support Articles

Gold Customer
Joined: 3/21/2005 Posts: 12

Thanks for the prompt response. The more I think about, what I am tyring to do is modify the Force Index by the close within the True Range. Eg a stock gaps up but closes at the low of the day. Instead of just multiplying the V*Price change it also takes into account the close within the TRUE range. Not sure if that would add any extra information that is interpretable over and above the original Force Indexx as the Forece Index indirectly takes that into account. Is that easily programmed?

Gold Customer
Joined: 3/21/2005 Posts: 12

I ran your formula for the modified Force Index but it looks almost exactly the same as the original force index on the chart.

Worden Trainer
Joined: 10/7/2004 Posts: 61,183

This is not particularly surprising as it still uses the basic format of the Force Index. The only modification was to alter how much volume was added or subtracted based on where price was within its range for the current bar.
So the original would be:
XAVG((C  C1) * V, 2)
And the adjusted version becomes the following.
XAVG((C  C1) * V * IIF(C > C1, STOC1, 100  STOC1), 2) / 100
Note it is essentiall just multiplying the value calculated at each bar before the moving average is applied by the following factor.
IIF(C > C1, STOC1, 100  STOC1) / 100
So if the net change is positive at price is 75% of the way up the bar, then the value is multiplied by 0.75 (75 / 100).
We can change that factor to where price is relative to true range instead of normal range as follows (note this only differs from the original factor when price falls outside the range of the current bar).
IIF(C > C1, (C  LEAST(L, C1)) / (GREATEST(H, C1)  LEAST(L, C1)), (GREATEST(H, C1)  C) / (GREATEST(H, C1)  LEAST(L, C1)))
This would result in the following formula for a 2 period modified Force Index.
XAVG((C  C1) * V * IIF(C > C1, (C  LEAST(L, C1)) / (GREATEST(H, C1)  LEAST(L, C1)), (GREATEST(H, C1)  C) / (GREATEST(H, C1)  LEAST(L, C1))), 2)
And the following formula for a its 13 period exponential moving average trigger line.
XAVG(XAVG((C  C1) * V * IIF(C > C1, (C  LEAST(L, C1)) / (GREATEST(H, C1)  LEAST(L, C1)), (GREATEST(H, C1)  C) / (GREATEST(H, C1)  LEAST(L, C1))), 2), 13)
Bruce Personal Criteria Formulas TC2000 Support Articles

Gold Customer
Joined: 3/21/2005 Posts: 12

Thanks for great quick programming, That is what I was looking for. It just proves to me I did not think up any new insights. I thought I had a new angle on the indicator but like you said it just shifts it a little with no insightful differences. Thanks for you help. The visual of the results is very helpful.
