Welcome Guest, please sign in to participate in a discussion. | Search | Active Topics | |
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
Can a PCF be created using MS? I would like to catch MS crossing above MS 18MA after being below for 5 days. I've tried a simple test: (MS1/MS1.1)*100 ___then tested using different stock symbols and I get erroneous results. I've tried a simple boolean formula: MS1>MS18 __and I get erroneous results.
Anyone have any thoughts on this?
Walt
|
|
Administration
Joined: 9/30/2004 Posts: 9,187
|
You're using the correct syntax.
MS = MoneyStream MS.1 = MoneyStream yesterday (1 day ago)
MS18 = 18 day avg of MS
|
|
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
I've got new info to add to my own question. I had been editing/testing my PCF: MS1>MS18 ___and getting erroneous results from the easyscan that contains this PCF. I had done an "update criteria" after downloading for 11-26 data and anytime the program said I have to (as when creating a new PCF). When I edited/saved the existing PCF, the easyscan was still working with the data from the last criteria update - thus my changes weren't working. I updated the criteria and this PCF seems OK now. I've found that, this update takes about 2 seconds if I don't include the CD - I just have to remember to include it later (takes about 10-15 minutes then) or if I do editing that would involve data contained on the CD.
I still think there is a problem trying to create a similiar MS PCF using math (for ranking) - if so I'll report back.
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
rtdip,
I think I understand what you are looking for. Try this:
(MS > AVG(MS,18)) AND (MS.1 < AVG(MS.1,18)) AND (MS.2 < AVG(MS.2,18)) AND (MS.3 < AVG(MS.3,18)) AND (MS.4 < AVG(MS.4,18))
Let me know if it works for you!
- Craig Here to Help!
|
|
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
Thankyou Stockguy & Craig_S for your input thusfar. Boolean seems to work OK using MS in a PCF but I'm still not getting good results using math.
Here's a simple experiment I tried (in case anyone wants to try this) as of today's close - downloaded & updated.
I created 2 simple PCF's: "MS above MS18-boolean"__MS1>MS18 "MS above MS18-math" ___(MS1/MS18)*100
I created 2 easy scans for the Dow 30 to test the above PCF's: scan 1:"Test Dow for MS above MS18-math" 1 condition-(math PCF) set value 100 to Max scan 2:"Test Dow for MS avove MS18-boolean" 1 condition-(boolean PCF)
And the results: scan...boolean ___ result=14 stocks, all confirmed MS above MS18 scan...math _____ result=0 stocks (definately not right)
Using edit, I looked at the math scan. The one & only condition (PCF) is now displayed as [value 0 to Max] [rank 999 to 999] [count 0]. The "value" side of the slide bar shows all zeroes!
At this point I'm convinced that a simple boolean PCF works fine with MS - it will filter. If I want to filter MS using math (for ranking) - even the filtering doesn't work.
Any thoughts?
|
|
Administration
Joined: 9/30/2004 Posts: 9,187
|
I tested both formulas tonight and they worked fine. The Boolean returned 14 stocks in the Dow 30 list and the math PCF worked fine as well.
Created another PCF (MS1-MS18) just to test the math and the 14 stocks that passed the Boolean all showed positive values while the remainder showed negative values.
|
|
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
I'm going to put this one to bed - but here are my final thoughts:
Part of my problem was cured by either recalculating more often and/or restarting TC2000. I replaced Dow30 with NASDAQ100 and repeated the test scan using PCF: MS1>MS18. This boolean PCF works great - accurate results.
I then did the scan using the math PCF: MS1/MS18 __value set for 1.1 to max. Here's where it hits the fan and my conclusions (based on formula MS1/MS18):
1) MS values seen on the graph seem to be unrelated to values displayed when testing PCF formula.
2) Even if MS1 is below MS18, if both formula values are neg the result must be pos. ___example CSCO: boolean=False(correct) math= 1.69 accepted(incorrect), greater than 1.1 .
3) Even if MS1 is above MS18, if one formula value is neg the result must be neg. ___example LVLT: boolean=True(correct) math= -0.60 rejected(incorrect), less than 1.1 . ___example YHOO: boolean=True(correct) math= 0.33 rejected(incorrect), less than 1.1 .
I'm not going any deeper with this - I'll use boolean for this type of MS scan. I want to catch the MS1 crossing MS18 but ranking the crossover wouldn't be of any value anyway.
I'm going to keep in mind the problems that can arise when dealing with neg values.
Thank's for the help.
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
rtdip, I remember when I began using MS in a PCF finding the values returned for a simple formula like "MS" to not match the chart. If my memory serves this is because the actual values of MoneyStream are meaningless (though the relative value of MoneyStream on a day-to-day basis is not).
MoneyStream is a cumulative indicator (meaning each new plot is built from the previous vs. each one being a discreet plot). When an indicator like Stochastics is calculated for a day, what the value of stochastics was the day before is not part of the calculation. When figuring out the STOC for today, whether the STOC yesterday was 10 or 100 does not matter. MoneyStream does calculate based on the previous plot. Where the MoneyStream was the day before WILL affect where it is today.
It is my understanding that the nature of the formula for MoneyStream requires it to have previous value to build off of to plot. So what about the first plot? How can the formula work if there is no previous plot because there has to be a first plot? I remember finding out that MoneyStream starts its calculation for the first plot to be built off of with an arbitrary number that can change every time it is plotted or calculated.
What does this mean? The actual value of MoneyStream will NEVER mean anything. What DOES matter with MoneyStream is how the value relates to previous values. When you create a Boolean PCF on MoneyStream it always reveals the relative nature of the values (is it greater/lesser/equal). When you do a PCF for MoneyStream you need to always make it relative by using division.
MS1 - MS18
This formula will return a value that is either negative or positive. Positive means MoneyStream is up. Negative means MoneyStream is down. The SIZE of the number is meaningless because whether it returns a value of -1,002,000 or -4 is more a result of the starting (arbitrary) number than what is seen on the chart. Now consider this formula:
(MS1 - MS18)/MS18
By using division the relative size of the difference is returned. The value of the difference will be in the context of the number subtracted.
*whew - takes breath*
I believe to make PCFs that are useful for MS you need to always use either Boolean or division. This is the only way to counter the lack of meaning behind a MS of 3,872 on one stock versus a MS of -45 on another (both of these values COULD be new highs or lows on the chart!)
Does this VERY longwinded answer offer any insight?
- Craig Here to Help!
|
|
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
Craig, I appreciate your response - I really would like to resove this problem of working with negative numbers.
I tried the formula you provided...(MS1-MS18)/MS18...and tested the PCF on LVLT, DELL, CSCO, and AZN. This is what I saw in the formula test window (based on 12-1-04 close date):
__LVLT__(8.90 - 3.90)/3.90 = 1.28 __DELL__(492.79 - 338.37)/338.37 = 0.46 __CSCO__(-286.10 - -212.90)/-212.90 = 0.34 __AZN___(- 85.78 - -41.87)/-41.87 = 1.05
I'm still seeing a problem - the result doesn't indicate being greater than or less than MS18. Notice the result for AZN is higher than DELL but CSCO is lower than DELL. The fact that the math rules are different based on whether one value is neg or both values are neg seems to foul up the result.
this is unrelated, but, when I type the number "neg8" this is what gets sent to you which is one of the smilies. Where do I go to learn how to use these and can they be turned off? Thanks
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
I don't know the text codes for all the emoticons but if you click on a "smile" to the left of where your type it will fill in the text version of the emoticon. I don't see the ability to "turn off" them in the profile options. Maybe on of the other administrators or trainers knows how...
- Craig Here to Help!
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
Getting around the negative numbers is straightforward enough. Instead of using (MS1-MS18)/MS18, use:
(MS1-MS18)/ABS(MS18)
This PCF will always produce a negative number if MS1<MS18 and a positive number if MS1>MS18, but for the reasons Craig explained above, still isn't useful for ranking and really doesn't provide any information beyond what MS1-MS18 would provide on its own.
If you wish to rank the difference between MS and MS18, you might wish to establish a time frame to use as context for the comparison. For example, a PCF for the difference between MS and its 18 period Simple Moving Average expressed as a percentage of the three month range of MS would be:
100*(MS-AVG(MS,18))/(MAX(MS,63)-MIN(MS,63))
Please let me know how this works for you.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Gold Customer
Joined: 11/25/2004 Posts: 79 Location: Illinois
|
Bruce, I tested the formula __(MS1-MS18)/ABS(MS18)__ in a scan as the only criteria with value set 0 to max. The results seem to be identical to a scan using boolean __MS1>MS18__ as discussed earlier. As you & others have stated (and I tend to agree), ranking MS doesn't serve any useful purpose. It's good to know that the negative numbers CAN be dealt with in this PCF - I'm sure I'll run into a similar type of formula where ranking would be desired.
The second formula works fine also. I need to play with it more to see if what it gives is what I need.
Thanks to all, Walt
|
|
Guest-1 |