Download software Tutorial videos
Subscription & data-feed pricing Class schedule


New account application Trading resources
Margin rates Stock & option commissions

Attention: Discussion forums are read-only for extended maintenance until further notice.
Welcome Guest, please sign in to participate in a discussion. Search | Active Topics |

Wilder's RSI is now an Indicator, but how do I reference it in a PCF? Rate this Topic:
Previous Topic · Next Topic Watch this topic · Print this topic ·
thisstockguy
Posted : Friday, April 4, 2014 12:41:53 AM
Registered User
Joined: 10/7/2010
Posts: 92

I see under the Indicators tab of TC 2000 (Beta 12.4.5205.30028) there is a "RSI- Wilder's" indicator, which is great! About time.  :-)

But how do I reference this indicator in my PCF? I thought the indicator name would be WRSI but it's not.

TIA
Barry

Bruce_L
Posted : Friday, April 4, 2014 9:41:47 AM


Worden Trainer

Joined: 10/7/2004
Posts: 65,138

It is not particularly new. It was not part of TC2000 when I first started working here, but we've had a Wilder's smoothed RSI indicator available in TC2000 for probably 11 or 12 years (maybe 13, but more likely 11 or 12).

That said, there really haven't been any significant changes to the syntax available in the Personal Criteria Formula Language since before a Wilder's smoothed RSI became available. Exponential moving averages were added to PCFs at about the same time as the Wilder's smoothed RSI was added to the program.

Beyond that, the changes to PCFs have been functional as opposed to changing syntax. Things like adding Custom Indicators which can use the PCF Language and the addition of adjustable time frames in version 12.

This means that while a Wilder's smoothed RSI has been available, there isn't any built in syntax for a Wilder's smootheng RSI in the PCF Language. This means an Indicator Formula for a Wilder's smoothed RSI can be quite long. For example, the following represents a 14-period Wilder's smoothed RSI:

50 * (C - XAVGC27.1) / 14 / (.071435345 * (ABS(C - C1) + 13 / 14 * (ABS(C1 - C2) + 13 / 14 * (ABS(C2 - C3) + 13 / 14 * (ABS(C3 - C4) + 13 / 14 * (ABS(C4 - C5) + 13 / 14 * (ABS(C5 - C6) + 13 / 14 * (ABS(C6 - C7) + 13 / 14 * (ABS(C7 - C8) + 13 / 14 * (ABS(C8 - C9) + 13 / 14 * (ABS(C9 - C10) + 13 / 14 * (ABS(C10 - C11) + 13 / 14 * (ABS(C11 - C12) + 13 / 14 * (ABS(C12 - C13) + 13 / 14 * (ABS(C13 - C14) + 13 / 14 * (ABS(C14 - C15) + 13 / 14 * (ABS(C15 - C16) + 13 / 14 * (ABS(C16 - C17) + 13 / 14 * (ABS(C17 - C18) + 13 / 14 * (ABS(C18 - C19) + 13 / 14 * (ABS(C19 - C20) + 13 / 14 * (ABS(C20 - C21) + 13 / 14 * (ABS(C21 - C22) + 13 / 14 * (ABS(C22 - C23) + 13 / 14 * (ABS(C23 - C24) + 13 / 14 * (ABS(C24 - C25) + 13 / 14 * (ABS(C25 - C26) + 13 / 14 * (ABS(C26 - C27) + 13 / 14 * (ABS(C27 - C28) + 13 / 14 * (ABS(C28 - C29) + 13 / 14 * (ABS(C29 - C30) + 13 / 14 * (ABS(C30 - C31) + 13 / 14 * (ABS(C31 - C32) + 13 / 14 * (ABS(C32 - C33) + 13 / 14 * (ABS(C33 - C34) + 13 / 14 * (ABS(C34 - C35) + 13 / 14 * (ABS(C35 - C36) + 13 / 14 * (ABS(C36 - C37) + 13 / 14 * (ABS(C37 - C38) + 13 / 14 * (ABS(C38 - C39) + 13 / 14 * (ABS(C39 - C40) + 13 / 14 * (ABS(C40 - C41) + 13 / 14 * (ABS(C41 - C42) + 13 / 14 * (ABS(C42 - C43) + 13 / 14 * (ABS(C43 - C44) + 13 / 14 * (ABS(C44 - C45) + 13 / 14 * (ABS(C45 - C46) + 13 / 14 * (ABS(C46 - C47) + 13 / 14 * (ABS(C47 - C48) + 13 / 14 * (ABS(C48 - C49) + 13 / 14 * (ABS(C49 - C50) + 13 / 14 * (ABS(C50 - C51) + 13 / 14 * (ABS(C51 - C52) + 13 / 14 * (ABS(C52 - C53) + 13 / 14 * (ABS(C53 - C54) + 13 / 14 * (ABS(C54 - C55) + 13 / 14 * (ABS(C55 - C56) + 13 / 14 * (ABS(C56 - C57) + 13 / 14 * (ABS(C57 - C58) + 13 / 14 * (ABS(C58 - C59) + 13 / 14 * (ABS(C59 - C60) + 13 / 14 * (ABS(C60 - C61) + 13 / 14 * (ABS(C61 - C62) + 13 / 14 * (ABS(C62 - C63) + 13 / 14 * (ABS(C63 - C64) + 13 / 14 * (ABS(C64 - C65) + 13 / 14 * (ABS(C65 - C66) + 13 / 14 * (ABS(C66 - C67) + 13 / 14 * (ABS(C67 - C68) + 13 / 14 * (ABS(C68 - C69) + 13 / 14 * (ABS(C69 - C70) + 13 / 14 * (ABS(C70 - C71) + 13 / 14 * (ABS(C71 - C72) + 13 / 14 * (ABS(C72 - C73) + 13 / 14 * (ABS(C73 - C74) + 13 / 14 * (ABS(C74 - C75) + 13 / 14 * (ABS(C75 - C76) + 13 / 14 * (ABS(C76 - C77) + 13 / 14 * (ABS(C77 - C78) + 13 / 14 * (ABS(C78 - C79) + 13 / 14 * (ABS(C79 - C80) + 13 / 14 * (ABS(C80 - C81) + 13 / 14 * (ABS(C81 - C82) + 13 / 14 * (ABS(C82 - C83) + 13 / 14 * (ABS(C83 - C84) + 13 / 14 * (ABS(C84 - C85) + 13 / 14 * (ABS(C85 - C86) + 13 / 14 * (ABS(C86 - C87) + 13 / 14 * (ABS(C87 - C88) + 13 / 14 * (ABS(C88 - C89) + 13 / 14 * (ABS(C89 - C90) + 13 / 14 * (ABS(C90 - C91) + 13 / 14 * (ABS(C91 - C92) + 13 / 14 * (ABS(C92 - C93) + 13 / 14 * (ABS(C93 - C94) + 13 / 14 * (ABS(C94 - C95) + 13 / 14 * (ABS(C95 - C96) + 13 / 14 * (ABS(C96 - C97) + 13 / 14 * (ABS(C97 - C98) + 13 / 14 * (ABS(C98 - C99) + 13 / 14 * (ABS(C99 - C100) + 13 / 14 * (ABS(C100 - C101) + 13 / 14 * (ABS(C101 - C102) + 13 / 14 * (ABS(C102 - C103) + 13 / 14 * (ABS(C103 - C104) + 13 / 14 * (ABS(C104 - C105) + 13 / 14 * (ABS(C105 - C106) + 13 / 14 * (ABS(C106 - C107) + 13 / 14 * (ABS(C107 - C108) + 13 / 14 * (ABS(C108 - C109) + 13 / 14 * (ABS(C109 - C110) + 13 / 14 * (ABS(C110 - C111) + 13 / 14 * (ABS(C111 - C112) + 13 / 14 * (ABS(C112 - C113) + 13 / 14 * (ABS(C113 - C114) + 13 / 14 * (ABS(C114 - C115) + 13 / 14 * (ABS(C115 - C116) + 13 / 14 * (ABS(C116 - C117) + 13 / 14 * (ABS(C117 - C118) + 13 / 14 * (ABS(C118 - C119) + 13 / 14 * (ABS(C119 - C120) + 13 / 14 * (ABS(C120 - C121) + 13 / 14 * (ABS(C121 - C122) + 13 / 14 * (ABS(C122 - C123) + 13 / 14 * (ABS(C123 - C124) + 13 / 14 * (ABS(C124 - C125))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + 50

You are much better off adding the RSI - Wilder's indicator to the chart in TC2000 version 12.4. This allows you to click on it and select Create Scan Condition to create a fairly wide variety of conditions based on it.

Create Conditions from Your Chart



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
thisstockguy
Posted : Thursday, July 10, 2014 6:06:06 PM
Registered User
Joined: 10/7/2010
Posts: 92

1) How would I reference yesterday's Wilders RSI using the above formula?

2) This will likely be too slow to implement as a PCF, but I would like to know how many consecuitive  periods (up to 5 or 10 at most) that the WRSI has been at 50 or above.

So if the last WRSI's are (oldest to current): 40,55,40,50,48,50,52,53

the PCF would return 3 because the last 3 numbers are >= 50. This would be easy enough with RSI because we can reference RSI.1 etc., but not WRSI since we have to wrestle with that complicated formula.  Is there an easy way to accomplish this using "Create Conditions from your chart"?

3) What is Worden's real reason for not implmenting WRSI as  a built in function like every other stock market program on the planet?  Is there a legal reason? I'm asking because it makes your (otherwise excellent) software incompatible with market algorithms that the user may have created on other systems.  Porting such an alg to Worden  is a pain in the butt if it is even possible. :-(

The Wilder RSI alg is simple enough to code in C++, why not implement it properly in the first place instead of relying on bulky and slow PCF to try and emulate it?

TIA

Bruce_L
Posted : Friday, July 11, 2014 10:44:48 AM


Worden Trainer

Joined: 10/7/2004
Posts: 65,138

QUOTE (thisstockguy)
How would I reference yesterday's Wilders RSI using the above formula?

You would add 1 to all of the bars ago parameters in the formula.

50 * (C1 - XAVGC27.2) / 14 / (.071435345 * (ABS(C1 - C2) + 13 / 14 * (ABS(C2 - C3) + 13 / 14 * (ABS(C3 - C4) + 13 / 14 * (ABS(C4 - C5) + 13 / 14 * (ABS(C5 - C6) + 13 / 14 * (ABS(C6 - C7) + 13 / 14 * (ABS(C7 - C8) + 13 / 14 * (ABS(C8 - C9) + 13 / 14 * (ABS(C9 - C10) + 13 / 14 * (ABS(C10 - C11) + 13 / 14 * (ABS(C11 - C12) + 13 / 14 * (ABS(C12 - C13) + 13 / 14 * (ABS(C13 - C14) + 13 / 14 * (ABS(C14 - C15) + 13 / 14 * (ABS(C15 - C16) + 13 / 14 * (ABS(C16 - C17) + 13 / 14 * (ABS(C17 - C18) + 13 / 14 * (ABS(C18 - C19) + 13 / 14 * (ABS(C19 - C20) + 13 / 14 * (ABS(C20 - C21) + 13 / 14 * (ABS(C21 - C22) + 13 / 14 * (ABS(C22 - C23) + 13 / 14 * (ABS(C23 - C24) + 13 / 14 * (ABS(C24 - C25) + 13 / 14 * (ABS(C25 - C26) + 13 / 14 * (ABS(C26 - C27) + 13 / 14 * (ABS(C27 - C28) + 13 / 14 * (ABS(C28 - C29) + 13 / 14 * (ABS(C29 - C30) + 13 / 14 * (ABS(C30 - C31) + 13 / 14 * (ABS(C31 - C32) + 13 / 14 * (ABS(C32 - C33) + 13 / 14 * (ABS(C33 - C34) + 13 / 14 * (ABS(C34 - C35) + 13 / 14 * (ABS(C35 - C36) + 13 / 14 * (ABS(C36 - C37) + 13 / 14 * (ABS(C37 - C38) + 13 / 14 * (ABS(C38 - C39) + 13 / 14 * (ABS(C39 - C40) + 13 / 14 * (ABS(C40 - C41) + 13 / 14 * (ABS(C41 - C42) + 13 / 14 * (ABS(C42 - C43) + 13 / 14 * (ABS(C43 - C44) + 13 / 14 * (ABS(C44 - C45) + 13 / 14 * (ABS(C45 - C46) + 13 / 14 * (ABS(C46 - C47) + 13 / 14 * (ABS(C47 - C48) + 13 / 14 * (ABS(C48 - C49) + 13 / 14 * (ABS(C49 - C50) + 13 / 14 * (ABS(C50 - C51) + 13 / 14 * (ABS(C51 - C52) + 13 / 14 * (ABS(C52 - C53) + 13 / 14 * (ABS(C53 - C54) + 13 / 14 * (ABS(C54 - C55) + 13 / 14 * (ABS(C55 - C56) + 13 / 14 * (ABS(C56 - C57) + 13 / 14 * (ABS(C57 - C58) + 13 / 14 * (ABS(C58 - C59) + 13 / 14 * (ABS(C59 - C60) + 13 / 14 * (ABS(C60 - C61) + 13 / 14 * (ABS(C61 - C62) + 13 / 14 * (ABS(C62 - C63) + 13 / 14 * (ABS(C63 - C64) + 13 / 14 * (ABS(C64 - C65) + 13 / 14 * (ABS(C65 - C66) + 13 / 14 * (ABS(C66 - C67) + 13 / 14 * (ABS(C67 - C68) + 13 / 14 * (ABS(C68 - C69) + 13 / 14 * (ABS(C69 - C70) + 13 / 14 * (ABS(C70 - C71) + 13 / 14 * (ABS(C71 - C72) + 13 / 14 * (ABS(C72 - C73) + 13 / 14 * (ABS(C73 - C74) + 13 / 14 * (ABS(C74 - C75) + 13 / 14 * (ABS(C75 - C76) + 13 / 14 * (ABS(C76 - C77) + 13 / 14 * (ABS(C77 - C78) + 13 / 14 * (ABS(C78 - C79) + 13 / 14 * (ABS(C79 - C80) + 13 / 14 * (ABS(C80 - C81) + 13 / 14 * (ABS(C81 - C82) + 13 / 14 * (ABS(C82 - C83) + 13 / 14 * (ABS(C83 - C84) + 13 / 14 * (ABS(C84 - C85) + 13 / 14 * (ABS(C85 - C86) + 13 / 14 * (ABS(C86 - C87) + 13 / 14 * (ABS(C87 - C88) + 13 / 14 * (ABS(C88 - C89) + 13 / 14 * (ABS(C89 - C90) + 13 / 14 * (ABS(C90 - C91) + 13 / 14 * (ABS(C91 - C92) + 13 / 14 * (ABS(C92 - C93) + 13 / 14 * (ABS(C93 - C94) + 13 / 14 * (ABS(C94 - C95) + 13 / 14 * (ABS(C95 - C96) + 13 / 14 * (ABS(C96 - C97) + 13 / 14 * (ABS(C97 - C98) + 13 / 14 * (ABS(C98 - C99) + 13 / 14 * (ABS(C99 - C100) + 13 / 14 * (ABS(C100 - C101) + 13 / 14 * (ABS(C101 - C102) + 13 / 14 * (ABS(C102 - C103) + 13 / 14 * (ABS(C103 - C104) + 13 / 14 * (ABS(C104 - C105) + 13 / 14 * (ABS(C105 - C106) + 13 / 14 * (ABS(C106 - C107) + 13 / 14 * (ABS(C107 - C108) + 13 / 14 * (ABS(C108 - C109) + 13 / 14 * (ABS(C109 - C110) + 13 / 14 * (ABS(C110 - C111) + 13 / 14 * (ABS(C111 - C112) + 13 / 14 * (ABS(C112 - C113) + 13 / 14 * (ABS(C113 - C114) + 13 / 14 * (ABS(C114 - C115) + 13 / 14 * (ABS(C115 - C116) + 13 / 14 * (ABS(C116 - C117) + 13 / 14 * (ABS(C117 - C118) + 13 / 14 * (ABS(C118 - C119) + 13 / 14 * (ABS(C119 - C120) + 13 / 14 * (ABS(C120 - C121) + 13 / 14 * (ABS(C121 - C122) + 13 / 14 * (ABS(C122 - C123) + 13 / 14 * (ABS(C123 - C124) + 13 / 14 * (ABS(C124 - C125) + 13 / 14 * (ABS(C125 - C126))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + 50

QUOTE (thisstockguy)
This will likely be too slow to implement as a PCF, but I would like to know how many consecuitive  periods (up to 5 or 10 at most) that the WRSI has been at 50 or above.

So if the last WRSI's are (oldest to current): 40,55,40,50,48,50,52,53

the PCF would return 3 because the last 3 numbers are >= 50. This would be easy enough with RSI because we can reference RSI.1 etc., but not WRSI since we have to wrestle with that complicated formula.  Is there an easy way to accomplish this using "Create Conditions from your chart"?

If you wanted the result to be 5 instead of 3 because 3 of the 8 values were 50 or above, we could do it using a Custom PCF Indicator.

I cannot think of a practical automated method of getting a result of 3 however either by clicking on the chart or creating a formula. It is not the the formula is not theoretically possible, but, as you have already pointed out, because the we "have to wrestle with that complicated formula."

The Days Since Last Peak (or other day-counting needs) topic describes a technique for doing this, but the size of the Wilder's RSI formula would make the resulting formula too long and slow to be practical or post in the forums.

QUOTE (thisstockguy)
What is Worden's real reason for not implmenting WRSI as  a built in function like every other stock market program on the planet?  Is there a legal reason? I'm asking because it makes your (otherwise excellent) software incompatible with market algorithms that the user may have created on other systems.  Porting such an alg to Worden  is a pain in the butt if it is even possible.

The Wilder RSI alg is simple enough to code in C++, why not implement it properly in the first place instead of relying on bulky and slow PCF to try and emulate it?

There are no legal reasons it could not be implemented. I have personally heard the programmers say they want to update the Personal Criteria Formula Language. It is just a matter of other bug fixes or feature implementation always seeming to have a higher priority.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
MoreAces
Posted : Wednesday, March 11, 2015 10:49:49 PM
Registered User
Joined: 8/23/2013
Posts: 245

Bruce - From the formula from the Post of

Posted : Friday, April 04, 2014 9:41:47 AM

What would be the formula for the 4 Period Wilder's smoothed RSI for the following (trying to combined this a few more formulas for 1 indicator)

I wish to say:

WRIS4.1 > 70  (4.1 TO REPRESENT PREVIOUS BAR)

and i wish to say

WRIS4.1 <  30 (4.1 TO REPRESENT PREVIOUS BAR)

 

THANKS

Bruce_L
Posted : Thursday, March 12, 2015 10:00:24 AM


Worden Trainer

Joined: 10/7/2004
Posts: 65,138

QUOTE (MoreAces)
WRIS4.1 > 70  (4.1 TO REPRESENT PREVIOUS BAR)

50 * (C1 - XAVGC7.2) / 4 / (.25001884 * (ABS(C1 - C2) + .75 * (ABS(C2 - C3) + .75 * (ABS(C3 - C4) + .75 * (ABS(C4 - C5) + .75 * (ABS(C5 - C6) + .75 * (ABS(C6 - C7) + .75 * (ABS(C7 - C8) + .75 * (ABS(C8 - C9) + .75 * (ABS(C9 - C10) + .75 * (ABS(C10 - C11) + .75 * (ABS(C11 - C12) + .75 * (ABS(C12 - C13) + .75 * (ABS(C13 - C14) + .75 * (ABS(C14 - C15) + .75 * (ABS(C15 - C16) + .75 * (ABS(C16 - C17) + .75 * (ABS(C17 - C18) + .75 * (ABS(C18 - C19) + .75 * (ABS(C19 - C20) + .75 * (ABS(C20 - C21) + .75 * (ABS(C21 - C22) + .75 * (ABS(C22 - C23) + .75 * (ABS(C23 - C24) + .75 * (ABS(C24 - C25) + .75 * (ABS(C25 - C26) + .75 * (ABS(C26 - C27) + .75 * (ABS(C27 - C28) + .75 * (ABS(C28 - C29) + .75 * (ABS(C29 - C30) + .75 * (ABS(C30 - C31) + .75 * (ABS(C31 - C32) + .75 * (ABS(C32 - C33) + .75 * (ABS(C33 - C34))))))))))))))))))))))))))))))))))) + 50 > 70

QUOTE (MoreAces)
WRIS4.1 <  30 (4.1 TO REPRESENT PREVIOUS BAR)

50 * (C1 - XAVGC7.2) / 4 / (.25001884 * (ABS(C1 - C2) + .75 * (ABS(C2 - C3) + .75 * (ABS(C3 - C4) + .75 * (ABS(C4 - C5) + .75 * (ABS(C5 - C6) + .75 * (ABS(C6 - C7) + .75 * (ABS(C7 - C8) + .75 * (ABS(C8 - C9) + .75 * (ABS(C9 - C10) + .75 * (ABS(C10 - C11) + .75 * (ABS(C11 - C12) + .75 * (ABS(C12 - C13) + .75 * (ABS(C13 - C14) + .75 * (ABS(C14 - C15) + .75 * (ABS(C15 - C16) + .75 * (ABS(C16 - C17) + .75 * (ABS(C17 - C18) + .75 * (ABS(C18 - C19) + .75 * (ABS(C19 - C20) + .75 * (ABS(C20 - C21) + .75 * (ABS(C21 - C22) + .75 * (ABS(C22 - C23) + .75 * (ABS(C23 - C24) + .75 * (ABS(C24 - C25) + .75 * (ABS(C25 - C26) + .75 * (ABS(C26 - C27) + .75 * (ABS(C27 - C28) + .75 * (ABS(C28 - C29) + .75 * (ABS(C29 - C30) + .75 * (ABS(C30 - C31) + .75 * (ABS(C31 - C32) + .75 * (ABS(C32 - C33) + .75 * (ABS(C33 - C34))))))))))))))))))))))))))))))))))) + 50 < 30



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
MoreAces
Posted : Thursday, March 12, 2015 11:12:50 AM
Registered User
Joined: 8/23/2013
Posts: 245

Thanks - Customer Service Worden - Far above all others, simply no comparision, the best.

scot1and
Posted : Sunday, April 12, 2015 11:58:40 PM
Registered User
Joined: 7/13/2014
Posts: 1

I would like to be able to do an  scan for the  

Wilder RSI at a 34 bar monthly high,  OR Wilder RSI >69.10

 

I can click on the RSI and create custom conditions but that leaves me with two seperate scans.  Is there anyay to combine the syntax so that I can create a scan that meets either of the above conditions?

 

Thanks in advance.

Bruce_L
Posted : Tuesday, April 14, 2015 10:07:17 AM


Worden Trainer

Joined: 10/7/2004
Posts: 65,138

There isn't going to be a way to OR those particular conditions. A Condition Formula of rthe 34 bar high is just going to be way too long (and it needs to be done as formulas to use OR).



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Users browsing this topic
Guest-1

Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.