📄 fx.h
字号:
////////////////////////////////////////////////////////////////////////This function and macro is to deal with the hirstory data analyser.//#define FRAME_WIDTH 2#define MAX_GPDM_SIZE 6#define MAX_PARA_NAME 6#define MIN_5 0#define MIN_15 1#define MIN_30 2#define MIN_60 3#define DAY 4#define WEEK 5#define MONTH 6#define DEFSHOWDOT 60#define MAXSHOWDOT 900#define ABS(x) ((x>=0) ? x:0.00-x)#define PV(x) ((x>=0) ? x:0.00)#define NV(x) ((x<=0) ? 0-x:0)#define FX_CLASS "JXFX"typedef struct tag_MACD_DATA{ double macd; double ema1,ema2; double dif; double cha;}MACD_DATA, FAR *LPMACD_DATA;typedef struct tag_RSI_DATA{ double un[3],dn[3],rsi[3];}RSI_DATA,FAR *LPRSI_DATA;typedef struct tag_DMI_DATA{ double tr,pdm,ndm,pdi,ndi; double dx,adx;}DMI_DATA,LPDMI_DATA;typedef struct tag_PSY_DATA{ double psy;}PSY_DATA,LPPSY_DATA;typedef struct tag_VR_DATA{ double vr;}VR_DATA,LPVR_DATA;typedef struct tag_OBV_DATA{ double obv;}OBV_DATA,LPOBV_DATA;typedef struct tag_BIAS_DATA{ double bias;}BIAS_DATA,LPBIAS_DATA;typedef struct tag_WR_DATA{ double wr[4];}WR_DATA,LPWR_DATA;typedef struct tag_KDJ_DATA{ double k,d,j;}KDJ_DATA,LPKDJ_DATA;typedef struct tag_K_DATA{ char date[10]; //yymmddhhmi float ks; float zg; float zd; float ss; long cj;}K_DATA,MAIN_DATA,FAR *LPK_DATA;//This struct to draw curve para.//feature:// bit1 -bit10 -----draw data object#define DW_DATA1 (1L<< 0)#define DW_FRAME (1L<<10)#define DW_LEFT (1L<<11)#define DW_X_COOR (1L<<12)#define DW_ALERT (1L<<13)#define DW_TOP (1L<<14)#define DW_NAME (1L<<15)#define DW_MAX (1L<<16)#define DW_MIN (1L<<17)#define DW_SELE (1L<<18)#define DW_NULL (1L<<19)#define DW_DELE (1L<<20)//bit 22 -25 is ret no code.value is 0 -16#define GetSerial(x) (x>>21)#define SetSerial(x,y) (x<<21|y)#define DW_BASE 0x3ff#define DW_OBJECT 0xffff#define DW_ATTR 0xffff0000#define DW_ALL 0x3fc00#define MAX_DATA_ITEM 10typedef struct tag_PARA{ char name[MAX_PARA_NAME+1]; //参数名称 char pname[MAX_DATA_ITEM][MAX_PARA_NAME+1]; //参数名称 int no; //目标标号 int dnum; //数据项个数 COLORREF color[MAX_DATA_ITEM*2]; //色参数,对应于该目标的画图项数 RECT rc; //作图区 int pnum; //参数个数(指可调参数个数,等于Periods个数) int periods[MAX_DATA_ITEM]; //计算周期 double price[5]; //价参数 price[0] MAX price[1] MIN price[2]alert1,price[3]alert2 int htitle; //顶标注区高度 int xtitle[5]; //顶标注区数据项X坐标(数据项名称在xtitle[i]-ltitle处) double fwdt,fhdj; //宽密度、高密度 unsigned long feature; //32位特性码 struct tag_PARA *next; //下一个参数对象指针}PARA;typedef struct tag_DATA{ int no; //数据对象编号 char gpdm[MAX_GPDM_SIZE+1]; //数据对象的股票代码 int type; //数据对象的分析曲线类型 int range; //分析周期 int size; //每项数据个数 int num; //数据项个数 int method[MAX_DATA_ITEM]; //每个数据项的画法 double* v[MAX_DATA_ITEM]; //数据值 struct tag_DATA *next; //下一个数据对象地址}DATA;#define PRICE_BAR_METHOD 0 //用价参数画方形图(KS、SS、ZG、ZD)#define VOULMN_BAR_METHOD 1 //用量参数画方形图(CJ)#define CURVE_METHOD 2 //曲线#define VERT_LINE_METHOD 3 //垂直线typedef struct tag_PAINT_PARA{ int num; //初始化表项数 RECT rc; //作图区整体大小 int wleft; //左标注区宽度 int object; //操作目标的编号 long item; //操作目标的项目编号 BOOL IsMax; //窗口是否开大 BOOL IsAvLineShow; //是否画平均线 BOOL IsScroll; //窗口是否在左右滚动 BOOL IsUpDown; //窗口是否在上下滚动 BOOL IsPainting; BOOL IsSetPara; //是否在设置参数 HFONT hFont;}PAINT_PARA;typedef struct tag_FX{ char gpdm[MAX_GPDM_SIZE+1]; char gpmc[20]; PAINT_PARA PaintPara; MAIN_DATA *MainData; PARA KxPara,CjlPara; DATA KxData,CjlData; PARA *Para; DATA *Data; BOOL IsDataOk; int range,type; int ShowDot,RecCount,CurRecPrt,TotalCount;}FX,FAR *LPFX;HWND ghWndSetup;FX *Fx;char *RANGE_NAME[];unsigned int RANGE_MENU[7];BOOL RegisterFx();BOOL CreateWndFx(HWND);LRESULT CALLBACK FxWndProc(HWND, UINT, WPARAM, LPARAM);#define SCROLL_RIGHT 1#define SCROLL_LEFT -1#define SCROLL_CANCEL 0#define SCROLL_HOME 'H'#define SCROLL_END 'E'int DrawScroll(FX *fx,int orient);int UpDown(FX *fx,int orient);extern int vLineTo(HDC hDC, int x1, int y1);extern int hLineTo(HDC hDC, int x1, int y1);typedef struct tag_DAY_DATA{ long day; float kpjg, spjg, zgjg, zdjg; long cjss; double cjje;}DAY_DATA, FAR *LPDAY_DATA;BOOL AnalyseInit(void); int WriteDefaultPara(void);int WritePara(PARA *para);int GetAnalysePara (PARA *para);void SetDiagColor(int x,int y,PARA *Para);void SetAnalysePara(PAINT_PARA *PaintPara);typedef int (* CREATEDATA)(K_DATA *MainData,int Num,DATA *Data,PARA *Para);typedef struct tag_ANALYSER_INIT_ITEM{ int type; char name[MAX_PARA_NAME+1]; CREATEDATA CreateData;}ANALYSER_INIT_TABLE;extern ANALYSER_INIT_TABLE *INIT_TABLE;extern HWND ghWndSetup;extern FX *Fx;extern BOOL RegisterFx(void);extern BOOL CreateWndFx(HWND hWnd);extern int FxExit(LPFX Fx);int DrawDiagram(HDC hDc,int CurRecPrt,int Show,PARA *Para,DATA *Data,PAINT_PARA *PaintPara,long feature);long GetObjectItem(int x,int y,int CurRecPrt,int Show,PARA *Para,DATA *Data,PAINT_PARA *PaintPara);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -