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 |

RMI help Rate this Topic:
Previous Topic · Next Topic Watch this topic · Print this topic ·
Bruce_L
Posted : Wednesday, January 11, 2017 11:54:45 AM


Worden Trainer

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

The built in indicators aren't generally created using formulas (I don't think any of them are actually). So this will not affect how the built in indicators are constructed.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Bruce_L
Posted : Thursday, January 12, 2017 4:15:50 PM


Worden Trainer

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

You should be able to get a TC2000 v17 beta with an initial incarnation of the new Personal Criteria Formula Syntax here.

http://www.tc2000.com/download

An list of all of the syntax of which I am currently aware in this initial release is given below.

* -> Multiply (Mathematical Operator)

/ -> Divide or Ratio (Mathematical Operator)

+ -> Add (Mathematical Operator)

++ -> Add (Mathematical Operator)

-- -> Add (Mathematical Operator)

- -> Subtract or Difference (Mathematical Operator)

+- -> Subtract or Difference (Mathematical Operator)

-+ -> Subtract or Difference (Mathematical Operator)

\ -> Integer Divide (Mathematical Operator)

^ -> Power (Mathematical Operator)

> -> Greater Than (Boolean relational operator)

>= -> Greater Than or Equal To (Boolean relational operator)

< -> Less Than (Boolean relational operator)

<= -> Less Than or Equal To (Boolean relational operator)

= -> Equal To (Boolean relational operator)

<> -> Not Equal To (Boolean relational operator)

() -> Parentheses will force an operation to perform earlier in the order.

(b) -> returns -1 if b is true and 0 if b is false

ABS(b) -> returns 1 if b is true and 0 if b is false

ABS(w) -> Absolute Value - Calculates w. Returns a positive value of the same magnitude as w if w is negative. Otherwise returns w.

ADX(d, s, z) -> Average Directional Index (d = DI Period and s = Smooth Period)

ADXd.s.z -> Average Directional Index (d = DI Period and s = Smooth Period)

AND -> And (Boolean logical operator)

ARCCOS(w) -> Inverse cosine - returns the angle in radians whose cosine (adjacent / hypotenuse) is the specified number.

ARCCOSH(w) -> Inverse hyperbolic cosine - returns LOG(w + SQR(w ^ 2 - 1))

ARCCOT(w) -> Inverse cotangent - returns the angle in radians whose cotangent (adjacent / opposite) is the specified number.

ARCCOTH(w) -> Inverse hyperbolic cotangent - returns LOG((w + 1) / (w - 1)) / 2

ARCCSC(w) -> Inverse cosecant - returns the angle in radians whose cosecant (hypotenuse / opposite) is the specified number.

ARCCSCH(w) -> Inverse hyperbolic cosecant - returns LOG((1 + SQR(1 + w ^ 2)) / w)

ARCSEC(w) -> Inverse secant - returns the angle in radians whose secant (hypotenuse / adjacent) is the specified number.

ARCSECH(w) -> Inverse hyperbolic cosceant - returns LOG(1 + SQR(1 + SQR(1 - w ^ 2)) / w)

ARCSIN(w) -> Inverse sine - returns the angle in radians whose sine (opposite / hypotenuse) is the specified number.

ARCSINH(w) -> Inverse hyperbolic sine - returns LOG(w + SQR(w ^ 2 - 1))

ARCTAN(w) -> Inverse tangent - returns the angle in radians whose tangent (opposite / adjacent) is the specified number.

ARCTANH(w) -> Inverse hyperbolic tangent - returns LOG((1 + w) / (1 - w)) / 2

AROONDOWN(xz) -> Aroon Down portion of Aroon Indicator

AROONDOWNx.z -> Aroon Down portion of Aroon Indicator

AROONUP(xz) -> Aroon Up portion of Aroon Indicator

AROONUPx.z -> Aroon Up portion of Aroon Indicator

ATN(w) -> Returns the angle in radians whose tangent (opposite / adjacent) is the specified number.

ATR(xz) -> Average True Range (uses simple moving average for smoothing)

ATRx.z -> Average True Range (uses simple moving average for smoothing)

AVG(wx) -> Simple Moving Average - Returns the x period simple moving average of w.

AVGwx.z -> Simple Moving Average of Price Component or Volume over a specified span of bars ending on the specified bar (w must be O, H, L, C or V).

BBBOT(dxz) -> Bottom Bollinger Band (d = width in standard deviations +/- centerline)

BBBOTd.x.z -> Bottom Bollinger Band (d = whole number width in standard deviations +/- centerline)

BBTOP(dxz) -> Top Bollinger Band (d = width in standard deviations +/- centerline)

BBTOPd.x.z -> Top Bollinger Band (d = whole number width in standard deviations +/- centerline)

BOP(yz) -> Balance of Power (Green>30,Red<-30,Yellow30to–30)

BOPy.z -> Balance of Power (Green>30,Red<-30,Yellow30to–30)

C(z) -> Close/Current Price of the specified bar

Cz -> Close/Current Price of the specified bar

CCI(xz) -> Commodity Channel Index

CCIx.z -> Commodity Channel Index

CLG(w) -> Log Base 10

COS(w) -> Returns the cosine (adjacent / hypotenuse) of the specified angle in radians.

COTH(w) -> Hyperbolic cotangent - returns (e ^ w + e ^ -w) / 2

CountTrue(bx) -> Will return the number of times Boolean formula was true in the period

CSC(w) -> Returns the cosecant (hypotenuse / opposite) of the specified angle in radians.

CSCH(w) -> Hyperbolic cosecant - returns 2 / (e ^ w - e ^ -w)

DIMINUS(xz) -> Directional Movement DI- component

DIMINUSx.z -> Directional Movement DI- component

DIPLUS(xz) -> Directional Movement DI+ component

DIPLUSx.z -> Directional Movement DI+ component

EXP(w) -> Natural Exponent

FAVGwx.z -> Front Weighted Moving Average of Price Component or Volume over a specified span of bars ending on the specified bar (w must be O, H, L, C or V).

FAVG(wx) - > Front Weighted Moving Average - Returns the x period front weighted moving average of w.

GREATEST(v, w) -> Allows an unlimited number of arguments separated by commas and returns the argument with the highest value.

H(z) -> High Price of the specified bar

Hz -> High Price of the specified bar

HAVG(wx) - > Hull Moving Average - Returns the x period Hull moving average of w.

HAVGwx.z -> Hull Moving Average of Price Component or Volume with the specified period ending on the specified bar (w must be O, H, L, C or V).

IIF(btf) -> returns t if b is true and f if b is false

L(z) -> Low Price of the specified bar

Lz -> Low Price of the specified bar

LEAST(v, w) -> Allows an unlimited number of arguments separated by commas and returns the argument with the lowest value.

LOG(w) -> Natural Log

MACD(slz) -> Exponential Moving Average Convergence Divergence Oscillator (s = short period, l = long period)

MACDs.l.z -> Exponential Moving Average Convergence Divergence Oscillator (s = short period, l = long period)

MAX(wx) -> Maximum - Returns the highest value of w over the most recent x bars.

MAXwx.z -> Maximum Value of Price Component or Volume over a specified span of bars ending on the specified bar (w must be O, H, L, C or V).

MIN(wx) -> Minimum - Returns the lowest value of w over the most recent x bars.

MINwx.z -> Minimum Value of Price Component or Volume over a specified span of bars ending on the specified bar (w must be O, H, L, C or V).

MOD -> Modulo (Mathematical Operator)

MS(yz) -> Cumulative MoneyStream

MSy.z -> Cumulative MoneyStream

NAND -> Not And (Boolean)

NOR -> Not Or (Boolean)

NOT(b) -> Not (turns true to false and turns false to true)

O(z) -> Open Price of the specified bar

Oz -> Open Price of the specified bar

OBV(yz) -> On Balance Volume

OBVy.z -> On Balance Volume

OR -> Or (Boolean logical operator)

RSI(xyz) -> RSI (not Wilder's Smoothed)

RSIx.y.z -> RSI (not Wilder's Smoothed)

SEC(w) -> Returns the secant (hypotenuse / adjacent) of the specified angle in radians.

SECH(w) -> Hyperbolic secant - returns 2 / (e ^ w + e ^ w)

SGN(w) -> Sign (-1, 0 or 1) - Returns -1 if w is negative, 0 if w is zero and 1 if w is positive.

SIN(w) -> Returns the sine (opposite / hypotenuse) of the specified angle in radians.

SinceTrue(bx) -> returns -1 if Boolean Formula was not true in period, or bars since it was true, 0 being the current bar, and period-1 the max it will return

SINH(w) -> Hyperbolic sine - returns (e ^ w - e ^ -w) / 2

SQR(w) -> Square Root

STDDEV(xz) -> Standard Deviation

STDDEVx.z -> Standard Deviation

STOC(xyz) -> Simple Stochastic

STOCx.y.z -> Simple Stochastic

SUM(wx) - > Sum - Adds together the value of w over the most recent x bars.

TAN(w) -> Returns the tangent (opposite / adjacent) of the specified angle in radians.

TANH(w) -> Hyperbolic tangent - returns (e ^ w - e ^ -w) / 2

TrueInRow(bx) -> Will return a value between 0 and period that is how many times the Boolean formula was true in a row

TSV(yz) -> Time Segmented Volume

TSVy.z -> Time Segmented Volume

V(z) -> Volume of the specified bar

Vz -> Volume of the specified bar

WRSI(xz) -> Wilder's RSI (Wilder's Smoothed)

WRSIx.z -> Wilder's RSI (Wilder's Smoothed)

