搜索
下半年翻五倍的标的查询只要觉得你的资源有价值,找我超长线翻倍股6个,299元想知识变现,点这里
广东线下聚会即将开始帮你配置仓位领五倍以上大牛不做制度的牺牲品
查看: 14069|回复: 70

结帖

[复制链接]

签到天数: 1 天

发表于 2008-5-24 18:01 | 显示全部楼层

结帖

来自:MACD论坛(bbs.macd.cn) 作者:0q0q0q 浏览:14069 回复:70

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
内容全部清楚!

[ 本帖最后由 0q0q0q 于 2008-8-31 21:33 编辑 ]
参与人数 1奖励 +50 时间 理由
Laodaold + 50 2008-5-25 00:24 帖子很棒,加分鼓励,期待您更多优秀帖 ...

查看全部评分

金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

签到天数: 1 天

 楼主| 发表于 2008-5-24 18:02 | 显示全部楼层

大智慧L2公式实现数据导出-TOPVIEW参考

大智慧L2公式实现数据导出-TOPVIEW参考
此为原分析家公式(DZH L2通用),希望有DZH L2的人试验一下,最终能实现导出TOPVIEW数据,而非每天截图,发此公式VC源代码,抛砖引玉
使用方法


1.把公式 etxthb.fnc公式引入大智慧L2,好像默认会引入到“技术指标-其他”下面

2.复制 etxt.dll到大智慧L2目录
3.在c:\superstk\  下建立一个目录名字为 text

4.打开大智慧L2,选择etxthb这个公式,进行条件选股,选择你想要的分析周期.
执行选股即可,数据文件会保存在c:\superstk\text 目录下,
如果没有这个目录就建立这个目录c:\superstk\text,只是我太懒了数据只能导出在c盘


另外,如果原来text目录下面有数据文件,那么数据是会追加的,而不是覆盖。
另外,条件选股时指标线的满足条件是任意的,不管选什么都会导出数据。
如果导入不了公式,就自己新建一个公式,内容只有一句话:
"etxt@MYMACLOSE"(999999);

其中etxt是那个etxt.dll的文件名,MYMACLOSE是导出数据文件的函数,(999999)为数据条数,
实在是太太太简单了,所以就连源代码一起放上来,如果你原意,那你就自己改吧!然后用vc6打开FxjFunc.dsw编译即可!

etxt.dll        数据导出的dll
etxthb.fnc        数据导出的分析家公式

[ 本帖最后由 0q0q0q 于 2008-8-31 21:31 编辑 ]
金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

签到天数: 1 天

 楼主| 发表于 2008-5-24 18:03 | 显示全部楼层
期货收益统计系统 代码

[ 本帖最后由 0q0q0q 于 2008-8-31 21:32 编辑 ]
金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

签到天数: 1 天

 楼主| 发表于 2008-5-24 18:04 | 显示全部楼层
K线工具 代码

[ 本帖最后由 0q0q0q 于 2008-8-31 21:32 编辑 ]
金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

签到天数: 1 天

 楼主| 发表于 2008-5-24 18:05 | 显示全部楼层
软件由Microsoft Visual C++ 6.0开发而成,亦可在VC7下编译通过。本说明中的
  所有文件缺省目录都是当前工作区Src\。

★★1.编译注意事项
      使用VC6打开工作区StkUI.dsw
      然后可以按照以下顺序依次编译各个工程
      GuiLib、profuisdll、XPFace、StkLib、StkNet、StkUI、Tools
      其中工程StkUI是软件的主界面程序,Tools 是注册机以及一些简单的工具,其他
  都是动态连接库。

★★2.工程profuisdll介绍
      profuisdll是一套比较专业的Windows界面库,是俄国人做的,还不错,本软件
  改正了它的几个bug。在ProfUIS\Modified.txt文件中有说明。
      本软件3.0版仅使用了该界面库的颜色选择对话框。

★★3.工程GuiLib介绍
      GuiLib是另一套Windows界面库,本软件改正了它的几个bug。在GuiLib\Modified.txt
  文件中有说明。
      本软件3.0版使用了该界面库的界面框架、菜单条、工具条。

★★4.工程XPFace介绍
      主要是本软件的一些界面美化的类,放在了这个DLL里面。

★★5.工程StkLib介绍
      这个工程是实现股票数据结构、技术指标计算的动态连接库,代码与平台无关。
  其中比较重要的几个文件如下:
      Database.h        读取数据文件接口定义
      QianLong.h        钱龙格式数据文件接口定义
      SelfDB.h          自有格式数据文件接口定义,除了除权数据和行情数据外,
                        其他与钱龙一样
      Stock.h           股票数据结构定义
      Technique.h       技术指标类定义
      Container.h       股票信息数据CStockInfo的数组类
      Express.h         股票列表视图的列变量定义,以及自定义列的表达式计算
      Strategy.h        策略定义
      Profile.h         记录软件的用户配置并保存

      BaseData.cpp      基本资料数据结构类实现
      Database.cpp      数据文件读写实现
      DRData.cpp        除权数据结构数组类实现
      KData.cpp         K线数据结构数组类实现
      Report.cpp        行情数据结构数组类实现
      Minute.cpp        行情分时数据结构数组类实现
      Outline.cpp       行情额外数据结构数组类实现
      QianLong.cpp      钱龙数据文件读写实现
      SelfDB.cpp        自有格式数据文件读写实现
      Stock.cpp         股票数据结构实现
      StStore.cpp       数据文件读写实现
      TechCL.cpp        自有技术指标
      TechEnergy.cpp    能量类技术指标
      TechKLine.cpp     K线叠加类技术指标
      Technique.cpp     技术指标基类
      TechSwing.cpp     摆动类技术指标
      TechTrend.cpp     趋势类技术指标
      TechOther.cpp     其它类技术指标
      Container.cpp     股票信息数据CStockInfo的数组类实现
      Express.cpp       股票列表视图的列变量定义,以及自定义列的表达式计算实现
      Strategy.cpp      策略定义实现
      Profile.cpp       记录软件的用户配置并保存
      有关详细的说明,参看源文件中的注释。

      工程StkLib的几个全局静态变量:
      g_stockcontainer:AfxGetStockContainer()可以得到该变量的引用,该
              变量记录所有股票的行情信息和基本信息,CStockInfo的数组。
      g_domaincontainer:AfxGetDomainContainer()可以得到该变量的引用,
              该变量记录所有板块的信息。
      g_groupcontainer:AfxGetGroupContainer()可以得到该变量的引用,该
              变量记录所有分组的信息。
      g_stdatabase:AfxGetDB()可以得到该变量的引用,该变量实现了本软件的
              数据文件接口。
      g_stprofile:AfxGetProfile()可以得到该变量的引用,该变量记录当前软
              件的一些设置。
      
★★6.工程StkNet介绍
      这个工程是实现网络数据自动下载功能的动态连接库。其中比较重要的几个文
  件如下:
      NetDB.h          一些数据下载,安装的接口
      HttpClt.h        HTTP协议客户端类
      InfoZip.h        压缩/解压缩Zip文件
      Markup.h         XML解析
      XMLDoc.h         XML辅助
      secret.h         主要包括一些注册机的加密算法和读取硬盘序列号的类。

      NetDB.cpp        一些数据下载,安装的接口实现
      HttpClt.cpp      HTTP协议客户端类实现
      InfoZip.cpp      压缩/解压缩
      Markup.cpp       XML解析实现
      Secret.cpp       加密文件,读取硬盘系列号等
      XMLDoc.cpp       XML辅助实现
      secret.cpp       主要包括一些注册机的加密算法和读取硬盘序列号的类实现。

      其中工程中的Tongshi Files为支持通视卡行情的实现程序
      其中工程中的Yongxin Files为支持清华永新卡行情的实现程序
      其中工程中的Receiver Files为本软件的行情接收的实现程序,其中将通视卡和清
  华永新卡的数据结构转换成本软件内的通用数据结构,报价(REPORT)、分时(MINUTE)、
  额外(OUTLINE)、K线(KDATA)、除权信息(DRDATA)

      工程StkNet的全局静态变量:
      g_sview:AfxGetSView()可以得到该变量的引用,该变量记录注册信息。


★★7.工程StkUI介绍
      该工程生成最终可执行文件,主要是软件的界面。主要几个文件如下:
      BaseView.cpp     基本资料视图
      ChildFrm.cpp     子窗口框架
      MainFrm.cpp      主框架,响应菜单命令
      StkUI.cpp        应用程序类,主程序初始化,初始数据读取等
      StaticDoc.cpp    文档类
      WizardView.cpp   向导视图
      SimuView.cpp     策略视图
      MarketView.cpp   实时行情视图
      SListView.cpp    股票列表视图
      StockGraph.cpp   技术指标视图画图类
      DrawTech.cpp     画具体技术指标的函数,属于CGraphView类的方法
      GraphView.cpp    技术指标视图
      StrategyView.cpp      策略树视图
      GroupView.cpp    股票分组树视图
      TechsView.cpp    技术指标树视图

★★8.工程Tools介绍
      该工程包含以下几个模块:
      注册机,利用了StkNet工程导出的AfxGetSView()。
      从txt基本资料文件中提取财务数据的小工具。
      修改文件时间的小工具。
金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

发表于 2008-5-24 18:08 | 显示全部楼层
看不懂啊
LZ真牛
金币:
奖励:
热心:
注册时间:
2007-7-21

回复 使用道具 举报

签到天数: 3 天

发表于 2008-5-24 18:10 | 显示全部楼层
:) :*19*:
金币:
奖励:
热心:
注册时间:
2006-11-26

回复 使用道具 举报

签到天数: 1 天

 楼主| 发表于 2008-5-24 18:15 | 显示全部楼层
/ StockGraph.h : interface of the CStockGraph class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_STOCKGRAPH_H__0A8D66A9_30E0_4AAA_8E17_06B721FC0E97__INCLUDED_)
#define AFX_STOCKGRAPH_H__0A8D66A9_30E0_4AAA_8E17_06B721FC0E97__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// 一些画图常用代码的宏定义
#define                CHECK_NODATATODRAW                        if( -1 == m_nIndexStart || -1 == m_nIndexEnd || m_nIndexStart > m_nIndexEnd ) return;
#define                DECLARE_COLOR_DEFINATION                \
        COLORREF        clrBK                =        AfxGetProfile().GetColor(CColorClass::clrGraphBK);                        \
        COLORREF        clrBorder        =        AfxGetProfile().GetColor(CColorClass::clrBorder);                        \
        COLORREF        clrRise                =        AfxGetProfile().GetColor(CColorClass::clrRise);                                \
        COLORREF        clrFall                =        AfxGetProfile().GetColor(CColorClass::clrFall);                                \
        COLORREF        clrFallEntity=        AfxGetProfile().GetColor(CColorClass::clrFallEntity);                \
        COLORREF        clrPlane        =        AfxGetProfile().GetColor(CColorClass::clrPlane);                        \
        COLORREF        clrNewKLine        =        AfxGetProfile().GetColor(CColorClass::clrNewKLine);                        \
        COLORREF        clrCW                =        AfxGetProfile().GetColor(CColorClass::clrCW);                                \
        COLORREF        clrDJ                =        AfxGetProfile().GetColor(CColorClass::clrDJ);                                \
        COLORREF        clrTitle        =        AfxGetProfile().GetColor(CColorClass::clrTitle);                        \
        COLORREF        clrText                =        AfxGetProfile().GetColor(CColorClass::clrText);                                \

typedef        CArray <CRect, CRect &>        CRectArray;

// Some Usefull Functions
void DrawLine( CDC * pDC, int nWidth, COLORREF clr, int xStart, int yStart, int xEnd, int yEnd );
void DrawDashLine( CDC * pDC, int nWidth, COLORREF clr, int xStart, int yStart, int xEnd, int yEnd );

void DrawDashAxis( CDC * pDC, int nWidth, COLORREF clr, int nCount, int xStart, int yStart, int xEnd, int yEnd );
void DrawAxisNumber(CDC * pDC, COLORREF clr, int nCount,
                                        int xStart, int yStart, int xEnd, int yEnd,
                                        double fMin, double fMax, BOOL bDrawMin, BOOL bDrawMax, int nDotCount );

BOOL DrawAxis(        CDC * pDC, CRect rect, int nMarginTop, int nAxisLines,
                                double dMin, double dMax, BOOL bDrawMin, BOOL bDrawMax, int nDotCount );
BOOL DrawTechTitle(CDC * pDC, int x, int y, LPCTSTR lpszText,
                                   UINT nTextAlign, int nFontSize, COLORREF clrBK, COLORREF clrText );

BOOL FixRect( CRect & rect, LPRECT lpRectMax );
BOOL DrawTextWithRect(CDC *pDC, int left, int top, int right, int bottom, LPCTSTR lpszText,
                                          COLORREF clrRect, COLORREF clrText, COLORREF clrBK, LPRECT lpRectMax );
BOOL DrawTextWithRect(CDC *pDC, int left, int top, int right, int bottom, UINT nIDString,
                                          COLORREF clrRect, COLORREF clrText, COLORREF clrBK, LPRECT lpRectMax );

/***
        画图类,负责画出技术指标视图中的所有部分
*/
class CStockGraph
{
public:
        CStockGraph( );
        virtual        ~CStockGraph( );
        void                SetParent( CWnd * pParent );
        void                ResetMargins(        int nMarginTop = 19, int nMarginBottom = 18,
                                                                int nHeightSubtitle = 15, int nWidthSubtitle = 70,
                                                                int nWidthParameter = 100, int nDefaultThickness = 6 );

        enum        klineMode        {
                klineCandle                        =        0x01,        // 蜡烛K线
                klineAmerica                =        0x02,        // 美国线
                klineTower                        =        0x03,        // 宝塔线
        };
        enum        sg_drawtech        {
                drawtechtype_line        =        0x01,        // 技术曲线使用实线
                drawtechtype_dot        =        0x02,        // 技术曲线使用虚线
        };
        enum        ReportWhat        {
                reportParam                        =        0x01,        // 参数
                reportCost                        =        0x02,        // 成本
                reportFlame                        =        0x03,        // 火焰山
                reportActivity                =        0x04,        // 活跃度
        };

        // 刷新实时行情数据
        LRESULT                OnStkReceiverData( WPARAM wParam, LPARAM lParam );

        int                        GetKType( );
        void                SetKType( int ktype = CKData::ktypeDay );
        int                        GetKFormat( );
        void                SetKFormat( int kformat = CKData::formatOriginal );
        int                        GetMaindataType( );
        void                SetMaindataType( int maindatatype = CKData::mdtypeClose );
        int                        GetKLineMode( );
        void                SetKLineMode( int klineMode = CStockGraph::klineCandle );
        CRect &                GetKDataRect( );
        void                ResetIndexCurrent( int nIndexCurrent = -1 );
        void                ResetIndex( int nIndexStart = -1, int nIndexEnd = -1, int nIndexCurrent = -1 );
        void                ResetClient( CRect rectAll );
        void                ClearTechniqueCache( );
        void                ClearCurStock( );
        BOOL                SetCurStock( const char * szCode );
        BOOL                SetCurStock( CStockInfo & info );
        void                SetReportWhat( int nReportWhat );
        BOOL                PrepareStockData( BOOL bReload = FALSE );
        void                Redraw( CDC * pDC, CRect rectAll );
        void                DrawReportRegion( CDC * pDC );

        int                        GetNextThickness( int nCurrentThickness, BOOL bAsc );
        void                ExpandUp( BOOL bShiftPressed = FALSE );
        void                ExpandDown( BOOL bShiftPressed = FALSE );
        void                MoveLeft( BOOL bShiftPressed = FALSE );
        void                MoveRight( BOOL bShiftPressed = FALSE );
        void                PageLeft( BOOL bShiftPressed = FALSE );
        void                PageRight( BOOL bShiftPressed = FALSE );
        void                MoveHome( BOOL bShiftPressed = FALSE );
        void                MoveEnd( BOOL bShiftPressed = FALSE );
        void                OnInsert( );
        void                OnLButtonDown( UINT nFlags, CPoint point, BOOL bShiftPressed, BOOL bCtrlPressed );
        void                OnLButtonUp( UINT nFlags, CPoint point, BOOL bShiftPressed, BOOL bCtrlPressed );
        void                OnMouseMove( UINT nFlags, CPoint point );
        void                OnLButtonDblClk( UINT nFlags, CPoint point, BOOL bShiftPressed, BOOL bCtrlPressed );
        void                OnRButtonDown( UINT nFlags, CPoint point, BOOL bShiftPressed, BOOL bCtrlPressed );
        void                OnReturn( BOOL bShiftPressed, BOOL bCtrlPressed );

        UINT                GetSelectedTech( );
        void                HideSelectedTech();
        void                AdjustSelectedTech();
protected:
        // Move Operation
        void                MoveTo( int nIndex, BOOL bShiftPressed, BOOL bCtrlPressed );
        void                OnIndexCurrentChanged( );
        void                Move( int nMove, BOOL bShiftPressed, BOOL bCtrlPressed );

        int                        GetIndexClick( CPoint point );
        void                SelectTechID( CPoint point );
        BOOL                AddIndexCurrent( int nIndex );
        void                InvalidateCenter( );
        BOOL                GetOneKLineRect( int nIndex, LPRECT lpRect, long *pxEntityLeft, long *pxEntityRight, long *pxMedium );

