# Introduction To Functions

Personal Criteria Formulas (PCF's) now support the use of user created functions. Functions are no more than a re-usable formula that can have user defined variables. When saved, any PCF can be re-used as a function within another PCF.

## For this example we will start by clicking the new button and selecting Condition (PCF) Formula

While we begin this example using the New button there are multiple ways to access the PCF editor in TC2000, anywhere you access the editor you will have this functionality

## To access functions click on the hamburger button in the PCF editor

For more information on the items in this menu please see this article

## You can then choose to create a new function or add a function from the library (any saved PCF condition or indicator is available in the library). For this example we will elect to add a new function.

## This will open a second editor window for your function. The window will pre-load with description and tag comments

For more on comments please see this article

## The first function will be a simple formula for positive net change, C>C1, the current price is greater than the previous bars close. We will put that in description and we will name this function Bullish

Function names can only contain alphabetical characters

## We now see this function available with an optional offset parameter, by default all functions load with this parameter available

For more on parameters please see this article

## We will now call the function in our Formula, type the # symbol and code completion will automatically load any available functions, hit enter to have code complete enter that function.

Note that the description we provided of "Current price greater than the previous close" is shown in the tool tip

## Next we will add the AND operator to the formula by typing it after the #Bullish function

Note that code complete provides descriptions system operators and functions in the tool tip

## This function will be for Volume to be greater than "x" times an "n" bar average of volume (V>x*AVGVn), we will create parameters to define "x" and "n" and set their default values to 1 and 30. We will also describe what they do. We will describe this function as "Above average volume" and name it "BigVol" and click OK to bring it into our original formula editor window

For more on parameters please see this article. For more on comments and descriptions please see this article.

## We now see this function available with not only the offset parameter, but also our X and N parameters

## We can change the parameter values in the #BigVol function by entering them in parentheses after the function. We will change X to 2 and N to 90 we will not include an offset

Note as you enter in new parameter values their description will be shown in the tool-tip. We have already entered in 2 for the X parameter so this description is for the N parameter

## Now that the parameters have been changed we can use the show formula button to see the changes in the long formula

## This will re-open the editor window for that function, you can also save that function formula to the library by clicking on the hamburger menu and selecting save formula

## Finally we will name our PCF that is using the two functions, then click OK

Since we created this True/False formula using the New button once we click OK it is automatically saved to our library, regardless if we apply it to our layout or not

## If we select it from that library and choose Edit it will re-open the formula in a condition editor window

## Because it is saved to the library we could also load it as a function by clicking the hamburger button and selecting add function from library, lets do so just as an example.

## It has been added to our list of available functions but note the only parameter available is the optional Offset parameter. We could correct this by bubbling up those parameters, to do so select edit across from the #BullishwithVolume function

For more information on Bubbling up parameters and another example please see this article

Note that even though the formula was saved with the name "Bullish with Volume" when brought in as a function TC2000 will remove spaces and non alphabetical characters to create a valid function name i.e. #BullishwithVolume