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

📄 table_s.c

📁 股票主要技术指标源码
💻 C
📖 第 1 页 / 共 2 页
字号:
/* TA-LIB Copyright (c) 1999-2007, Mario Fortier * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright *   notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright *   notice, this list of conditions and the following disclaimer in *   the documentation and/or other materials provided with the *   distribution. * * - Neither name of author nor the names of its contributors *   may be used to endorse or promote products derived from this *   software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *//********************************************************************* * This file contains only TA functions starting with the letter 'S' * *********************************************************************/#include <stddef.h>#include "ta_abstract.h"#include "ta_def_ui.h"/* Follow the 3 steps defined below for adding a new TA Function to this * file. *//**************************************************************************** * Step 1 - Define here the interface to your TA functions with *          the macro DEF_FUNCTION. * ****************************************************************************//* SAR BEGIN */static const TA_RealRange TA_DEF_AccelerationFactor ={   0.0,          /* min */   TA_REAL_MAX,  /* max */   4,      /* precision */   0.01,  /* suggested start */   0.20,  /* suggested end   */   0.01   /* suggested increment */};static const TA_RealRange TA_DEF_AccelerationMax ={   0.0,         /* min */   TA_REAL_MAX, /* max */   4,     /* precision */   0.20,  /* suggested start */   0.40,  /* suggested end   */   0.01   /* suggested increment */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationFactor ={   TA_OptInput_RealRange, /* type */   "optInAcceleration",  /* paramName */   0,          /* flags */   "Acceleration Factor", /* displayName */   (const void *)&TA_DEF_AccelerationFactor, /* dataSet */   0.02, /* defaultValue */   "Acceleration Factor used up to the Maximum value", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaximum ={   TA_OptInput_RealRange, /* type */   "optInMaximum",        /* paramName */   0,                     /* flags */   "AF Maximum", /* displayName */   (const void *)&TA_DEF_AccelerationMax, /* dataSet */   0.20, /* defaultValue */   "Acceleration Factor Maximum value", /* hint */   NULL /* CamelCase name */};static const TA_InputParameterInfo    *TA_SAR_Inputs[]    ={  &TA_DEF_UI_Input_Price_HL,  NULL};static const TA_OutputParameterInfo   *TA_SAR_Outputs[]   ={  &TA_DEF_UI_Output_Real,  NULL};static const TA_OptInputParameterInfo *TA_SAR_OptInputs[] ={ &TA_DEF_UI_D_AccelerationFactor,  &TA_DEF_UI_D_AccelerationMaximum,  NULL};DEF_FUNCTION( SAR,                        /* name */              TA_GroupId_OverlapStudies,  /* groupId */              "Parabolic SAR",            /* hint */              "Sar",                      /* CamelCase name */              TA_FUNC_FLG_OVERLAP         /* flags */             );/* SAR END *//* SAREXT BEGIN */static const TA_RealRange TA_DEF_AccelerationInit ={   0.0,         /* min */   TA_REAL_MAX, /* max */   4,     /* precision */   0.01,  /* suggested start */   0.19,  /* suggested end   */   0.01   /* suggested increment */};static const TA_RealRange TA_DEF_SARStartValue ={   TA_REAL_MIN, /* min */   TA_REAL_MAX, /* max */   4,     /* precision */   0, /* suggested start */   0, /* suggested end   */   0  /* suggested increment */};static const TA_RealRange TA_DEF_SAROffsetOnReverse ={   0.0,         /* min */   TA_REAL_MAX, /* max */   4,     /* precision */   0.01,  /* suggested start */   0.15,  /* suggested end   */   0.01   /* suggested increment */};static const TA_OptInputParameterInfo TA_DEF_UI_D_StartValue ={   TA_OptInput_RealRange, /* type */   "optInStartValue",        /* paramName */   0,                     /* flags */   "Start Value", /* displayName */   (const void *)&TA_DEF_SARStartValue, /* dataSet */   0.0, /* defaultValue */   "Start value and direction. 0 for Auto, >0 for Long, <0 for Short", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_OffsetOnReverse ={   TA_OptInput_RealRange,  /* type */   "optInOffsetOnReverse", /* paramName */   0,                      /* flags */   "Offset on Reverse", /* displayName */   (const void *)&TA_DEF_SAROffsetOnReverse, /* dataSet */   0.0, /* defaultValue */   "Percent offset added/removed to initial stop on short/long reversal", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationInitLong ={   TA_OptInput_RealRange, /* type */   "optInAccelerationInitLong",        /* paramName */   0,                     /* flags */   "AF Init Long", /* displayName */   (const void *)&TA_DEF_AccelerationInit, /* dataSet */   0.02, /* defaultValue */   "Acceleration Factor initial value for the Long direction", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationLong ={   TA_OptInput_RealRange, /* type */   "optInAccelerationLong",  /* paramName */   0,          /* flags */   "AF Long", /* displayName */   (const void *)&TA_DEF_AccelerationFactor, /* dataSet */   0.02, /* defaultValue */   "Acceleration Factor for the Long direction", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaxLong ={   TA_OptInput_RealRange, /* type */   "optInAccelerationMaxLong",        /* paramName */   0,                     /* flags */   "AF Max Long", /* displayName */   (const void *)&TA_DEF_AccelerationMax, /* dataSet */   0.20, /* defaultValue */   "Acceleration Factor maximum value for the Long direction", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationInitShort ={   TA_OptInput_RealRange, /* type */   "optInAccelerationInitShort",        /* paramName */   0,                     /* flags */   "AF Init Short", /* displayName */   (const void *)&TA_DEF_AccelerationInit, /* dataSet */   0.02, /* defaultValue */   "Acceleration Factor initial value for the Short direction", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationShort ={   TA_OptInput_RealRange, /* type */   "optInAccelerationShort",  /* paramName */   0,          /* flags */   "AF Short", /* displayName */   (const void *)&TA_DEF_AccelerationFactor, /* dataSet */   0.02, /* defaultValue */   "Acceleration Factor for the Short direction", /* hint */   NULL /* CamelCase name */};static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaxShort ={   TA_OptInput_RealRange, /* type */   "optInAccelerationMaxShort",        /* paramName */   0,                     /* flags */   "AF Max Short", /* displayName */   (const void *)&TA_DEF_AccelerationMax, /* dataSet */   0.20, /* defaultValue */   "Acceleration Factor maximum value for the Short direction", /* hint */   NULL /* CamelCase name */};static const TA_InputParameterInfo    *TA_SAREXT_Inputs[]    ={  &TA_DEF_UI_Input_Price_HL,  NULL};static const TA_OutputParameterInfo   *TA_SAREXT_Outputs[]   ={  &TA_DEF_UI_Output_Real,  NULL};static const TA_OptInputParameterInfo *TA_SAREXT_OptInputs[] ={ &TA_DEF_UI_D_StartValue,  &TA_DEF_UI_D_OffsetOnReverse,  &TA_DEF_UI_D_AccelerationInitLong,  &TA_DEF_UI_D_AccelerationLong,  &TA_DEF_UI_D_AccelerationMaxLong,  &TA_DEF_UI_D_AccelerationInitShort,  &TA_DEF_UI_D_AccelerationShort,  &TA_DEF_UI_D_AccelerationMaxShort,  NULL};DEF_FUNCTION( SAREXT,                     /* name */              TA_GroupId_OverlapStudies,  /* groupId */              "Parabolic SAR - Extended", /* hint */              "SarExt",                   /* CamelCase name */              TA_FUNC_FLG_OVERLAP         /* flags */             );/* SAREXT END *//* SIN BEGIN */DEF_MATH_UNARY_OPERATOR( SIN, "Vector Trigonometric Sin", "Sin" )/* SIN END *//* SINH BEGIN */DEF_MATH_UNARY_OPERATOR( SINH, "Vector Trigonometric Sinh", "Sinh" )/* SINH END *//* SMA BEGIN */static const TA_InputParameterInfo    *TA_SMA_Inputs[]    ={  &TA_DEF_UI_Input_Real,  NULL};static const TA_OutputParameterInfo   *TA_SMA_Outputs[]   =

⌨️ 快捷键说明

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