        void                DrawStock( CDC * pDC );
        BOOL                PrepareDrawKLine( );
        void                DrawNoDataInfo( CDC * pDC );
        void                DrawDateAxis( CDC * pDC );
        void                DrawKLine( CDC * pDC );
        BOOL                GetKLineMinMaxInfo( int nStart, int nEnd, double * pdMin, double * pdMax );
        void                DrawOneKLine(CDC * pDC, int nIndexPos, int nIndexKS, CKData * pKData, double dMin, double dMax, BOOL bGreyed );
        void                DrawBorderMovingLine( CDC * pDC, CPoint point, BOOL bAddOrRemove );
        void                DrawSelectionLine( CDC * pDC, BOOL bAddOrRemove );
        void                DrawSelectionRect( CDC * pDC, CPoint ptBegin, CPoint ptEnd, BOOL bAddOrRemove );
        void                DrawKData( );
public:
        void                DrawKData( CDC * pDC, CRect rect );
protected:
        void                DrawTechLine( CDC * pDC );
        void                DrawKLineAttribute(CDC * pDC, UINT nTech, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechLine( CDC * pDC, UINT nTech, CRect rect, BOOL bDrawTitle );
        void                DrawReportParam( CDC * pDC );
        void                DrawReportCost( CDC * pDC );
        void                DrawReportFlame( CDC * pDC );
        void                DrawReportActivity( CDC * pDC );
        void                DrawReportCW( CDC * pDC, BOOL bRecent, int nEnd, int nDays, double dChangeHand, COLORREF clr, CRect rectDescript );

        // KLine Technical Attributes
        void                DrawTechMA( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechBBI( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechBOLL( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechPV( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechSAR( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechDJ( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
        void                DrawTechCW( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax );
       
        // Technical Lines
        void                DrawTechMACD( CDC * pDC, CRect rect, BOOL bDrawTitle, int nTech = STT_MACD, CMACD * pmacd = NULL );
        void                DrawTechMIKE( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechPSY( CDC * pDC, CRect rect, BOOL bDrawTitle );
       
        void                DrawTechVOLUME( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechNVI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechPVI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechVR( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechVROC( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechOBV( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechMOBV( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechMFI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechVMACD( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechWVAD( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechEMV( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechVRSI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechNVRSI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechAD( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechCI( CDC * pDC, CRect rect, BOOL bDrawTitle );

        void                DrawTechKDJ( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechR( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechRSI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechBIAS( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechMTM( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechDMI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechROC( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechCCI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechCV( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechARBR( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechCR( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechOSC( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechUOS( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechMAOSC( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTech3_6BIAS( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechDPO( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechKST( CDC * pDC, CRect rect, BOOL bDrawTitle );
       
        void                DrawTechREI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechDMKI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechPCNT( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechHLC( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechCDP( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechASI( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechATR( CDC * pDC, CRect rect, BOOL bDrawTitle );

        void                DrawTechCYO( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechDCYO( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechHSL( CDC * pDC, CRect rect, BOOL bDrawTitle );
        void                DrawTechDPER( CDC * pDC, CRect rect, BOOL bDrawTitle );
       
        void                DrawTechUser( UINT nTech, CDC * pDC, CRect rect, BOOL bDrawTitle );

        // Some Usefull Functions
        void                DrawTechUtil( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData, CSPDWordArray & adwDays );
        void                DrawTechUtil1( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData, COLORREF clrLine, int nDrawTechType );
        void                DrawTechUtil2( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData,
                                                           COLORREF clrLine1, COLORREF clrLine2,
                                                           CString strTitle1, CString strTitle2 );
        void                DrawTechUtil3( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData,
                                                           COLORREF clrLine1, COLORREF clrLine2, COLORREF clrLine3,
                                                           CString strTitle1, CString strTitle2, CString strTitle3 );
        void                DrawTechUtil4( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData,
                                                           COLORREF clrLine1, COLORREF clrLine2, COLORREF clrLine3, COLORREF clrLine4,
                                                           CString strTitle1, CString strTitle2, CString strTitle3, CString strTitle4 );
        void                DrawTechUtil5( CDC * pDC, CRect rect, BOOL bDrawTitle, double dMin, double dMax,
                                                           int nTech, CTechnique * pTech, CKData * pKData,
                                                           COLORREF clrLine1, COLORREF clrLine2, COLORREF clrLine3, COLORREF clrLine4, COLORREF clrLine5,
                                                           CString strTitle1, CString strTitle2, CString strTitle3, CString strTitle4, CString strTitle5 );

protected:
        // 图边缘及标题大小
        int                m_nMarginTop;                        // 上边边缘大小
        int                m_nMarginBottom;                // 底边边缘大小
        int                m_nHeightSubtitle;                // 子标题高度
        int                m_nWidthSubtitle;                // 子标题宽度
        int                m_nWidthParameter;                // 右边信息栏宽度
        int                m_nDefaultThickness;        // K线柱体缺省宽度

protected:
        CWnd                *        m_pParent;        // 父窗口,技术指标视图
        CWnd                m_wndKData;                // 选中日K线数据显示的窗口

        CRect                m_rectAll;                        // 整个Rect
        CStock                m_CurStock;                        // 当前股票
        CStock                m_CurStockDown;                // 当前股票向下复权后的数据
        DWORD                m_dwLatestDate;                // 最近日期
        int                        m_nCurKLineMode;        // K线形状,see CStockGraph::klineMode
        int                        m_nCurKType;                // 当前K线类型,日线、周线、月线、5分钟线等
        int                        m_nCurKFormat;                // 当前K线模式,不复权、上复权、下复权
        int                        m_nCurMaindataType;        // 当前主数据类型,收盘价、开盘价或平均价
        int                        m_nIndexCurrent;        // 当前选中日的序号
        CUIntArray        m_anIndexCurrent;        // 当前多个选中日的序号
        int                        m_nIndexStart;                // 当前显示的最左一个日期的序号
        int                        m_nIndexEnd;                // 当前显示的最右一个日期的序号
        int                        m_nThickness;                // K线宽度
        int                        m_nReportWhat;                // 右侧显示什么?see CStockGraph::ReportWhat

        CRect                m_rectKData/*Left Top*/, m_rectKLine/* KLine */, m_rectKLineCenter,/*Real KLine, y is from m_dMinPrice to m_dMaxPrice*/
                                m_rectReport/*Right*/;
        CRectArray        m_arcTech;        // 每个指标的Rect
        CRect                m_rectCenter/*m_rectKLine+m_arcTech*/;

        // Mouse Move Selection Rect use
        CPoint                m_ptSelectBegin;
        CPoint                m_ptSelectEnd;

        CTechParameters        m_techparam;        // 指标参数
        CPtrArray        m_aptrTechUser;

        double                m_dMaxPrice;                // 当前K线的价格最高值
        double                m_dMinPrice;                // 当前K线的价格最低值

        // 拖动边框使用变量
        BOOL                m_bCursorBorder;        // 鼠标是否在Rect边界,为移动大小指针AFX_IDC_VSPLITBAR
        CPoint                m_ptLastMovingLine;        // 记录鼠标移动线位置
        int                        m_nPosSelectBorder;        // 记录当前移动的是哪一个Border

        // 隐藏该指标、修改该指标参数使用变量
        UINT                m_nSelectedTechID;
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STOCKGRAPH_H__0A8D66A9_30E0_4AAA_8E17_06B721FC0E97__INCLUDED_)
金币:
奖励:
热心:
注册时间:
2006-12-17

回复 使用道具 举报

签到天数: 1 天

发表于 2008-5-24 18:47 | 显示全部楼层
希望楼主提供编译无错的工程文件。先加精给你。
金币:
奖励:
热心:
注册时间:
2007-8-12

回复 使用道具 举报

发表于 2008-5-24 19:00 | 显示全部楼层
好东东
设计自己股软
金币:
奖励:
热心:
注册时间:
2003-5-19

回复 使用道具 举报

发表于 2008-5-24 19:00 | 显示全部楼层
楼主能不能整理一个完整的出来做成附件呀?非常感谢:) :)
金币:
奖励:
热心:
注册时间:
2007-3-15

回复 使用道具 举报

发表于 2008-5-24 19:38 | 显示全部楼层
楼主能不能整理一个完整的出来做成附件呀?非常感谢
金币:
奖励:
热心:
注册时间:
2002-12-16

回复 使用道具 举报

发表于 2008-5-24 19:58 | 显示全部楼层
谢谢楼主发这么好的东西
金币:
奖励:
热心:
注册时间:
2008-5-21

回复 使用道具 举报

发表于 2008-5-24 20:07 | 显示全部楼层
不知道怎么用啊!:*31*: :
金币:
奖励:
热心:
注册时间:
2007-4-8

回复 使用道具 举报

发表于 2008-5-24 21:48 | 显示全部楼层
不知道怎么用啊
金币:
奖励:
热心:
注册时间:
2008-4-5

回复 使用道具 举报

发表于 2008-5-24 22:03 | 显示全部楼层
vv vv vv
金币:
奖励:
热心:
注册时间:
2004-4-12

回复 使用道具 举报

发表于 2008-5-24 22:14 | 显示全部楼层
感谢楼主...
金币:
奖励:
热心:
注册时间:
2005-11-24

回复 使用道具 举报

签到天数: 1 天

发表于 2008-5-24 22:46 | 显示全部楼层
高手:*19*:
金币:
奖励:
热心:
注册时间:
2004-7-27

回复 使用道具 举报

发表于 2008-5-24 23:17 | 显示全部楼层
谢谢提供,论坛高手可以用它写自己的股软了......
金币:
奖励:
热心:
注册时间:
2003-9-7

回复 使用道具 举报

发表于 2008-5-25 00:10 | 显示全部楼层
不错,编编研究研究。。。:*22*: :*22*: :*22*:
金币:
奖励:
热心:
注册时间:
2008-1-21

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD俱乐部(1997-2019)官方域名:macd.cn   MACD网校(2006-2019)官方域名:macdwx.com
值班热线[9:00—17:30]:18292674919   24小时网站应急电话:18292674919
找回密码、投诉QQ:89918815 友情链接QQ:95008905 广告商务联系QQ:17017506 电话:18292674919
增值电信业务经营许可证: 陕ICP19026207号—2  陕ICP备20004035号

举报|意见反馈|Archiver|手机版|小黑屋|MACD俱乐部 ( 陕ICP备20004035号 )

GMT+8, 2024-6-3 00:11 , Processed in 0.083390 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表