基于金字塔平台下开发C++程序化交易策略教程

#if !defined(__ADDININTERFACE_H__)
#define __ADDININTERFACE_H__

界限STKLabelLyLee 10 库存知识广大地域,与乾隆协调的的国际市占有率详细说明遗传密码
界限STKNAMIEM LIN 32 产权证券称号广大地域

#pragma pack (推) ,1)

/* 皮拉米德中TimeT的界限是32。,到VS2005和盈余部分高版本视觉的应用 C++,工夫是64。,率直的应用会实现知识和解紊乱。
请将以下界限添加到纵列中。#define _USE_32BIT_TIME_T */

静态市知识和解
typedef struct 
{
time_t m_time;          // 成交工夫
float m_fLastClose;        // prefix 前缀
float m_fOpen;         // 今开
float m_fHigh;         // 非常好
float m_fLow;          // 极小值
float m_fNewPrice;        // 最新
漂MY-FOI;//OPEN interest
float m_fLastOI;
float m_fVolume;         // 大量的
float m_fAmount;         // 吞吐量
float m_fLastOpen;        //前开
float m_fLastHigh;        //前高
float m_fLastLow;         //前底
漂钱币价钱〔3〕 购得价1,2,3
漂MyfBuy卷〔3〕 申买量1,2,3
漂钱币价钱〔3〕 价格1,2,3
构成浮游生物的每一微生物大量的〔3〕 推销钱1,2,3
float m_fBuyPrice4;        // 购得价4
float m_fBuyVolume4;        // 申买量4
float m_fSellPrice4;        // 价格4
float m_fSellVolume4;        // 推销钱4
float m_fBuyPrice5;        // 购得价5
float m_fBuyVolume5;        // 申买量5
float m_fSellPrice5;        // 价格5
float m_fSellVolume5;        // 推销钱5
float m_fVolumeNow;        //现手
浮子MyfouvoL;/外盘大量的
漂磁盘大量的
Char MysZNeN[[ 32 ] ] 产权证券称号,在‘0’完毕时
查尔梅泽纳佩[ 16 ]
Char MysZLab[[ 10 ] ] 产权证券详细说明遗传密码,在‘0’完毕时
float   调和每日5/5天;// 5日调和
float m_fNext5DayVol;        //紧邻的5日均量
time_t m_timeHardenSpeed;       //涨速前比得上工夫
float m_fHardenSpeed;        //涨速用变量,记载价钱前5分钟
WORD m_wMarket;         //优生交配所属市譬如上海”HS”,深圳经济特区
}REPORT_STRUCT;

日线知识
typedef struct
{
日期;
漂MyFOPEN;//OPEN
漂MyFH.;/ /非常好
浮点十进制MyFiel流;//最低限度
漂/堵塞/堵塞
漂MY-FOI;//OPEN interest
float m_fVolume;   //量
float m_fAmount;   //额
WORD m_wAdvance;   //涨数,独自的大盘子才是无效的
WORD m_wDecline;   //跌数,独自的大盘子才是无效的
Word MyWQT;/事务笔号
漂容积
漂量
}HISTORY_STRUCTEx;

裂缝事务知识和解
typedef struct{
time_t m_time;    // UCT
float m_fNewPrice;
漂MY-FOI;//OPEN interest
float m_fVolume;
float m_fAmount;
unsigned m_bOrder : 1;/ /市关系 1购得 0推销
}SUBSECTION_REPORT;

功率去除数据
typedef struct
{
DATE m_timeDate;   // UCT
double m_fGive;   // 每10股
double m_fPei;    // 每10股
float   m_fGiveStock;  // 实践库存付托
float   m_fPeiStock;  // 实践配股
float m_fPeiPrice;  // 配股价,仅当 m_fPei!= 工夫无效
float m_fProfit;   // 每10股息
float m_fZhiJieStock;  // 率直的上市(万股)
}POWER_STRUCTEx;

typedef struct  {
WORD m_nMarket;
Char MysZLLab[10 ]
}BLOCK_STRUCT;

////////////////////////////////////////////////////
//辨析运行
////////////////////////////////////////////////////
enum CYC_DATA_TYPE
{
MIN1_DATA=0,1分钟线
MIN5_DATA,5分钟线
MIN15_DATA,15分钟线
MIN30_DATA,30分钟线
MIN60_DATA,60分钟线
DAY_DATA,     //日线
WEEK_DATA,     //显示轮廓的
MONTH_DATA,     //月线
YEAR_DATA,年际线
MULTIDAY_DATA,多日线
TICK_DATA,分业经营
MULTIHOUR_DATA,多小时线路
MULTISEC_DATA,二线
MULTIMIN_DATA,多分线
QUARTER_DATA,一刻钟线
SEMIYEAR_DATA,    //半年线
SOLARTERM_DATA,    //节线
MIN3_DATA,3分钟线
MIN10_DATA,10分钟线
多克知识/多笔
};

typedef struct
{
//////////////////////////////////////////////////////////////////////////
叫来知识数据
DWORD   m_dwVersion;   //叫来软件版本(V2.10 : 0x210)
DWORD MYDWSCONDATION//叫来软件序列号
Char MysZLab[10 ];////叫来多样性详细说明遗传密码
Word MyWSalk;// /叫来多样性市,比如,上海是'HS '。
CYC_DATA_TYPE m_dataType;    //叫来知识典型
BOOL   m_bIsPow;    //假使复职
int    m_nPowType;    //复职类别 0右先驱 1后右
BOOL   m_bIsReversePrice;  //假使压价价钱
//////////////////////////////////////////////////////////////////////////
归来以下知识数据
In MnnNoDATA;/ /知识量
HISTORY_STRUCTEx *  M/PMANDATA;/主知识缓冲区
SUBSECTION_REPORT * 同整天;/ / /在同整天
In MnNUnSuDATA;//笔知识量

 REPORT_STRUCT*  m_pReport;   //静态实时行情和解
float*    m_pfFinData;  //财务知识
POWER_STRUCTEx* m_pSplitData;   //除权知识
In MyNnSultuDATA;// /次数
}PCALCINFO;

typedef struct tagRCV_REPORT_STRUCTExV3 
{
WORD m_cbSize;         // 和解规模
time_t m_time;          // 成交工夫
WORD m_wMarket;         // 产权证券市典型
char m_szLabel[STKLABEL_LEN];     // 产权证券详细说明遗传密码,在‘0’完毕时
char m_szName[STKNAME_LEN];      // 产权证券称号,在‘0’完毕时
float m_fLastClose;        // prefix 前缀
float m_fOpen;         // 今开
float m_fHigh;         // 非常好
float m_fLow;          // 极小值
float m_fNewPrice;        // 最新
float m_fVolume;         // 大量的
float m_fAmount;         // 吞吐量
漂钱币价钱〔3〕 购得价1,2,3
漂MyfBuy卷〔3〕 申买量1,2,3
漂钱币价钱〔3〕 价格1,2,3
构成浮游生物的每一微生物大量的〔3〕 推销钱1,2,3
float m_fBuyPrice4;        // 购得价4
float m_fBuyVolume4;        // 申买量4
float m_fSellPrice4;        // 价格4
float m_fSellVolume4;        // 推销钱4
float m_fBuyPrice5;        // 购得价5
float m_fBuyVolume5;        // 申买量5
float m_fSellPrice5;        // 价格5
float m_fSellVolume5;        // 推销钱5
} RCV_REPORT_STRUCTExV3;

typedef struct  {
BLOCK_STRUCT m_stStock;   单一优生交配和约
BYTE   m_nBuySell;  //0 购得关系 1推销关系
WORD      m_nVol;   //下单总额
}TAOLI_INFO;

事务归来音讯和解 cxh99.com
typedef struct  {
long M.NordRID;/ /定货单ID
CString //情状(如CPP纵列中所提出异议的)
long MynFuffor;//事务数
long 盈余量
float 价钱,/ / / /市价钱
CString m_strCode;  //优生交配
CString m_strMarket; //市
BYTE M.N-KaiPIp;/ /吐艳用石板铺 0开 1平
BYTE MYN-Type;/ /定货单典型 0最低价格 1市价钱 2终止亏耗 3最低价格止损
BYTE 门脸;/推销关系 0购得 1推销术
CString 事情往还账
BYTE MynAcLogyType;//Cype典型 0IB 1CTP 2金世大
}BARGAIN_NOTIFY_KSI;

//////////////////////////////////////////////////////////////////////////
//音讯包和解 www.cxh99.com
//////////////////////////////////////////////////////////////////////////
typedef struct  {
RCV_REPORT_STRUCTExV3 * m_pData;
int m_nDataCount;
}REPORT_UPDATE1;

typedef struct  {
RCV_REPORT_STRUCTExQH * m_pData;
int m_nDataCount;
}REPORT_UPDATE2;

#pragma pack (POP)

主顺序与可插件的管嘴
interface IMainFramework 
{
public:
IMainFramework(){};
virtual ~IMainFramework(){};
主窗口句柄
virtual HWND   GetMainWindow() = 0;

获取主顺序版本号
virtual DWORD GetVersion() = 0;

选择详细说明的优生交配知识,成的知识归来到真,要不,它是假的
virtual BOOL  GetDataInfo(PCALCINFO * pInfo) = 0;

静态和即时讲详细说明优生交配
virtual REPORT_STRUCT * GetReportData(char * szLabel, WORD wMarket) = 0;

详细说明花色品种板的优生交配数组
SZNEY是花色品种或板名,如上海A股等,NMode是范围,0市集合,1花色品种板,2零碎板(优生交配棒对应)
virtual void GetReportData(CArray &arBlcok, char * szName, int nMode) = 0;

知识当心到的完全符合优生交配,比如RegReportNotify(“CL05”,MN;知识当心到的和约登记簿,当CL05具有最新知识时,它跳跃RePtReNOTE事变。。
virtual BOOL RegReportNotify(char * szLabel, WORD wMarket) = 0;

去掉优生交配知识登记簿,比如UnRegReportNotify(“CL05”,MN,CL05知识抵达时将不被当心到。
virtual void UnRegReportNotify(char * szLabel, WORD wMarket) = 0;

付托市
// n型单型 0最低价格 1市价钱 2终止亏耗 3最低价格止损
// FLMTP价钱付托价钱限度局限
virtual long PlaceOrder(BYTE n型, float fLmtPrice, float fStopLmtPrice, UINT nVol, BYTE nAspact, LPCSTR lpszLabel, WORD wMarket,
BOOL bMustOK, LPCSTR lpszAccount, BYTE nKaiPing, BYTE nTouBao, BYTE bOrderQueue) = 0; 

 //撤单 cxh99.com
virtual void OrderCancel(long nOrderID, BYTE bOrderQueue) = 0;

完全符合Windows窗口音讯,连续投机会当心到各式各样的事变
virtual void RegisterMsg(HWND hMsgWnd, DWORD dwMsg) = 0;

获取套利和约的数据
回归真实以表现成 ,在套利例子中界限套利优生交配的数据
virtual BOOL GetTaoliInfo(char * szTaoliLabel, CArray &m_arTaoliInfo) = 0;

收购IB优生交配的总额
virtual int GetHolding() = 0;

获取国际前途的总额
virtual int GetHolding2(char * sz账) = 0;

拥有IB账未核实和约总额
virtual int GetOrderNum() = 0;

获取眼前国际拥有做的非贸易和约的总额
virtual int GetOrderNum2() = 0;

获取IB账做成某事详细数据数
virtual int GetTradeCount() = 0;
国际详细说明账前途账结汇钱
virtual int GetTradeCount2(CString 账) = 0;

流畅IB顾及账的子账号曾经登陆,假使登录为IB普通账,此属性为1
virtual int GetIBACCount() = 0;

眼前,国际前途账的总额已尽成画饼(包含
virtual int GetCTPAcCount() = 0; 

获取流畅默许账数据
virtual VARIANT GetAccount(short n型) = 0;

获取详细说明的国际前途账数据
virtual VARIANT GetAccount2(short n型, char * sz账) = 0;

为详细说明介绍人保护IB和约数据
Index        输入限制因素,依据0个介绍人详细说明仓库栈和拟定草案,见拟定草案总钱 Holding 属性。
Hold         输入限制因素,仓库栈店主,假使空仓归来正数
MktPrice     输入限制因素,仓库栈的市价钱
AvgPrice     输入限制因素,产权证券平均价格
MktValue     输入限制因素,考虑优生交配的市代价
AgeCost      输入限制因素,考虑优生交配的本钱
PNL          输入限制因素,考虑优生交配的漂利害
Code         输入限制因素,仓库栈优生交配编码
Market       输入限制因素,该持仓优生交配市
归来值:      成归来1,未能回复到0 */
virtual BOOL HoldingInfo(UINT Index, int &Hold, double &MktPrice, double &AvgPrice, double &MktValue, double &AgeCost, double &PNL, CString &Code,  WORD 市) = 0; 
详细说明介绍人的详细说明CTP账的和约数据
Index        输入限制因素,依据0个介绍人详细说明仓库栈和拟定草案,见拟定草案总钱 Holding2 属性。
BuyHoding    输入限制因素,仓库栈当首领买仓库栈
BuyCost      输入限制因素,仓库栈考虑本钱
BuyTodayHoding     输入限制因素,仓库栈总大量的
SellHoding     输入限制因素,考虑优生交配推销术总考虑量
SellCost      输入限制因素,考虑优生交配推销考虑本钱
SellTodayHoding 输入限制因素,眼前的仓库栈推销
PNL          输入限制因素,考虑优生交配的漂利害
UseMargin    输入限制因素,考虑优生交配的保释金占有率
Code         输入限制因素,仓库栈优生交配编码
Market       输入限制因素,该持仓优生交配市
Account      输入限制因素,可未履行,登陆CTP导致称号,假使不填写,则为流畅默许账。
归来值:      成归来1,未能回复到0 */
virtual BOOL HoldingInfo2(UINT Index, int &BuyHoding, double &BuyCost, int &BuyTodayHoding, int &SellHoding, double &SellCost, int &SellTodayHoding, double &PNL, double &UseMargin, CString &Code, WORD &Market, CString 账) = 0;

 /*
因为0例子的未核实IB和约数据
Index        输入限制因素,依据0个介绍人详细说明仓库栈和拟定草案,见拟定草案总钱 OrderNum 属性。
OrderID   输入限制因素, 未核实定货单ID
ConSign      输入限制因素,付托人数
Filled       输入限制因素,市总额
Remaining    输入限制因素,未核实总额
Action       输入限制因素,举措典型 0购得 1推销术
OrderType    输入限制因素,定货单典型 0最低价格 1市价钱 2终止亏耗 3市价钱止损
LmtPrice     输入限制因素,当OrthType总额0时,它是第一价钱限度局限。,3的止损限额
auxPrice     输入限制因素,停损价钱
Account      输入限制因素,账数据
Code         输入限制因素,仓库栈优生交配编码
Market       输入限制因素,该持仓优生交配市
归来值:      成归来1,未能回复到0
*/
virtual BOOL OrderInfo(UINT Index, int &OrderID, int &ConSign, int &Filled, int &Remaining, int &Action, int &OrderType, double &LmtPrice, double &auxPrice, CString &Account, CString &Code, WORD 市) = 0;
以0个按生活指数调整为根底使完美未核实的CTP和约数据
Index        输入限制因素,依据0个介绍人详细说明仓库栈和拟定草案,见拟定草案总钱 OrderNum2 属性。
OrderID      输入限制因素, 未核实定货单ID
ConSign      输入限制因素,付托人数
Filled       输入限制因素,市总额
Remaining    输入限制因素,未核实总额
Action       输入限制因素,举措典型 0购得 1推销术
OrderType    输入限制因素,定货单典型 0最低价格 1市价钱 2终止亏耗 3市价钱止损
LmtPrice     输入限制因素,当OrthType总额0时,它是第一价钱限度局限。,3的止损限额
Account      输入限制因素,账数据
Kaiping      输入限制因素,平开式 0开 1平
Code         输入限制因素,仓库栈优生交配编码
Market       输入限制因素,该持仓优生交配市
归来值:      成归来1,未能回复到0 */ 
virtual BOOL OrderInfo2(UINT Index, int &OrderID, int &ConSign, int &Filled, int &Remaining, int &Action, int &OrderType, double &LmtPrice, CString &Account, int &Kaiping, CString &Code, WORD 市) = 0;
收购详细说明优生交配的和约典型 www.cxh99.com
Code         输入限制因素,详细说明优生交配编码
Market       输入限制因素,详细说明优生交配市
归来值:可市国际前途交谈优生交配收益率为1,IB管嘴归来0
virtual int StockType(char * szCode, WORD wMarket)  = 0;

向详细说明优生交配习俗的数据
Code         输入限制因素,详细说明优生交配编码
Market       输入限制因素,详细说明优生交配市
Multipliter  输入限制因素,优生交配乘数/单位
MinTick      输入限制因素,兑换最小的单位
ShortPercent 输入限制因素,交易开始时间退路
LongPercent  输入限制因素,该优生交配的多头矿床
归来值:成归来1或归来0
*/
virtual int GetContract(char *szCode, WORD wMarket, float &Multipliter, float &MinTick, float &ShortPercent, float &LongPercent) = 0;
计算详细说明优生交配的市本钱。用户需求为不一样的T设置不一样的事务速率。,用这种方法可以接球恰当地的树或花草结果。。
Code         详细说明优生交配编码
Market       详细说明优生交配市
lmtPrice     规则价钱限度局限
Volume       付托总额
Type         成交关系 0购得 1推销术
归来值:      归来计算本钱
virtual float GetChargeByNum(char * szCode, WORD wMarket, float lmtPrice, int Volume, int 典型) = 0;
以因为0介绍人SeriA详细说明的IB账事务详细资料为例
Index        输入限制因素,因为0个介绍人的事务详细资料
Date         输入限制因素,成交工夫
Code         输入限制因素,优生交配编码
Market       输入限制因素,优生交配市
OrderType    输入限制因素,成交单典型,0最低价格 1市价钱 2终止亏耗 3最低价格止损
Action       输入限制因素,成交关系 0购得 1推销术
Price        输入限制因素,成交价钱
Volume       输入限制因素,大量的
Account      输入限制因素,成交账
归来值:      成归来1,未能回复到0*/
virtual int TradeDetalied(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, CString &账) = 0;
以因为0介绍人Seri详细说明的CTP账事务详细资料为例
Index        输入限制因素,因为0个介绍人的事务详细资料
Date         输入限制因素,成交工夫
Code         输入限制因素,优生交配编码
Market       输入限制因素,优生交配市
OrderType    输入限制因素,成交单典型,0最低价格 1市价钱 2终止亏耗 3最低价格止损
Action       输入限制因素,成交关系 0购得 1推销术
Price        输入限制因素,成交价钱
Volume       输入限制因素,大量的
Kaiping      输入限制因素,平开式,0开 1平
Account      输入限制因素,成交账,可省略,假使漏掉是流畅默许致活账的教导
归来值:      成归来1,未能回复到0*/
virtual int TradeDetalied2(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, int &Kaiping, CString &账) = 0;
获取因为0介绍人详细说明的IB账的称号,比如,IbActNeNT(0)表现要登陆的第第一IB账。
virtual CString GetIBAccountName(int nIndex) = 0;
获取在0介绍人(包含UNS)上详细说明的CTP账的称号。,比如 CTPARCONTENT(0)表现要登录的CTP的第第一用户名。
virtual CString GetCTPAccountName(int nIndex) = 0;
决定详细说明的账假使为流畅已记载的无效ACCU。,比如 (“351579”),假使账已登录,归来1,要不,归来0
virtual int IsAccount(CString str账) = 0;
};

#endif

期末考试,请当心,皮拉米德C 可插件扩大 *.ADI 纵列名,实际上,DLL顺序将其扩大反倒连续投机率直的任务。,该设计首要是为了与现存的的DLL模块抵触。,连续投机任务含量垮台后,重新开始皮拉米德软件,它将在 器菜肴-扩大 我看到了C 的可插件研制了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注