📄 technique.h
字号:
// Constructors
CDJ( );
CDJ( CKData * pKData );
virtual ~CDJ();
static CStock m_stockSha;
static CStock m_stockSzn;
static CSPString m_strCodeOrg;
public:
virtual void Clear( );
// Attributes
CSPString m_strCodeSha;
CSPString m_strCodeSzn;
virtual void SetDefaultParameters( );
void AttachParameters( CDJ & src );
virtual BOOL IsValidParameters( );
BOOL PrepareStockData(CStDatabase * pDatabase, const char * szCodeOrg,
int nCurKType, int nCurKFormat, int nCurMaindataType,
DWORD dwAutoResumeDRBegin, int nAutoResumeDRLimit );
// Operations
};
// 筹码分布图CW
class STKLIB_API CCW : public CTechnique
{
public:
// Constructors
CCW( );
CCW( CKData * pKData );
virtual ~CCW();
public:
virtual void Clear( );
// Attributes
double m_dChangeHand;
virtual void SetDefaultParameters( );
void AttachParameters( CCW & src );
virtual BOOL IsValidParameters( );
// Operations
BOOL GetRange( int & nStart, int & nEnd, CStockInfo & info );
BOOL GetMinMaxInfo(int nStart, int nEnd, double dMinPrice, double dMaxPrice, double dStep,
double *pdMinVolume, double *pdMaxVolume );
BOOL CalculateCW( double *pdVolume, int nStart, int nEnd, double dPrice, double dStep );
BOOL CalculateCW(int nStart, int nEnd, CStockInfo & info, double dStep,
CSPDWordArray & adwPrice, CSPDWordArray & adwVolume,
double * pdMinVolume, double * pdMaxVolume, double * pdTotalVolume, double * pdVolPercent );
BOOL CalculateRecentCW(int nEnd, int nDays, CStockInfo & info, double dStep,
CSPDWordArray & adwPrice, CSPDWordArray & adwVolume,
double * pdMinVolume, double * pdMaxVolume, double * pdTotalVolume, double * pdVolPercent );
BOOL CalculatePastCW(int nEnd, int nDays, CStockInfo & info, double dStep,
CSPDWordArray & adwPrice, CSPDWordArray & adwVolume,
double * pdMinVolume, double * pdMaxVolume, double * pdTotalVolume, double * pdVolPercent );
// Stat
static BOOL StatGainPercent( double *pdGainPercent, CSPDWordArray &adwPrice, CSPDWordArray &adwVolume, double dPriceSel );
static BOOL StatCostAverage( double *pdCostAve, CSPDWordArray &adwPrice, CSPDWordArray &adwVolume );
static BOOL StatMass(double *pdLower, double *pdUpper, double *pdMassPrice, CSPDWordArray &adwPrice, CSPDWordArray &adwVolume, double dMassVol );
};
/////////////////////////////////////////////////////////////////////////
// 趋势类
// 指数平滑异同移动平均线MACD
class STKLIB_API CMACD : public CTechnique
{
public:
// Constructors
CMACD( );
CMACD( CKData * pKData );
virtual ~CMACD();
public:
virtual void Clear( );
// Attributes
int m_nEMA1Days;
int m_nEMA2Days;
int m_nDIFDays;
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CMACD & 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 *pdEMA1, double *pdEMA2, double *pdDIF, double *pdDEA,
int nIndex, BOOL bUseLast );
};
// 麦克指标MIKE
class STKLIB_API CMIKE : public CTechnique
{
public:
// Constructors
CMIKE( );
CMIKE( CKData * pKData );
virtual ~CMIKE();
public:
virtual void Clear( );
// Attributes
int m_nDays;
virtual void SetDefaultParameters( );
void AttachParameters( CMIKE & src );
virtual BOOL IsValidParameters( );
// Operations
BOOL CalculateMIKE( double *pWR, double *pMR, double *pSR,
double *pWS, double *pMS, double *pSS, int nIndex );
};
// 心理线PSY
class STKLIB_API CPSY : public CTechnique
{
public:
// Constructors
CPSY( );
CPSY( CKData * pKData );
virtual ~CPSY();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsSold;
int m_itsBought;
virtual void SetDefaultParameters( );
void AttachParameters( CPSY & 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 );
};
/////////////////////////////////////////////////////////////////////////
// 能量类
// 成交量
class STKLIB_API CVOLUME : public CTechnique
{
public:
// Constructors
CVOLUME( );
CVOLUME( CKData * pKData );
virtual ~CVOLUME();
public:
virtual void Clear( );
// Attributes
CSPDWordArray m_adwMADays;
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
int m_itsLong;
int m_itsShort;
virtual void SetDefaultParameters( );
void AttachParameters( CVOLUME & 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, int nDays, BOOL bUseLast );
};
// 负成交量指标NVI
class STKLIB_API CNVI : public CTechnique
{
public:
// Constructors
CNVI( );
CNVI( CKData * pKData );
virtual ~CNVI();
public:
virtual void Clear( );
// Attributes
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CNVI & 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, double *pMA, int nIndex, BOOL bUseLast );
};
// 正成交量指标PVI
class STKLIB_API CPVI : public CTechnique
{
public:
// Constructors
CPVI( );
CPVI( CKData * pKData );
virtual ~CPVI();
public:
virtual void Clear( );
// Attributes
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CPVI & 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, double *pMA, int nIndex, BOOL bUseLast );
};
// 容量比率VR
class STKLIB_API CVR : public CTechnique
{
public:
// Constructors
CVR( );
CVR( CKData * pKData );
virtual ~CVR();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsLong;
int m_itsShort;
virtual void SetDefaultParameters( );
void AttachParameters( CVR & 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 );
};
// 成交量变动率指标VROC
class STKLIB_API CVROC : public CTechnique
{
public:
// Constructors
CVROC( );
CVROC( CKData * pKData );
virtual ~CVROC();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_nMADays;
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
virtual void SetDefaultParameters( );
void AttachParameters( CVROC & 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 );
};
// 能量线OBV
class STKLIB_API COBV : public CTechnique
{
public:
// Constructors
COBV( );
COBV( CKData * pKData );
virtual ~COBV();
public:
virtual void Clear( );
// Attributes
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
virtual void SetDefaultParameters( );
void AttachParameters( COBV & 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 * pdOBV, int nIndex, BOOL bUseLast );
};
// 主力进出MOBV
class STKLIB_API CMOBV : public COBV
{
public:
// Constructors
CMOBV( );
CMOBV( CKData * pKData );
virtual ~CMOBV();
public:
virtual void Clear( );
// Attributes
int m_nDays1;
int m_nDays2;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CMOBV & 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 * pValue1, double * pValue2, double * pValue3, int nIndex, BOOL bUseLast );
};
// 资金流动指数MFI
class STKLIB_API CMFI : public CTechnique
{
public:
// Constructors
CMFI( );
CMFI( CKData * pKData );
virtual ~CMFI();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsLong;
int m_itsShort;
virtual void SetDefaultParameters( );
void AttachParameters( CMFI & 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 );
};
// 量指数平滑异同移动平均线VMACD
class STKLIB_API CVMACD : public CMACD
{
public:
// Constructors
CVMACD( );
CVMACD( CKData * pKData );
virtual ~CVMACD();
protected:
public:
virtual BOOL Calculate( double *pdEMA1, double *pdEMA2, double *pdDIF, double *pdDEA,
int nIndex, BOOL bUseLast );
};
// 威廉变异离散量WVAD
class STKLIB_API CWVAD : public CTechnique
{
public:
// Constructors
CWVAD( );
CWVAD( CKData * pKData );
virtual ~CWVAD();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsLong;
int m_itsShort;
virtual void SetDefaultParameters( );
void AttachParameters( CWVAD & 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 );
};
// 简易波动指标EMV
class STKLIB_API CEMV : public CTechnique
{
public:
// Constructors
CEMV( );
CEMV( CKData * pKData );
virtual ~CEMV();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_nMADays;
int m_itsGoldenFork;
int m_itsDeadFork;
virtual void SetDefaultParameters( );
void AttachParameters( CEMV & 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 );
};
// 量相对强弱指标VRSI
class STKLIB_API CVRSI : public CTechnique
{
public:
// Constructors
CVRSI( );
CVRSI( CKData * pKData );
virtual ~CVRSI();
public:
virtual void Clear( );
// Attributes
int m_nDays;
int m_itsDeviateOnBottom;
int m_itsDeviateOnTop;
int m_itsSold;
int m_itsBought;
virtual void SetDefaultParameters( );
void AttachParameters( CVRSI & src );
virtual BOOL IsValidParameters( );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -