Parabolic SAR

Technical Analysis Indicator: psar

Fork me on GitHub

Function Prototype

/* Parabolic SAR */
/* Type: overlay */
/* Input arrays: 2    Options: 2    Output arrays: 1 */
/* Inputs: high, low */
/* Options: acceleration factor step, acceleration factor maximum */
/* Outputs: psar */
int ti_psar_start(TI_REAL const *options);
int ti_psar(int size,
      TI_REAL const *const *inputs,
      TI_REAL const *options,
      TI_REAL *const *outputs);

Description

This documentation is still a work in progress. It has omissions, and it probably has errors too. If you see any issues, or have any general feedback, please get in touch.

The Parabolic SAR can help locate a reversal.

It takes two option, the acceleration factor f, and the acceleration factor maximum j.

Calculation is as follows:

TODO

References

Example Usage

Calling From C

/* Example usage of Parabolic SAR */
/* Assuming that 'high' and 'low' are pre-loaded arrays of size 'in_size'. */
TI_REAL *inputs[] = {high, low};
TI_REAL options[] = {.2, 2}; /* acceleration factor step, acceleration factor maximum */
TI_REAL *outputs[1]; /* psar */

/* Determine how large the output size is for our options. */
const int out_size = in_size - ti_psar_start(options);

/* Allocate memory for output. */
outputs[0] = malloc(sizeof(TI_REAL) * out_size); assert(outputs[0] != 0); /* psar */

/* Run the actual calculation. */
const int ret = ti_psar(in_size, inputs, options, outputs);
assert(ret == TI_OKAY);

Calling From Lua (with Tulip Chart bindings)

-- Example usage of Parabolic SAR
psar = ti.psar(high, low, .2, 2)

Example Calculation

acceleration factor step = .2, acceleration factor maximum = 2

datehighlowpsar
2005-11-0182.1581.29
2005-11-0281.8980.6482.15
2005-11-0383.0381.3180.64
2005-11-0483.3082.6580.64
2005-11-0783.8583.0781.31
2005-11-0883.9083.1182.65
2005-11-0983.3382.4983.90
2005-11-1084.3082.3082.30
2005-11-1184.8484.1582.30
2005-11-1485.0084.1182.30
2005-11-1585.9084.0383.92
2005-11-1686.5885.3984.03
2005-11-1786.9885.7684.03
2005-11-1888.0087.1785.39
2005-11-2187.8787.0185.76

Chart

 

Other Indicators

Previous indicator: Percentage Price Oscillator

Next indicator: Positive Volume Index

Random indicator: Sum Over Period