15 #ifndef TSA_FUNCTIONS__INCLUDED 16 #define TSA_FUNCTIONS__INCLUDED 18 #include "TSASeriesTemplate.h" 19 #include "TSAString.h" 20 #include "TSAGlobal.h" 41 size_t bars_since(
const series<bool>& series,
size_t period);
54 size_t bars_since_nth(
const series<bool>& series,
size_t period,
size_t n_count);
57 dll_export
size_t bars_since_max(
const series<double>& series,
size_t period);
64 dll_export
size_t bars_since_min(
const series<double>& series,
size_t period);
70 dll_export
bool crosses_above(
const series<double>& series_a,
const series<double>& series_b);
73 dll_export
bool crosses_below(
const series<double>& series_a,
const series<double>& series_b);
76 dll_export
bool crosses_above(
const series<double>& series,
double threshold);
79 dll_export
bool crosses_below(
const series<double>& series,
double threshold);
82 dll_export
bool turns_neg(
const series<double>& series);
85 dll_export
bool turns_pos(
const series<double>& series);
98 dll_export
template<
typename T>
100 return in_series.
shift(shift_by);
146 dll_export
int rand_int(
int low,
int high);
150 dll_export
double rand(
double low = 0.0,
double high = 1.0);
159 dll_export
bool rand_bool(
double probability_of_true = 0.5);
166 dll_export
double area_under_normal_curve(
double value,
double median,
double stdDev);
170 dll_export
double area_under_normal_curve(
double stdDeviateZ);
174 dll_export
double StandardNormalDeviateZ(
double value,
double median,
double stdDev);
194 dll_export
size_t count_pos(
const series<double>& ser,
size_t period);
197 dll_export
size_t count_neg(
const series<double>& ser,
size_t period);
200 dll_export
size_t count_zero(
const series<double>& ser,
size_t period);
203 dll_export
size_t count_non_zero(
const series<double>& ser,
size_t period);
206 dll_export
double sum_pos(
const series<double>& data,
size_t period);
209 dll_export
double sum_neg(
const series<double>& data,
size_t period);
215 dll_export
double sum_squares(
const series<double>& data,
size_t period);
236 dll_export
double max(
const series<double>& series,
size_t period);
252 double lastLinePoint;
261 dll_export
double const_e(
void);
270 dll_export int64_t
trunc(
double value);
273 dll_export
double cap(
double number,
double max);
276 dll_export
double floor(
double number,
double min);
279 dll_export
double cap_floor(
double number,
double min,
double max);
283 dll_export
double safe_divide(
double numerator,
double denominator,
double denominator_adjust = 10e-9);
289 dll_export
double degrees(
double radians);
292 dll_export
double sin_r(
double radians);
295 dll_export
double square(
double arg);
299 dll_export
double sqrt(
double arg);
302 dll_export
double percent_smaller_than(
double threshold,
const series<double>& data,
size_t period);
305 dll_export
double percent_higher_than(
double threshold,
const series<double>& data,
size_t period);
bool is_defined(const variant &v)
Returns true if the given variant v is 'defined;. See variant::defined().
Definition: TSAFunctions.cpp:109
r_tuple linear_regression(const series< double > &series, size_t period)
Returns various regression measures of series against time over given period.
Definition: TSAFunctionsScalar.cpp:63
size_t bars_since_max(const series< double > &series, size_t period)
Returns the number of bars since maximum value in series over given period.
Definition: TSAFunctionsScalar.cpp:198
const series< T > shift_by(const series< T > &in_series, size_t shift_by)
Returns a series that is a 'shifted' version of the given in_series argument. The returned series wil...
Definition: TSAFunctions.h:99
size_t bars_since(const series< bool > &series, size_t period)
Returns the number of bars since a value in series was 'true' (non-zero), in given period...
Definition: TSAFunctionsScalar.cpp:232
double lowest(const series< double > &series, size_t period)
Returns the smallest value found in series over given .
Definition: TSAFunctionsScalar.cpp:214
class series is a template class representing a sequence of values.
Definition: TSASeriesProxy.h:24
Namespace for the 'Trading System API' library.
Definition: original1.TSA3Core.cpp:20
double safe_divide(double _numerator, double _denominator, double _denominator_adjust)
This function avoids 'division by zero' errors by adding denominator_adjust to denominator when it is...
Definition: TSAFunctions.cpp:55
double variance(const series< double > &data, size_t period)
Returns the population variance in data over period.
Definition: TSAFunctionsScalar.cpp:122
double const_e(void)
Returns the value of E as 2.718281828459045235.
Definition: TSAFunctions.cpp:224
bool turns_pos(const series< double > &series)
Returns true when series crosses above 0.0.
Definition: TSAFunctionsScalar.cpp:298
double unit_gaussian(void)
Returns a random double with a standard deviation of 1.0 and a mean of 0.0.
Definition: TSAFunctions.cpp:35
size_t bars_since_lowest(const series< double > &series, size_t period)
Returns the number of bars since the minimum value in series over given period.
Definition: TSAFunctionsScalar.cpp:256
size_t bars_since_min(const series< double > &series, size_t period)
Returns the number of bars since the minimum value in series over given period.
Definition: TSAFunctionsScalar.cpp:260
double average_weighted(const series< double > &data, size_t period)
Returns the weighted average value of data over given period.
Definition: TSAFunctionsScalar.cpp:330
size_t bars_since_nth(const series< bool > &series, size_t period, size_t n_count)
Returns the number of bars since the n'th value in series was 'true' (non-zero), in given period...
Definition: TSAFunctionsScalar.cpp:236
int64_t trunc(double v)
Returns the integer portion of value.
Definition: TSAFunctions.cpp:240
variant objects can represent values of different types.
Definition: TSAVariant.h:140
double highest(const series< double > &series, size_t period)
Returns the highest value found in series over given .
Definition: TSAFunctionsScalar.cpp:176
double radians(double degrees)
Converts degrees to radians.
Definition: TSAFunctions.cpp:78
double stdev(const series< double > &data, size_t period)
Returns the population standard deviation in data over period.
Definition: TSAFunctionsScalar.cpp:142
void populate_with_change_ratios(series< double > &_target, series< double > &_source, size_t _period)
Populates the target series with changes from one value to the next of the source series for the give...
Definition: TSAFunctions.cpp:263
double cap_floor(double _number, double _min, double _max)
Returns number if number is between max and min, else max if above, or min if below.
Definition: TSAFunctions.cpp:70
double WMA(const series< double > &data, size_t period)
Returns the weighted average value of data over given period.
Definition: TSAFunctionsScalar.cpp:325
double correlation(const series< double > &x, const series< double > &y, size_t period)
Returns the correlation coefficient of series and series over given period.
Definition: TSAFunctionsScalar.cpp:148
double rand(double _low, double _high)
Returns a random double between low and high (inclusive)
Definition: TSAFunctions.cpp:30
const series< T > shift(size_t _shift_by) const
Returns a series that is a 'shifted' version of the given in_series argument. The returned series wil...
Definition: TSASeriesTemplate.h:1154
double sqrt(double d)
Returns the square root of the given argument. Throws an exception if given arg is smaller than 0...
Definition: TSAFunctions.cpp:97
std::string rand_string(size_t _minLen, size_t _maxLen)
Returns a random character string with a length between min_len to max_len.
Definition: TSAFunctions.cpp:50
double const_pi(void)
defines the value of Pi as 3.14159265358979323846264.
Definition: TSAFunctions.cpp:230
size_t bars_since_highest(const series< double > &series, size_t period)
Returns the number of bars since maximum value in series over given period.
Definition: TSAFunctionsScalar.cpp:194
double average(const series< double > &data, size_t period)
Returns the the average value of data with given period.
Definition: TSAFunctionsScalar.cpp:98
double degrees(double radians)
Converts radians to degrees.
Definition: TSAFunctions.cpp:82
double gaussian(double _stddev)
Returns a random double with given stdev and mean of 0.0.
Definition: TSAFunctions.cpp:40
double const_phi(void)
Returns the value of Phi (Golden Ratio) as 1.61803398874989.
Definition: TSAFunctions.cpp:227
bool rand_bool(double _prop)
Returns a random boolean value with a given probability_of_true.
Definition: TSAFunctions.cpp:45
bool turns_neg(const series< double > &series)
Returns true when seris crosses below 0.0.
Definition: TSAFunctionsScalar.cpp:294
double average_variable(const series< double > &data, size_t var_period, size_t max_period)
Returns the the average value of data with a variable period, where the period is capped at max_perio...
Definition: TSAFunctionsScalar.cpp:106
Return tuple of LinearRegression function.
Definition: TSAFunctions.h:248
double square(double _d)
Returns a square of the given argument. Same as std::pow(arg,2).
Definition: TSAFunctions.cpp:93
double cap(double _number, double _max)
Returns the lower of number or max.
Definition: TSAFunctions.cpp:62
bool crosses_below(const series< double > &series_a, const series< double > &series_b)
Returns true when series_a crosses below series_b.
Definition: TSAFunctionsScalar.cpp:281
double floor(double _number, double _min)
Returns the higher of number or min.
Definition: TSAFunctions.cpp:66
bool crosses_above(const series< double > &series_a, const series< double > &series_b)
Returns true when series_a crosses above series_b.
Definition: TSAFunctionsScalar.cpp:276
int rand_int(int _low, int _high)
Returns a random integer between low and high (inclusive)
Definition: TSAFunctions.cpp:25