#include <stddef.h>
#include "ta_abstract.h"
#include "ta_def_ui.h"
static const TA_OptInputParameterInfo TA_DEF_UI_VFactor =
{
TA_OptInput_RealRange,
"optInVFactor",
0,
"Volume Factor",
(const void *)&TA_DEF_ZeroToOne,
0.7,
"Volume Factor",
NULL
};
static const TA_InputParameterInfo *TA_T3_Inputs[] =
{
&TA_DEF_UI_Input_Real,
NULL
};
static const TA_OutputParameterInfo *TA_T3_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_T3_OptInputs[] =
{ &TA_DEF_UI_TimePeriod_5_MINIMUM2,
&TA_DEF_UI_VFactor,
NULL
};
DEF_FUNCTION( T3,
TA_GroupId_OverlapStudies,
"Triple Exponential Moving Average (T3)",
"T3",
TA_FUNC_FLG_OVERLAP|TA_FUNC_FLG_UNST_PER
);
DEF_MATH_UNARY_OPERATOR( TAN, "Vector Trigonometric Tan", "Tan" )
DEF_MATH_UNARY_OPERATOR( TANH, "Vector Trigonometric Tanh", "Tanh" )
static const TA_InputParameterInfo *TA_TEMA_Inputs[] =
{
&TA_DEF_UI_Input_Real,
NULL
};
static const TA_OutputParameterInfo *TA_TEMA_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TEMA_OptInputs[] =
{ &TA_DEF_UI_TimePeriod_30_MINIMUM2,
NULL
};
DEF_FUNCTION( TEMA,
TA_GroupId_OverlapStudies,
"Triple Exponential Moving Average",
"Tema",
TA_FUNC_FLG_OVERLAP
);
static const TA_InputParameterInfo *TA_TRANGE_Inputs[] =
{
&TA_DEF_UI_Input_Price_HLC,
NULL
};
static const TA_OutputParameterInfo *TA_TRANGE_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TRANGE_OptInputs[] = { NULL };
DEF_FUNCTION( TRANGE,
TA_GroupId_VolatilityIndicators,
"True Range",
"TrueRange",
0
);
static const TA_InputParameterInfo *TA_TRIMA_Inputs[] =
{
&TA_DEF_UI_Input_Real,
NULL
};
static const TA_OutputParameterInfo *TA_TRIMA_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TRIMA_OptInputs[] =
{ &TA_DEF_UI_TimePeriod_30_MINIMUM2,
NULL
};
DEF_FUNCTION( TRIMA,
TA_GroupId_OverlapStudies,
"Triangular Moving Average",
"Trima",
TA_FUNC_FLG_OVERLAP
);
static const TA_InputParameterInfo *TA_TRIX_Inputs[] =
{
&TA_DEF_UI_Input_Real,
NULL
};
static const TA_OutputParameterInfo *TA_TRIX_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TRIX_OptInputs[] =
{ &TA_DEF_UI_TimePeriod_30,
NULL
};
DEF_FUNCTION( TRIX,
TA_GroupId_MomentumIndicators,
"1-day Rate-Of-Change (ROC) of a Triple Smooth EMA",
"Trix",
0
);
static const TA_InputParameterInfo *TA_TSF_Inputs[] =
{
&TA_DEF_UI_Input_Real,
NULL
};
static const TA_OutputParameterInfo *TA_TSF_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TSF_OptInputs[] =
{ &TA_DEF_UI_TimePeriod_14_MINIMUM2,
NULL
};
DEF_FUNCTION( TSF,
TA_GroupId_Statistic,
"Time Series Forecast",
"Tsf",
TA_FUNC_FLG_OVERLAP
);
static const TA_InputParameterInfo *TA_TYPPRICE_Inputs[] =
{
&TA_DEF_UI_Input_Price_HLC,
NULL
};
static const TA_OutputParameterInfo *TA_TYPPRICE_Outputs[] =
{
&TA_DEF_UI_Output_Real,
NULL
};
static const TA_OptInputParameterInfo *TA_TYPPRICE_OptInputs[] = { NULL };
DEF_FUNCTION( TYPPRICE,
TA_GroupId_PriceTransform,
"Typical Price",
"TypPrice",
TA_FUNC_FLG_OVERLAP
);
const TA_FuncDef *TA_DEF_TableT[] =
{
ADD_TO_TABLE(T3),
ADD_TO_TABLE(TAN),
ADD_TO_TABLE(TANH),
ADD_TO_TABLE(TEMA),
ADD_TO_TABLE(TRANGE),
ADD_TO_TABLE(TRIMA),
ADD_TO_TABLE(TRIX),
ADD_TO_TABLE(TSF),
ADD_TO_TABLE(TYPPRICE),
NULL
};
const unsigned int TA_DEF_TableTSize =
((sizeof(TA_DEF_TableT)/sizeof(TA_FuncDef *))-1);