WSTOC(xyz) -> Worden Stochastic

WSTOCx.y.z -> Worden Stochastic

XAVG(wx) -> Exponential Moving Average - Returns the x period exponential moving average of w.

XAVGwx.z -> Exponential Moving Average of Price Component or Volume with the specified period ending on the specified bar (w must be O, H, L, C or V).

XDOWN(v, w, x) -> Returns true when v is greater than w at x bars ago and v is less than or equal to w now. x defaults to 1 if not supplied.

XNOR -> Not Exclusive Or (Boolean)

XOR -> Excusive Or (Boolean)

XUP(v, w, x) -> Returns true when v is less than w at x bars ago and v is greater than or equal to w now. x defaults to 1 if not supplied.

The first numeric parameter of in indicator is not separated from the indicator. The numeric parameters in indicators are separated from each other with periods.

Functions have the arguments inside parentheses. The arguments in functions are separated by commas.

Where b can be any formula which returns a true or false result

Where f is a formula returning a numeric result

Where t is a formula returning a numeric result

Where v can be any formula which returns a numeric value

Where w can be any formula which returns a numeric value

Where x is the Period of the Indicator

Where y is a the Period of an additional Simple Moving Average

Where z is the number of Bars Ago. z can also be a date. May 4, 2015 would be (single quotes required): '05/04/2015'



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Monday, January 23, 2017 12:50:48 AM
Registered User
Joined: 4/30/2015
Posts: 197

Thanks again for the New Syntax formulas ahead of time.   As soon as the update release i stared editing my formulas and my data load issues were gone.  Love the New Scans abilities as well Great Job to All the Staff

I have 2 formulas that i have been using for a few years I need each as 1 bar ago and 2 Bars ago

We will call them

OBV4 LS

(100 * (OBV-MIN(OBV,4)) /( MAX(OBV,4) -MIN(OBV,4)) = 100 )

 

OBV SS

(100 * (OBV-MIN(OBV,4)) /( MAX(OBV,4) -MIN(OBV,4)) = 0)

 

Thanks

 

Bruce_L
Posted : Monday, January 23, 2017 10:16:45 AM


Worden Trainer

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

Your first Condition Formula (OBV4 LS) can be written as:

OBV = MAX(OBV, 4)

With the 1 bar ago version being:

OBV1.1 = MAX(OBV1.1, 4)

And the 2 bars ago version being:

OBV1.2 = MAX(OBV1.2, 4)

Your second Condition Formula (OBV SS) can be written as:

OBV = MIN(OBV, 4)

With the 1 bar ago version being:

OBV1.1 = MIN(OBV1.1, 4)

And the 2 bars ago version being:

OBV1.2 = MIN(OBV1.2, 4)



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Monday, January 23, 2017 11:13:29 AM
Registered User
Joined: 4/30/2015
Posts: 197

thanks for all the above info, most over my head

 

i cant seem to figure out

SMA 50

SMA 200

 

FORMULA is there a new short version

StockGuy
Posted : Monday, January 23, 2017 11:18:35 AM

Administration

Joined: 9/30/2004
Posts: 9,187

AVGC50

AVGC200

Aces4Me
Posted : Monday, January 23, 2017 12:51:49 PM
Registered User
Joined: 4/30/2015
Posts: 197

brain fog, thanks

Aces4Me
Posted : Wednesday, January 25, 2017 11:45:17 AM
Registered User
Joined: 4/30/2015
Posts: 197

((C -.15 < MAXH78.39) AND (C +.15 > MAXH78.39))

 

Bruce what is wrong with this formua , i use the same type for 50ma on daiy and hourly and pivots from monthly etc and works fine

But not working with this

StockGuy
Posted : Wednesday, January 25, 2017 12:29:17 PM

Administration

Joined: 9/30/2004
Posts: 9,187

Your formulas returns True when C is within +- .15 of the 78 bar max high as of 39 bars ago.

The formula calculates correctly when I test it.

Aces4Me
Posted : Wednesday, January 25, 2017 2:05:06 PM
Registered User
Joined: 4/30/2015
Posts: 197

i thought so too but when i put the in a formula to my columns along with several others or or or is not correct, so i must have a return or something in there Thanks

Aces4Me
Posted : Wednesday, January 25, 2017 2:09:10 PM
Registered User
Joined: 4/30/2015
Posts: 197

((C -.15 < AVGC(50,0)) AND (C +.15 > AVGC(50,0)))

 

same here on 50 sma on my chart the formula is false but my columns is true so confused

StockGuy
Posted : Wednesday, January 25, 2017 2:12:38 PM

Administration

Joined: 9/30/2004
Posts: 9,187

Try this:

(C -.15 < AVGC(50)) AND (C +.15 > AVGC(50))

 

And make sure the time frame on the chart and column are the same.

Aces4Me
Posted : Wednesday, January 25, 2017 3:12:17 PM
Registered User
Joined: 4/30/2015
Posts: 197

ty they are, i have the check box and the actual value, so i can see the numbers

Aces4Me
Posted : Thursday, January 26, 2017 3:41:29 PM
Registered User
Joined: 4/30/2015
Posts: 197

QUOTE (Aces4Me)

((C -.15 < MAXH78.39) AND (C +.15 > MAXH78.39))

 

Bruce what is wrong with this formua , i use the same type for 50ma on daiy and hourly and pivots from monthly etc and works fine

But not working with this

 

Never could get tis t post correct consistently in a column

 

Bruce_L
Posted : Friday, January 27, 2017 7:53:46 AM


Worden Trainer

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

Please see if the following works for you.

100 * ABS(C - MAXH78.39) < 15



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Friday, January 27, 2017 1:19:38 PM
Registered User
Joined: 4/30/2015
Posts: 197

what about the + part (OR IS IT ALL IN THAT

Bruce_L
Posted : Friday, January 27, 2017 1:20:33 PM


Worden Trainer

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

It is all in that.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Friday, January 27, 2017 1:55:56 PM
Registered User
Joined: 4/30/2015
Posts: 197
((C -.15 MINL78.39)) LETS TRY THE REVERSE 100 * ABS(C + MINL78.39)
Aces4Me
Posted : Friday, January 27, 2017 2:11:19 PM
Registered User
Joined: 4/30/2015
Posts: 197

QUOTE (Aces4Me)
((C -.15 < MINL78.39) AND (C +.15 > MINL78.39))

 

LETS TRY THE REVERSE

 

100 * ABS(C + MINL78.39) < 15

 

DID I COME CLOSE

Bruce_L
Posted : Friday, January 27, 2017 2:45:42 PM


Worden Trainer

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

It really is all in the original 100 * ABS(C - MAXH78.39) < 15 formula.

The ABS() function turns negative values into positive values. So the formula checks for being less than 15 cents above or below all in one go.

If I am misunderstanding and you want 15 cents or more difference, change < to >= instead.

100 * ABS(C - MAXH78.39) >= 15



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Friday, January 27, 2017 3:08:37 PM
Registered User
Joined: 4/30/2015
Posts: 197

yes i see that, the last question you missed the value

 

is MINL   min low   not MAXH 

 

I DO WANT TO KNOW WHEN I AM WITHIN .15 OF THAT VALUE ABOVE OR BELOW

 

SO IS IT > 15 OR  >= 15

 

Bruce_L
Posted : Friday, January 27, 2017 3:29:01 PM


Worden Trainer

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

Being less than 15 cents away would use < being wirhin 15 cents would use <= instead. So based on your most recent statement, you appear to want the following.

100 * ABS(C - MINL78.39) <= 15



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Friday, January 27, 2017 8:16:51 PM
Registered User
Joined: 4/30/2015
Posts: 197

Sorry to be so confusing, but somehow still not working and these are almost always in a True State

so I  am saying something incorrectly.

 

100 * ABS(C - MAXH78.39) >= 15

Above formula. If the MAXH78.39 Plot is at 100.20 (so I have a scan that says Formula is greater than 50 ( 0 = false and 100 = true) and I have it as a column on a watch list

if a stock if placed on the watchlist and the price is between 100.05 and 100.35 Then were are expecting a check box because we are currently in the .30 window around that MAXH78.39 PLOT

Either C > .16 Below up to a price of C is no more than .15 Above the Price plot for MAXH78.39

 

Thanks as always for your time

 

 

 

100 * ABS(C - MINL78.39) <= 15

Aces4Me
Posted : Friday, January 27, 2017 11:00:04 PM
Registered User
Joined: 4/30/2015
Posts: 197

Thanks for all the help - gave me the tools to get it

((100 * ABS(C - MAXH78.39) <= 15) AND (100 * ABS(C + MAXH78.39) >= 15))

 

Bruce_L
Posted : Monday, January 30, 2017 1:16:21 PM


Worden Trainer

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

The 100 * ABS(C + MAXH78.39) >= 15 portion of your formula doesn't make the slightest bit of sense to me based on what you are trying to do.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Wednesday, February 8, 2017 1:09:14 PM
Registered User
Joined: 4/30/2015
Posts: 197

Bruce help me wrap my head around this

RMI14,5 from 1 bar ago:

100 * (XAVG(IIF(C1 > C6, C1 - C6, 0), 27) / XAVG(ABS(C1 - C6), 27)

RMI14,5 from 2 bars ago:

 

100 * (XAVG(IIF(C2 > C7, C2 - C7, 0), 27) / XAVG(ABS(C2 - C7), 27)

RMI14,5 from 3 bars ago:

100 * (XAVG(IIF(C3 > C8, C3 - C8, 0), 27) / XAVG(ABS(C3 - C8), 27)

 

I am using these on multiple time frames, but am trying to reduce number of scans needed to follow

I want to take this for the short time frames 2m 3m 5m and convert to 10m and 15m

 

 

RMI14,5:

100 * (XAVG(IIF(C > C5, C - C5, 0), 27) / XAVG(ABS(C - C5), 27)

conversion attempt at 3m to 15m

RMI14,5:  (RMI 42, 15)

100 * (XAVG(IIF(C > C15, C - C15, 0), 83) / XAVG(ABS(C - C15), 83)

 

is that close

 

Thanks GREG

Aces4Me
Posted : Wednesday, February 8, 2017 1:11:01 PM
Registered User
Joined: 4/30/2015
Posts: 197

actually i did it backwards

i dont think can but 3 on a 15 but might can put the above on a 3m for a 15m equal??

Bruce_L
Posted : Wednesday, February 8, 2017 8:15:19 PM


Worden Trainer

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

Going from 15m to 3m would involve multiplying the periods by 3.

Going from 3m to 15m would involve dividing the periods by 3 and just trying to get as close as possible.

The results are only going to be approximations no matter which direction you are trying to convert.

Note that you can have formulas with different time frames in the same EasyScan, so you may not need to convert the formulas at all if that is the issue.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
Aces4Me
Posted : Saturday, February 11, 2017 4:19:49 PM
Registered User
Joined: 4/30/2015
Posts: 197

I do understand the easyscan with different time frames, but can i do this

 

x condition for RMI 14 5 (3minute)

or

X CONDITION FOR RMI 14 5 (15MINUTE)

IN THE SAME SCAN

 

I HAVE ONE PCF anytime it occurs on anytime frame  i am interested

SO IF I HAD 1 SCAN LOOKING AT ALL that would be really awesome

Bruce_L
Posted : Monday, February 13, 2017 11:35:13 AM


Worden Trainer

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

No, there is not a way to do that in TC2000 currently because an implied AND is used with all EasyScan Conditions with no way to set an EasyScan Condition to use OR instead.



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
akadre20
Posted : Saturday, February 25, 2017 4:25:35 PM
Registered User
Joined: 9/17/2014
Posts: 18

What's the PCF formula for Relative Momentum Index 25-period and 28-period at close C1? Thanks

akadre20
Posted : Sunday, February 26, 2017 3:08:18 AM
Registered User
Joined: 9/17/2014
Posts: 18

QUOTE (akadre20)

What's the PCF formula for Relative Momentum Index 25-period and 28-period at close C1? Thanks

Relative Momentum Index 25-period and 28-period at close yesterday with smoothing periods 5?

Bruce_L
Posted : Monday, February 27, 2017 8:51:16 AM


Worden Trainer

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

RMI25,5 (1 bar ago):

100 * (XAVG(IIF(C1 > C6, C1 - C6, 0), 49) / XAVG(ABS(C1 - C6), 49)

RMI28,5 (1 bar ago):

100 * (XAVG(IIF(C1 > C6, C1 - C6, 0), 55) / XAVG(ABS(C1 - C6), 55)



-Bruce
Personal Criteria Formulas
TC2000 Support Articles
akadre20
Posted : Friday, April 14, 2017 2:35:00 AM
Registered User
Joined: 9/17/2014
Posts: 18
What's the formulas for a 20-period RMI (Relative Momentum Index) Front Weighted with smoothing period 3 at close yesterday & today, and formulas for smooth period of 5 at close yesterday & today?
 
Thanks
 
Bruce_L
Posted : Tuesday, April 18, 2017 10:38:05 AM


Worden Trainer

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

Clicking on the chart and selecting Create Scan Condition doesn't actually create a formula, so it shouldn't make any difference at all. The charted indicators really haven't changed.



-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.