📄 technique.h
字号:
int m_nDays1;
int m_nDays2;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CMAOSC & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 3减6日乖离3-6BIAS
class STKLIB_API C36BIAS : public CTechnique
{
public:
// Constructors
C36BIAS( );
C36BIAS( CKData * pKData );
virtual ~C36BIAS();
public:
virtual void Clear( );
// Attributes
int m_itsSold;
int m_itsBought;
virtual void SetDefaultParameters( );
void AttachParameters( C36BIAS & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
};
// 去势价格摆动指数DPO
class STKLIB_API CDPO : public CTechnique
{
public:
// Constructors
CDPO( );
CDPO( CKData * pKData );
virtual ~CDPO();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CDPO & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 确然指标KST
class STKLIB_API CKST : public CTechnique
{
public:
// Constructors
CKST( );
CKST( CKData * pKData );
virtual ~CKST();
public:
virtual void Clear( );
// Attributes
CSPDWordArray m_adwROCDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CKST & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
/////////////////////////////////////////////////////////////////////////
// 其他类
// 范围膨胀指数REI
class STKLIB_API CREI : public CTechnique
{
public:
// Constructors
CREI( );
CREI( CKData * pKData );
virtual ~CREI();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsLong;
int m_itsShort;
virtual void SetDefaultParameters( );
void AttachParameters( CREI & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
};
// 迪马克尔指标DMKI
class STKLIB_API CDMKI : public CTechnique
{
public:
// Constructors
CDMKI( );
CDMKI( CKData * pKData );
virtual ~CDMKI();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsSold;
int m_itsBought;
virtual void SetDefaultParameters( );
void AttachParameters( CDMKI & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
};
// 幅度比PCNT
class STKLIB_API CPCNT : public CTechnique
{
public:
// Constructors
CPCNT( );
CPCNT( CKData * pKData );
virtual ~CPCNT();
public:
virtual void Clear( );
// Attributes
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CPCNT & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 幅度分析HLC
class STKLIB_API CHLC : public CTechnique
{
public:
// Constructors
CHLC( );
CHLC( CKData * pKData );
virtual ~CHLC();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CHLC & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 逆势操作指标CDP
class STKLIB_API CCDP : public CTechnique
{
public:
// Constructors
CCDP( );
CCDP( CKData * pKData );
virtual ~CCDP();
public:
virtual void Clear( );
// Attributes
virtual void SetDefaultParameters( );
void AttachParameters( CCDP & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pAH, double * pNH, double * pAL, double * pNL, int nIndex, BOOL bUseLast );
};
// 累积摆动指标ASI
class STKLIB_API CASI : public CTechnique
{
public:
// Constructors
CASI( );
CASI( CKData * pKData );
virtual ~CASI();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
virtual void SetDefaultParameters( );
void AttachParameters( CASI & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
};
// 均幅指标ATR
class STKLIB_API CATR : public CTechnique
{
public:
// Constructors
CATR( );
CATR( CKData * pKData );
virtual ~CATR();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsSold;
int m_itsBought;
virtual void SetDefaultParameters( );
void AttachParameters( CATR & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
};
/////////////////////////////////////////////////////////////////////////
// 策略为王类
// 周期摆动量CYO
class STKLIB_API CCYO : public CTechnique
{
public:
// Constructors
CCYO( );
CCYO( CKData * pKData );
virtual ~CCYO();
public:
virtual void Clear( );
// Attributes
CSPDWordArray m_adwMTMDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CCYO & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 去噪周期摆动量DCYO
class STKLIB_API CDCYO : public CTechnique
{
public:
// Constructors
CDCYO( );
CDCYO( CKData * pKData );
virtual ~CDCYO();
public:
virtual void Clear( );
// Attributes
CSPDWordArray m_adwMTMDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CDCYO & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
// 相对换手率HSL
class STKLIB_API CHSL : public CTechnique
{
public:
// Constructors
CHSL( );
CHSL( CKData * pKData );
virtual ~CHSL();
static double GetMainChangeHand( DWORD dwMarket, CKData & kdata, int nIndexKD );
public:
virtual void Clear( );
CStockInfo m_stockinfo;
// Attributes
int m_nDays; // Not Used
int m_nMADays; // Not Used
int m_itsGoldenFork; // Not Used
int m_itsDeadFork; // Not used
virtual void SetDefaultParameters( );
void AttachParameters( CHSL & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, int nIndex, int nDays, BOOL bUseLast );
};
// 去势百分比指标DPER
class STKLIB_API CDPER : public CTechnique
{
public:
// Constructors
CDPER( );
CDPER( CKData * pKData );
virtual ~CDPER();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_nMADays;
int m_nDetrendDays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CDPER & src );
virtual BOOL IsValidParameters( );
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL );
virtual BOOL GetMinMaxInfo(int nStart, int nEnd, double *pdMin, double *pdMax );
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast );
virtual BOOL Calculate( double * pValue, double * pMA, int nIndex, BOOL bUseLast );
};
#define TECHUSER_API
#include "TechUser.h"
// 用户外挂指标
class STKLIB_API CTechUser : public CTechnique
{
public:
// Constructors
CTechUser( );
CTechUser( CKData * pKData );
virtual ~CTechUser();
// static functions
static UINT GetTechUserCount();
static CSPString GetTechUserName( int nTech );
static CSPString GetTechUserShortName( int nTech );
// techuser attributes
BOOL SetTechUserID( int nTechUserID );
UINT GetTechUserID( );
void SetStock( CStock * pStock );
UINT GetLineCount( );
CSPString GetLineName( int nLine );
public:
virtual void Clear( ); // 清除
public:
// Attributes
virtual void SetDefaultParameters( ); // 设定缺省参数
void AttachParameters( CTechUser & src ); // 指定参数与src相同
virtual BOOL IsValidParameters( ); // 参数是否合法
// Operations
virtual int GetSignal( int nIndex, UINT * pnCode = NULL ); // 得到买卖信号
virtual int GetIntensity( int nIndex, UINT * pnCode = NULL, BOOL bTraceBack = TRUE ); // 得到买卖趋势信号
virtual int GetIntensityTraceback( int nIndex, UINT * pnCode = NULL ); // 得到买卖趋势信号
virtual BOOL GetMinMaxInfo( int nStart, int nEnd, double *pdMin, double *pdMax ); // 得到最大最小值
virtual BOOL Calculate( double * pValue, int nIndex, BOOL bUseLast ); // 计算指标值
virtual BOOL Calculate( double * pValue1, double * pValue2, int nIndex, BOOL bUseLast ); // 计算指标值
virtual BOOL Calculate( double * pValue1, double * pValue2, double * pValue3, int nIndex, BOOL bUseLast ); // 计算指标值
virtual BOOL Calculate( double * pValue1, double * pValue2, double * pValue3, double * pValue4, int nIndex, BOOL bUseLast ); // 计算指标值
virtual BOOL Calculate( double * pValue1, double * pValue2, double * pValue3, double * pValue4, double * pValue5, int nIndex, BOOL bUseLast ); // 计算指标值
protected:
UINT m_nTechUserID;
TECHUSER_INFO m_techuserinfo;
CStock * m_pStock;
};
#endif //__STKLIB_TECHNIQUE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -