⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ta_global.h

📁 股票主要技术指标源码
💻 H
字号:
#ifndef TA_GLOBAL_H#define TA_GLOBAL_H#ifndef TA_COMMON_H   #include "ta_common.h"#endif#ifndef TA_FUNC_H   #include "ta_func.h"#endif/* TA_CandleSetting is the one setting struct */typedef struct {    TA_CandleSettingType    settingType;    TA_RangeType            rangeType;    int                     avgPeriod;    double                  factor;} TA_CandleSetting;/* This interface is used exclusively INTERNALY to the TA-LIB. * There is nothing for the end-user here ;-> *//* Provides functionality for managing global ressource * throughout the TA-LIB. * * Since not all module are used/link in the application, * the ta_common simply provides the mechanism for the module * to optionnaly "register" its initialization/shutdown * function. * * A function shall access its global variable by calling  * TA_GetGlobal. This function will appropriatly call the  * initialization function if its global are not yet initialized. *  * The call of the init and shutdown function are guaranteed * to be multithread protected. It is also guarantee that * these function will always get called in alternance (in * other word, following an initialization only a shutdown * can get called). */typedef enum{   /* Module will be shutdown in the order specified here. */   	   TA_ABSTRACTION_GLOBAL_ID,   TA_FUNC_GLOBAL_ID,   TA_MEMORY_GLOBAL_ID, /* Must be last.        */   TA_NB_GLOBAL_ID} TA_GlobalModuleId;typedef TA_RetCode (*TA_GlobalInitFunc)    ( void **globalToAlloc );typedef TA_RetCode (*TA_GlobalShutdownFunc)( void *globalAllocated );typedef struct{   const TA_GlobalModuleId     id;   const TA_GlobalInitFunc     init;   const TA_GlobalShutdownFunc shutdown;} TA_GlobalControl;TA_RetCode TA_GetGlobal( const TA_GlobalControl * const control,                         void **global );/* Occasionaly, code tracing must be disable. * Example: *  - The memory module needs to know if the tracing is *    still enabled or not when freeing memory on shutdown. *  - We do not want to recursively trace while the tracing *    function themselves gets called ;-> */int  TA_IsTraceEnabled( void );void TA_TraceEnable   ( void );void TA_TraceDisable  ( void );/* If enabled by the user, use a local drive * for configuration and/or temporary file. * TA-LIB must NEVER assume such local drive  * is available. */const char *TA_GetLocalCachePath( void );typedef struct{  unsigned int initialize;  const TA_GlobalControl * control;  void *global;} TA_ModuleControl;/* This is the hidden implementation of TA_Libc. */typedef struct{   unsigned int magicNb; /* Unique identifier of this object. */   TA_ModuleControl moduleControl[TA_NB_GLOBAL_ID];   unsigned int traceEnabled;   unsigned int stdioEnabled;   FILE *stdioFile;   const char *localCachePath;   /* For handling the compatibility with other software */   TA_Compatibility compatibility;   /* For handling the unstable period of some TA function. */   unsigned int unstablePeriod[TA_FUNC_UNST_ALL];   /* For handling the candlestick global settings */   TA_CandleSetting candleSettings[TA_AllCandleSettings];} TA_LibcPriv;/* The following global is used all over the place  * and is the entry point for all other globals. */extern TA_LibcPriv *TA_Globals;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -