33 #ifndef TSA_FUNCTORS2__INCLUDED 34 #define TSA_FUNCTORS2__INCLUDED 36 #include "TSAFunctors.h" 50 class KalmanMA :
public functor::parent<double> {
54 bool m_first_avg_completed;
64 double value() {
return parent::value(0); }
73 class Momentum :
public functor::parent<double> {
82 double value() {
return parent::value(0); }
91 class ROC :
public functor::parent<double> {
100 double value() {
return m_roc; }
110 class ROCP :
public functor::parent<double> {
119 double value() {
return m_rocp; }
128 class ROCR :
public functor::parent<double> {
137 double value() {
return m_rocr; }
146 class XMA :
public functor::parent<double> {
158 double value() {
return m_xma; }
180 double value() {
return m_avg; }
212 class DynMI :
public functor::parent<double> {
241 double value() {
return m_dmi; }
250 class CMO :
public functor::parent<double> {
267 double value() {
return m_cmo; }
276 class QStick :
public functor::parent<double> {
288 double value() {
return m_cqs; }
297 class RAVI :
public functor::parent<double> {
311 double value() {
return m_ravi; }
328 double value() {
return m_tscore; }
335 class VIDYA :
public functor::parent<double> {
347 double value() {
return m_vidya; }
374 double value() {
return m_cacc; }
383 class ChaosAO :
public functor::parent<double> {
397 double value() {
return m_cao; }
424 double value() {
return m_chop; }
451 double value() {
return m_demark; }
458 class REI :
public functor::parent<double> {
478 double value() {
return m_rei; }
487 class DPO :
public functor::parent<double> {
499 double value() {
return m_dpo; }
519 double value() {
return m_dispi; }
528 class DEMA :
public functor::parent<double> {
542 double value() {
return m_dema; }
551 class DStoch :
public functor::parent<double> {
575 size_t _period,
size_t _ma_period);
576 double value() {
return m_dstoch; }
585 class Fisher :
public functor::parent<double> {
598 double value() {
return m_fish; }
607 class LRSI :
public functor::parent<double> {
625 double value() {
return m_lrsi; }
634 class RVI :
public functor::parent<double> {
652 double value() {
return m_rvi; }
661 class Elliot :
public functor::parent<double> {
663 size_t m_long_period;
664 size_t m_short_period;
675 double value() {
return m_ell; }
684 class WMA :
public functor::parent<double> {
699 double value() {
return m_wma; }
708 class HullMA :
public functor::parent<double> {
711 size_t m_half_period;
712 size_t m_sqrt_period;
726 double value() {
return m_hma; }
735 class Inertia :
public functor::parent<double> {
768 double value() {
return m_inrt; }
777 class KAMA :
public functor::parent<double> {
798 double value() {
return m_kama; }
820 double value() {
return m_eratio; }
829 class LinReg :
public functor::parent<double> {
842 double value() {
return m_linreg; }
864 double value() {
return m_lrslope; }
873 class MDMA :
public functor::parent<double> {
882 double value() {
return m_mdma; }
891 class PPO :
public functor::parent<double> {
893 size_t m_fast_period;
894 size_t m_slow_period;
905 double value() {
return m_ppo; }
914 class PFE :
public functor::parent<double> {
930 double value() {
return m_pfe; }
939 class RMTA :
public functor::parent<double> {
951 double value() {
return m_rmta; }
960 class TOSC :
public functor::parent<double> {
974 double value() {
return m_tosc; }
983 class RMI :
public functor::parent<double> {
1000 double value() {
return m_rmi; }
1009 class RVX :
public functor::parent<double> {
1010 bool m_init =
false;
1029 double value() {
return m_rvx; }
1038 class R2 :
public functor::parent<double> {
1039 bool m_init =
false;
1047 double value() {
return m_r2; }
1056 class STC :
public functor::parent<double> {
1057 bool m_init =
false;
1058 size_t m_longma_period;
1059 size_t m_shortma_period;
1060 size_t m_cycle_period;
1076 size_t _longma_period,
1077 size_t _cycle_period);
1078 double value() {
return m_stc; }
1087 class SMI :
public functor::parent<double> {
1088 bool m_init =
false;
1090 size_t m_dma_period;
1115 size_t _period = 13,
size_t _ma_period = 25,
size_t _dma_period = 2);
1116 double value() {
return m_smi; }
1126 bool m_init =
false;
1127 size_t m_rsi_period;
1142 size_t _rsi_period = 14);
1143 double value() {
return m_srsi; }
1152 class T3MA :
public functor::parent<double> {
1153 bool m_init =
false;
1184 double value() {
return m_t3; }
1195 bool m_init =
false;
1215 size_t _period = 10);
1216 double MidChannel()
const {
return parent::value(0); }
1217 double UpChannel(
void)
const {
return parent::value(1); }
1218 double LoChannel()
const {
return parent::value(2); }
1229 bool m_init =
false;
1250 size_t _period = 10,
double _multiplier = 2.0);
1251 double MidChannel()
const {
return parent::value(0); }
1252 double UpChannel(
void)
const {
return parent::value(1); }
1253 double LoChannel()
const {
return parent::value(2); }
1263 class TCF :
public functor::parent<double> {
1265 bool m_init =
false;
1292 double Positive()
const {
return parent::value(0); }
1293 double Negative(
void)
const {
return parent::value(1); }
1302 class TTI :
public functor::parent<double> {
1304 bool m_init =
false;
1327 double value() {
return m_tti; }
1336 class TTF :
public functor::parent<double> {
1338 bool m_init =
false;
1361 size_t _period = 15);
1362 double value() {
return m_ttf; }
1371 class TEMA :
public functor::parent<double> {
1373 bool m_init =
false;
1396 double value() {
return m_tema; }
1405 class VQI :
public functor::parent<double> {
1406 bool m_init =
false;
1407 size_t m_shortma_period;
1408 size_t m_longma_period;
1428 series<double>& _cl,
size_t _shortma_period = 9,
size_t _longma_period = 200);
1429 double VQIndex()
const {
return parent::value(0); }
1430 double LongVQI(
void)
const {
return parent::value(1); }
1431 double ShortVQI(
void)
const {
return parent::value(2); }
1442 bool m_init =
false;
1445 size_t m_atr_period;
1471 series<double>& _cl,
size_t _period = 10,
size_t _atr_period = 20,
1472 double _atr_multiplier = 2.0);
1473 double LongTrailStop()
const {
return parent::value(0); }
1474 double ShortTrailStop(
void)
const {
return parent::value(1); }
Dynamic Momentum Index (DynMI). Functor for calculating DynMI over a given period.
Definition: TSAFunctors2.h:212
Detrended Price Oscillator (DPO). Functor for calculating DPO over a given period.
Definition: TSAFunctors2.h:487
Rate Of Change Percent (ROCP). Functor for calculating ROCP over a given period.
Definition: TSAFunctors2.h:110
Chaos Awesome Oscillator. Functor for calculating ChaosAcc over a given period.
Definition: TSAFunctors2.h:383
Namespace for the 'Trading System API' library.
Definition: original1.TSA3Core.cpp:20
Ehlers' Fisher Transform (Fisher). Functor for calculating Fisher over a given period.
Definition: TSAFunctors2.h:585
Functor for calculating the minimum value in a series over a given period.
Definition: TSAFunctors.h:73
Functor for calculating the population standard deviation of all values in a series over a given peri...
Definition: TSAFunctors.h:301
Percentage Price Oscillator (PPO). Functor for calculating PPO over a given period.
Definition: TSAFunctors2.h:891
R Squared (R2). Functor for calculating R2 over a given period.
Definition: TSAFunctors2.h:1038
Kaufman's Adaptive Moving Average (KAMA). Functor for calculating KAMA over a given period...
Definition: TSAFunctors2.h:777
Disparity Index (DispIndex). Functor for calculating DispIndex over a given period.
Definition: TSAFunctors2.h:508
Double Exponential Moving Average (DEMA). Functor for calculating DEMA over a given period...
Definition: TSAFunctors2.h:528
Double Stochastic (DStoch). Functor for calculating DStoch over a given period.
Definition: TSAFunctors2.h:551
Ehlers' Relative Vigor Index (RVI). Functor for calculating RVI over a given period.
Definition: TSAFunctors2.h:634
Chande's Range Action Verification Index (RAVI). Functor for calculating RAVI over a given period...
Definition: TSAFunctors2.h:297
Ehlers' Laguerre RSI (LRSI). Functor for calculating LRSI over a given period.
Definition: TSAFunctors2.h:607
Relative Momentum Index (RMI). Functor for calculating RMI over a given period.
Definition: TSAFunctors2.h:983
Stochastic Momentum Index (SMI). Functor for calculating SMI over a given period. ...
Definition: TSAFunctors2.h:1087
Tillson's T3 Average (T3MA). Functor for calculating T3MA over a given period.
Definition: TSAFunctors2.h:1152
Wilder's Moving Average (WilderMA). Functor for calculating WilderMA over a given period...
Definition: TSAFunctors2.h:167
Trend Intensity Index (TTI). Functor for calculating TTI over a given period.
Definition: TSAFunctors2.h:1302
Inertia Oscillator (Inertia). Functor for calculating Inertia over a given period.
Definition: TSAFunctors2.h:735
parent< double > & operator()(series< double > &_ser, size_t _period)
Definition: TSAFunctors2.cpp:15
Keltner Bands (KeltnerBands). Functor for calculating KeltnerBands over a given period.
Definition: TSAFunctors2.h:1227
Functor for calculating the average of all values in a series over a given period.
Definition: TSAFunctors.h:210
Polarized Fractal Efficiency (PFE). Functor for calculating PFE over a given period.
Definition: TSAFunctors2.h:914
Chande's VIDYA Moving Average. Functor for calculating VIDYA over a given period. ...
Definition: TSAFunctors2.h:335
Functor for calculating the sum of all values in a series over a given period.
Definition: TSAFunctors.h:104
sref< double > RVI(sref< double > open, sref< double > high, sref< double > low, sref< double > close, sref< size_t > period, size_t max_period)
Returns Dynamic Relative Vigour Index (RVI).
Definition: TSADSLFinancialF.cpp:83
Relative Volatility Index (RVX). Functor for calculating RVX over a given period. ...
Definition: TSAFunctors2.h:1009
Recursive Moving Trend Average (RMTA). Functor for calculating RMTA over a given period.
Definition: TSAFunctors2.h:939
Stochastic RSI (StochRSI). Functor for calculating StochRSI over a given period.
Definition: TSAFunctors2.h:1125
Volatility Quality Index (VQI). Functor for calculating VQI over a given period.
Definition: TSAFunctors2.h:1405
Chande Momentum Oscillator (CMO). Functor for calculating CMO over a given period.
Definition: TSAFunctors2.h:250
sref< double > RSI(sref< double > ser, size_t period)
Relative Strength Index.
Definition: TSADSLFinancial.cpp:446
Kalman Filter. Functor for calculating Kalman Filter over a given period.
Definition: TSAFunctors2.h:50
Hull Moving Average (HullMA). Functor for calculating HullMA over a given period. ...
Definition: TSAFunctors2.h:708
Trailing Stop (TrailStop). Functor for calculating TrailStop over a given period. ...
Definition: TSAFunctors2.h:1440
DeMark's DeMarker. Functor for calculating DeMarker over a given period.
Definition: TSAFunctors2.h:433
Exponential Moving Average (XMA), different calc from EMA. Functor for calculating XMA over a given p...
Definition: TSAFunctors2.h:146
Weighted Moving Average (WMA). Functor for calculating WMA over a given period.
Definition: TSAFunctors2.h:684
double WMA(const series< double > &data, size_t period)
Returns the weighted average value of data over given period.
Definition: TSAFunctionsScalar.cpp:325
Chande's QStick. Functor for calculating QStick over a given period.
Definition: TSAFunctors2.h:276
Trend Oscillator (TOSC). Functor for calculating TOSC over a given period.
Definition: TSAFunctors2.h:960
McGinley Dynamic MA (MDMA). Functor for calculating MDMA over a given period.
Definition: TSAFunctors2.h:873
Triple Exponential MA (TEMA). Functor for calculating TEMA over a given period.
Definition: TSAFunctors2.h:1371
Momentum. Functor for calculating Momentum over a given period.
Definition: TSAFunctors2.h:73
Rate Of Change Ratio (ROCR). Functor for calculating ROCR over a given period.
Definition: TSAFunctors2.h:128
Trend Trigger factor (TTF). Functor for calculating TTF over a given period.
Definition: TSAFunctors2.h:1336
Chaos Accelerator Oscillator. Functor for calculating ChaosAcc over a given period.
Definition: TSAFunctors2.h:354
Deiss Choppiness Index (ChopIndex). Functor for calculating ChopIndex over a given period...
Definition: TSAFunctors2.h:406
Trend Continuation Factor (TCF). Functor for calculating TCF over a given period. ...
Definition: TSAFunctors2.h:1263
Linear Regression Slope (LinRegSlope). Functor for calculating LinRegSlope over a given period...
Definition: TSAFunctors2.h:851
Rate Of Change (ROC). Functor for calculating ROC over a given period.
Definition: TSAFunctors2.h:91
Keltner Channel (KeltnerChannel). Functor for calculating KeltnerChannel over a given period...
Definition: TSAFunctors2.h:1193
Chande's TrendScore. Functor for calculating TrendScore over a given period.
Definition: TSAFunctors2.h:320
DeMark's Range Expansion Index (REI). Functor for calculating REI over a given period.
Definition: TSAFunctors2.h:458
Kaufman's Efficiency Ratio (EffRatio). Functor for calculating EffRatio over a given period...
Definition: TSAFunctors2.h:807
Schaff Trend Cycle (STC). Functor for calculating STC over a given period.
Definition: TSAFunctors2.h:1056
Linear Regression (LinReg). Functor for calculating LinReg over a given period.
Definition: TSAFunctors2.h:829
Elliot Oscillator (Elliot). Functor for calculating Elliot over a given period.
Definition: TSAFunctors2.h:661
Functor for calculating the maximum value in a series over a given period.
Definition: TSAFunctors.h:42