大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>>正文內(nèi)容

基于金字塔平臺(tái)下開(kāi)發(fā)C++程序化交易策略教程[金字塔等]

  •     我們很多專(zhuān)業(yè)投資者及一些投資機(jī)構(gòu)都喜歡使用C++直接編寫(xiě)交易策略,C++語(yǔ)言無(wú)論是靈活性和安全性都是要比傳統(tǒng)的一般意義上的腳本語(yǔ)言要強(qiáng)大許多,這也是大家所普遍采用的一個(gè)主要理由。但是直接使用C++開(kāi)發(fā)需要3個(gè)主要組件,主要包括:

    1、歷史行情數(shù)據(jù)的管理和接收

    2、交易策略的評(píng)估與實(shí)現(xiàn)

    3、下單交易具體實(shí)施

    實(shí)際上上述3點(diǎn)其實(shí)已經(jīng)包含了一個(gè)程序化交易軟件所具有的主要特點(diǎn)了,如果是全部都要重新開(kāi)發(fā)一套這樣的產(chǎn)品,我們的投資公司最后都要變成名副其實(shí)軟件公司了,將耗費(fèi)很大的精力與財(cái)力來(lái)組織和管理整個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)。

    如果使用金字塔平臺(tái)進(jìn)行C++的策略編寫(xiě),那么上述的多個(gè)難點(diǎn)就可以很好的得到解決,主要如下:

    1、金字塔為C++接口提供了豐富完善的歷史數(shù)據(jù),包括盤(pán)中即時(shí)數(shù)據(jù),1分,5分,15,30,日線(xiàn)等等多大十幾種周期數(shù)據(jù),這些數(shù)據(jù)都是金字塔軟件統(tǒng)一管理,模型的開(kāi)發(fā)者不必再來(lái)操心歷史數(shù)據(jù)如何管理。

    2、我們的交易策略在前期模型階段可以利用金字塔平臺(tái)PEL語(yǔ)言快速的進(jìn)行評(píng)估,評(píng)估結(jié)束后,再集中精力來(lái)變成C++的具體交易算法,節(jié)省了大量的時(shí)間。

    3、可以利用金字塔平臺(tái)進(jìn)行全球市場(chǎng)交易;雖然現(xiàn)在CTP平臺(tái)開(kāi)放了交易接口,但畢竟是只有這一個(gè)接口,如果交易者要對(duì)其他的交易接口例如金仕達(dá)、恒生接口等等時(shí),都必須要去重新開(kāi)發(fā)接口,同樣是要花費(fèi)很大的精力。但如果使用金字塔平臺(tái),開(kāi)發(fā)者就不必再去關(guān)心不同的交易接口到底有哪些不同,我們都已經(jīng)為客戶(hù)封裝好了統(tǒng)一的交易接口規(guī)范,你只要交易策略編寫(xiě)完畢后,就可以在金字塔所支持的國(guó)內(nèi)期貨公司,證券公司,外盤(pán)期貨外匯等等平臺(tái)上進(jìn)行交易。

    綜上所述,實(shí)際上很多底層的服務(wù)模塊金字塔都已經(jīng)為客戶(hù)開(kāi)發(fā)好了,客戶(hù)在金字塔上只需要關(guān)心如何用C++編寫(xiě)策略就可以,極大的加快了投資者的開(kāi)發(fā)周期,并節(jié)省了大量的研發(fā)費(fèi)用。

     

    如何在金字塔上進(jìn)行C++策略的開(kāi)發(fā)呢

     

    有關(guān)插件接口更詳細(xì)的描述,在金字塔的安裝目錄AddinDemo.rar 壓縮文件內(nèi)包含了完整插件接口的接口示例以及在.H頭文件里的接口使用信息描述。

    客戶(hù)也可以點(diǎn)擊 http://www.weistock.com/download/addindemo.rar 下載到本地進(jìn)行學(xué)習(xí)。

     

    最后說(shuō)明一點(diǎn),金字塔的進(jìn)程是不允許被調(diào)試加載的,這對(duì)C++開(kāi)發(fā)者來(lái)說(shuō)增加調(diào)試難度,但是可以通過(guò)附加進(jìn)程調(diào)試的方法來(lái)解決問(wèn)題,比如VS2008等都有很好的這種支持,詳情請(qǐng)GOOGLE搜索。(http://www.weiqiv.net.cn

     

    其中主要的部分都在.H頭文件中,我們這里貼出來(lái)給大家

     

    [此貼子已經(jīng)被作者于2012-5-13 9:28:36編輯過(guò)]

     

  • #if !defined(__ADDININTERFACE_H__)
    #define __ADDININTERFACE_H__

    #define  STKLABEL_LEN   10   // 股號(hào)數(shù)據(jù)長(zhǎng)度,國(guó)內(nèi)市場(chǎng)股號(hào)編碼兼容錢(qián)龍
    #define  STKNAME_LEN    32   // 股名長(zhǎng)度

    #pragma pack (push ,1)

    /* time_t在金字塔的定義是32位,對(duì)于使用VS2005等高版本Visual C++,time_t是64位,直接使用將導(dǎo)致數(shù)據(jù)結(jié)構(gòu)紊亂
       請(qǐng)?jiān)趕tdafx.h文件里加上如下這個(gè)定義即可。#define _USE_32BIT_TIME_T */

    //動(dòng)態(tài)行情數(shù)據(jù)結(jié)構(gòu)
    typedef struct 
    {
     time_t m_time;          // 成交時(shí)間
     
     float m_fLastClose;        // 昨收
     float m_fOpen;         // 今開(kāi)
     float m_fHigh;         // 最高
     float m_fLow;          // 最低
     float m_fNewPrice;        // 最新
     float m_fOI;          //open interest
     float m_fLastOI;
     float m_fVolume;         // 成交量
     float m_fAmount;         // 成交額
     
     float m_fLastOpen;        //前開(kāi)
     float m_fLastHigh;        //前高
     float m_fLastLow;         //前底
     
     float m_fBuyPrice[3];        // 申買(mǎi)價(jià)1,2,3
     float m_fBuyVolume[3];       // 申買(mǎi)量1,2,3
     float m_fSellPrice[3];       // 申賣(mài)價(jià)1,2,3
     float m_fSellVolume[3];       // 申賣(mài)量1,2,3
     
     float m_fBuyPrice4;        // 申買(mǎi)價(jià)4
     float m_fBuyVolume4;        // 申買(mǎi)量4
     float m_fSellPrice4;        // 申賣(mài)價(jià)4
     float m_fSellVolume4;        // 申賣(mài)量4
     
     float m_fBuyPrice5;        // 申買(mǎi)價(jià)5
     float m_fBuyVolume5;        // 申買(mǎi)量5
     float m_fSellPrice5;        // 申賣(mài)價(jià)5
     float m_fSellVolume5;        // 申賣(mài)量5
     
     float m_fVolumeNow;        //現(xiàn)手
     float m_fBuyVol;         //外盤(pán)量
     float m_fSellVol;         //內(nèi)盤(pán)量
     char m_szName[32];        // 股票名稱(chēng),以'\0'結(jié)尾
     char m_szNamePY[16];
     char m_szLabel[10];        // 股票代碼,以'\0'結(jié)尾
     float   m_f5DayAverage;        //5日均量
     float m_fNext5DayVol;        //下一個(gè)5日均量
     time_t m_timeHardenSpeed;       //漲速前比較時(shí)間
     float m_fHardenSpeed;        //漲速用變量,記錄前5分鐘價(jià)格
     WORD m_wMarket;         //品種所屬市場(chǎng)比如上海'HS',深圳'ZS'
    }REPORT_STRUCT;

    //日線(xiàn)數(shù)據(jù)
    typedef struct
    {
     DATE m_timeDate;    //UCT
     float m_fOpen;   //開(kāi)盤(pán)
     float m_fHigh;   //最高
     float m_fLow;    //最低
     float m_fClose;   //收盤(pán)
     float m_fOI;    //open interest
     float m_fVolume;   //量
     float m_fAmount;   //額
     WORD m_wAdvance;   //漲數(shù),僅大盤(pán)有效
     WORD m_wDecline;   //跌數(shù),僅大盤(pán)有效
     WORD m_wQT;    //成交筆數(shù)
     float m_fOpenVolume;  //開(kāi)盤(pán)量
     float m_fOpenAmount;  //開(kāi)盤(pán)額 
    }HISTORY_STRUCTEx;

    //分筆成交數(shù)據(jù)結(jié)構(gòu)
    typedef struct{
     time_t m_time;    // UCT
     float m_fNewPrice;
     float m_fOI;    //open interest
     float m_fVolume;
     float m_fAmount;
     unsigned m_bOrder : 1;  //成交方向 1買(mǎi)盤(pán) 0賣(mài)盤(pán)
    }SUBSECTION_REPORT;

    //除權(quán)信息
    typedef struct
    {
     DATE m_timeDate;   // UCT
     double m_fGive;   // 每10股送
     double m_fPei;    // 每10股配
     float   m_fGiveStock;  // 實(shí)際送股
     float   m_fPeiStock;  // 實(shí)際配股
     float m_fPeiPrice;  // 配股價(jià),僅當(dāng) m_fPei!=0.0f 時(shí)有效
     float m_fProfit;   // 每10股紅利
     float m_fZhiJieStock;  // 直接上市(萬(wàn)股)
    }POWER_STRUCTEx;

    typedef struct  {
     WORD m_nMarket;
     char m_szLable[10];
    }BLOCK_STRUCT;

    ////////////////////////////////////////////////////
    //分析周期
    ////////////////////////////////////////////////////
    enum CYC_DATA_TYPE
    {
     MIN1_DATA=0,    //1分鐘線(xiàn)
      MIN5_DATA,     //5分鐘線(xiàn)     
      MIN15_DATA,     //15分鐘線(xiàn)
      MIN30_DATA,     //30分鐘線(xiàn)
      MIN60_DATA,     //60分鐘線(xiàn)
      DAY_DATA,     //日線(xiàn)
      WEEK_DATA,     //周線(xiàn)
      MONTH_DATA,     //月線(xiàn)
      YEAR_DATA,     //年線(xiàn)
      MULTIDAY_DATA,    //多日線(xiàn)
      TICK_DATA,     //分筆成交
      MULTIHOUR_DATA,    //多小時(shí)線(xiàn)
      MULTISEC_DATA,    //多秒線(xiàn)
      MULTIMIN_DATA,    //多分鐘線(xiàn)
      QUARTER_DATA,    //季度線(xiàn)
      SEMIYEAR_DATA,    //半年線(xiàn)
      SOLARTERM_DATA,    //節(jié)氣線(xiàn)
      MIN3_DATA,     //3分鐘線(xiàn)
      MIN10_DATA,     //10分鐘線(xiàn)
      MULTITICK_DATA    //多筆
    };

    typedef struct
    {
     //////////////////////////////////////////////////////////////////////////
     //調(diào)用數(shù)據(jù)信息
     DWORD   m_dwVersion;   //調(diào)用軟件版本(V2.10 : 0x210)
     DWORD   m_dwSerial;    //調(diào)用軟件序列號(hào)
     char   m_szLabel[10];   //調(diào)用的品種代碼
     WORD   m_wMarket;    //調(diào)用的品種市場(chǎng),比如上海為'HS'
     CYC_DATA_TYPE m_dataType;    //調(diào)用數(shù)據(jù)類(lèi)型
     BOOL   m_bIsPow;    //是否復(fù)權(quán)
     int    m_nPowType;    //復(fù)權(quán)類(lèi)別 0向前復(fù)權(quán) 1向后復(fù)權(quán)
     BOOL   m_bIsReversePrice;  //是否反轉(zhuǎn)價(jià)格
     
     //////////////////////////////////////////////////////////////////////////
     //以下為返回的數(shù)據(jù)信息 
     int     m_nNumData;   //數(shù)據(jù)數(shù)量
     HISTORY_STRUCTEx *  m_pMainData;  //主數(shù)據(jù)緩沖區(qū)
     
     SUBSECTION_REPORT * m_pSubsection;  //當(dāng)日分筆成交明細(xì)
     int     m_nNumSubData;  //分筆數(shù)據(jù)量

     REPORT_STRUCT*  m_pReport;   //動(dòng)態(tài)實(shí)時(shí)行情結(jié)構(gòu)
     float*    m_pfFinData;  //財(cái)務(wù)數(shù)據(jù)
     
     POWER_STRUCTEx* m_pSplitData;   //除權(quán)數(shù)據(jù)
     int    m_nNumSplitData;  //除權(quán)次數(shù)
    }PCALCINFO;

    typedef struct tagRCV_REPORT_STRUCTExV3 
    {
     WORD m_cbSize;         // 結(jié)構(gòu)大小
     time_t m_time;          // 成交時(shí)間
     WORD m_wMarket;         // 股票市場(chǎng)類(lèi)型
     char m_szLabel[STKLABEL_LEN];     // 股票代碼,以'\0'結(jié)尾
     char m_szName[STKNAME_LEN];      // 股票名稱(chēng),以'\0'結(jié)尾
     
     float m_fLastClose;        // 昨收
     float m_fOpen;         // 今開(kāi)
     float m_fHigh;         // 最高
     float m_fLow;          // 最低
     float m_fNewPrice;        // 最新
     float m_fVolume;         // 成交量
     float m_fAmount;         // 成交額
     
     float m_fBuyPrice[3];        // 申買(mǎi)價(jià)1,2,3
     float m_fBuyVolume[3];       // 申買(mǎi)量1,2,3
     float m_fSellPrice[3];       // 申賣(mài)價(jià)1,2,3
     float m_fSellVolume[3];       // 申賣(mài)量1,2,3
     
     float m_fBuyPrice4;        // 申買(mǎi)價(jià)4
     float m_fBuyVolume4;        // 申買(mǎi)量4
     float m_fSellPrice4;        // 申賣(mài)價(jià)4
     float m_fSellVolume4;        // 申賣(mài)量4
     
     float m_fBuyPrice5;        // 申買(mǎi)價(jià)5
     float m_fBuyVolume5;        // 申買(mǎi)量5
     float m_fSellPrice5;        // 申賣(mài)價(jià)5
     float m_fSellVolume5;        // 申賣(mài)量5
    } RCV_REPORT_STRUCTExV3;

     

  • typedef struct  {
     BLOCK_STRUCT m_stStock;   //單品種合約
     BYTE   m_nBuySell;  //0 買(mǎi)入方向 1賣(mài)出方向
     WORD      m_nVol;   //下單數(shù)量
    }TAOLI_INFO;

    //成交回報(bào)消息結(jié)構(gòu) cxh99.com
    typedef struct  {
     long m_nOrderID;  //訂單ID
     CString m_strStatus; //狀態(tài)(詳見(jiàn).CPP文件描述)
     long m_nFilled;   //已成交數(shù)量
     long m_nRemaining;  //剩余數(shù)量
     float m_fPrice;   //成交價(jià)格
     CString m_strCode;  //品種
     CString m_strMarket; //市場(chǎng)
     BYTE m_nKaiping;  //開(kāi)平倉(cāng) 0開(kāi)倉(cāng) 1平倉(cāng)
     BYTE m_nType;   //訂單類(lèi)型 0限價(jià) 1市價(jià) 2停損 3限價(jià)停損
     BYTE m_nAspect;   //買(mǎi)賣(mài)方向 0買(mǎi)入 1賣(mài)出
     CString m_strAccount; //操作賬戶(hù)
     BYTE m_nAccountType; //賬戶(hù)類(lèi)型 0IB 1CTP 2金仕達(dá)
    }BARGAIN_NOTIFY_KSI;

    //////////////////////////////////////////////////////////////////////////
    //消息包結(jié)構(gòu) www.weiqiv.net.cn
    //////////////////////////////////////////////////////////////////////////
    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;

     //取主程序版本號(hào)
     virtual DWORD GetVersion() = 0;

     //取指定品種數(shù)據(jù),成功取得數(shù)據(jù)返回TRUE,否則為FALSE
     virtual BOOL  GetDataInfo(PCALCINFO * pInfo) = 0;

     //取指定品種的動(dòng)態(tài)及時(shí)報(bào)表
     virtual REPORT_STRUCT * GetReportData(char * szLabel, WORD wMarket) = 0;

     //取指定分類(lèi)板塊的品種數(shù)組
     //szName為分類(lèi)或者板塊名稱(chēng),如"上海A股"等,nMode為類(lèi)別,0市場(chǎng)分組,1分類(lèi)板塊,2系統(tǒng)板塊(品種欄對(duì)應(yīng))
     virtual void GetReportData(CArray<BLOCK_STRUCT, BLOCK_STRUCT&> &arBlcok, char * szName, int nMode) = 0;

     //注冊(cè)品種到數(shù)據(jù)通知,例如RegReportNotify("CL05",'MN');將合約注冊(cè)到數(shù)據(jù)通知,當(dāng)CL05有最新數(shù)據(jù)到達(dá)時(shí)觸發(fā)ReportNotify事件。
     virtual BOOL RegReportNotify(char * szLabel, WORD wMarket) = 0;

     //取消品種數(shù)據(jù)注冊(cè),例如UnRegReportNotify("CL05",'MN'),CL05數(shù)據(jù)到達(dá)時(shí)不會(huì)再收到通知。
     virtual void UnRegReportNotify(char * szLabel, WORD wMarket) = 0;

     //下單委托交易
     // nType  下單類(lèi)型 0限價(jià) 1市價(jià) 2停損 3限價(jià)停損
     // fLmtPrice 委托限價(jià)
     virtual long PlaceOrder(BYTE nType, 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;

     //注冊(cè)WINDOWS窗口消息,金字塔將以事件方式通知各種
     virtual void RegisterMsg(HWND hMsgWnd, DWORD dwMsg) = 0;

     //得到套利合約信息
     //返回TRUE表示成功 ,返回套利指數(shù)內(nèi)定義的套利品種信息
     virtual BOOL GetTaoliInfo(char * szTaoliLabel, CArray<TAOLI_INFO,TAOLI_INFO&> &m_arTaoliInfo) = 0;

     //得到IB品種持倉(cāng)數(shù)量
     virtual int GetHolding() = 0;

     //得到國(guó)內(nèi)期貨的持倉(cāng)數(shù)量
     virtual int GetHolding2(char * szAccount) = 0;

     //到所有IB帳戶(hù)當(dāng)前有效的未成交合約品種數(shù)量 
     virtual int GetOrderNum() = 0;

     //得到所有國(guó)內(nèi)期貨當(dāng)前有效的未成交合約品種數(shù)量 
     virtual int GetOrderNum2() = 0;

     //得到IB帳戶(hù)的成交明細(xì)數(shù)量 
     virtual int GetTradeCount() = 0;
     
     //得到指定帳戶(hù)的國(guó)內(nèi)期貨帳戶(hù)的成交明細(xì)數(shù)量 
     virtual int GetTradeCount2(CString Account) = 0;

     //當(dāng)前已經(jīng)登陸IB顧問(wèn)帳戶(hù)子帳戶(hù)數(shù)量,若登陸的是IB普通帳戶(hù)此屬性為1 
     virtual int GetIBACCount() = 0;

     //當(dāng)前已經(jīng)登陸國(guó)內(nèi)期貨帳戶(hù)數(shù)量(包含無(wú)效登陸等情況在內(nèi)的)
     virtual int GetCTPAcCount() = 0; 

     //得到當(dāng)前默認(rèn)帳戶(hù)信息 
     virtual VARIANT GetAccount(short nType) = 0;

     //得到指定的國(guó)內(nèi)期貨帳戶(hù)信息 
     virtual VARIANT GetAccount2(short nType, char * szAccount) = 0;

     /*取指定索引的持倉(cāng)IB合約信息
     Index        輸入?yún)?shù),指定基于0索引的持倉(cāng)和約信息,持倉(cāng)和約總量參見(jiàn) Holding 屬性。
     Hold         輸出參數(shù),該該持倉(cāng)品種持倉(cāng)量,若空倉(cāng)返回負(fù)數(shù)
     MktPrice     輸出參數(shù),該持倉(cāng)品種市價(jià)
     AvgPrice     輸出參數(shù),該持倉(cāng)品種均價(jià)
     MktValue     輸出參數(shù),該持倉(cāng)品種市值
     AgeCost      輸出參數(shù),該持倉(cāng)品種成本
     PNL          輸出參數(shù),該持倉(cāng)品種浮動(dòng)盈虧
     Code         輸出參數(shù),該持倉(cāng)品種代碼
     Market       輸出參數(shù),該持倉(cāng)品種市場(chǎng)
     返回值:      成功返回1,失敗返回0 */
     virtual BOOL HoldingInfo(UINT Index, int &Hold, double &MktPrice, double &AvgPrice, double &MktValue, double &AgeCost, double &PNL, CString &Code,  WORD &Market)  = 0; 
     
     /*取指定索引的指定CTP帳戶(hù)的合約持倉(cāng)信息 
     Index        輸入?yún)?shù),指定基于0索引的持倉(cāng)和約信息,持倉(cāng)和約總量參見(jiàn) Holding2 屬性。
     BuyHoding    輸出參數(shù),該該持倉(cāng)品種買(mǎi)入持倉(cāng)總量
     BuyCost      輸出參數(shù),該持倉(cāng)品種持倉(cāng)成本
     BuyTodayHoding     輸出參數(shù),該持倉(cāng)品種今買(mǎi)持總量
     SellHoding     輸出參數(shù),該持倉(cāng)品種賣(mài)出持倉(cāng)總量
     SellCost      輸出參數(shù),該持倉(cāng)品種賣(mài)出持倉(cāng)成本
     SellTodayHoding 輸出參數(shù),該持倉(cāng)品種的今賣(mài)出持倉(cāng)總量
     PNL          輸出參數(shù),該持倉(cāng)品種浮動(dòng)盈虧
     UseMargin    輸出參數(shù),該持倉(cāng)品種的保證金占用
     Code         輸出參數(shù),該持倉(cāng)品種代碼
     Market       輸出參數(shù),該持倉(cāng)品種市場(chǎng)
     Account      輸入?yún)?shù),可缺省,登陸CTP的帳戶(hù)名稱(chēng),若不填寫(xiě)則表示當(dāng)前默認(rèn)的帳戶(hù)
     返回值:      成功返回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 Account) = 0;

     /*
     * 取指定基于0索引的未成交IB合約信息
     Index        輸入?yún)?shù),指定基于0索引的持倉(cāng)和約信息,持倉(cāng)和約總量參見(jiàn) OrderNum 屬性。
     OrderID   輸出參數(shù), 未成交訂單ID
     ConSign      輸出參數(shù),本次委托數(shù)量
     Filled       輸出參數(shù),已成交數(shù)量
     Remaining    輸出參數(shù),未成交數(shù)量
     Action       輸出參數(shù),動(dòng)作類(lèi)型 0買(mǎi)入 1賣(mài)出
     OrderType    輸出參數(shù),訂單類(lèi)型 0限價(jià) 1市價(jià) 2停損 3市價(jià)停損
     LmtPrice     輸出參數(shù),當(dāng)OrderType等于0時(shí)為限價(jià),為3時(shí)為停損限價(jià)
     auxPrice     輸出參數(shù),停損價(jià)格
     Account      輸出參數(shù),帳戶(hù)信息
     Code         輸出參數(shù),該持倉(cāng)品種代碼
     Market       輸出參數(shù),該持倉(cāng)品種市場(chǎng)
     返回值:      成功返回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 &Market) = 0;
     
     /*取指定基于0索引的未成交CTP合約信息
     Index        輸入?yún)?shù),指定基于0索引的持倉(cāng)和約信息,持倉(cāng)和約總量參見(jiàn) OrderNum2 屬性。
     OrderID      輸出參數(shù), 未成交訂單ID
     ConSign      輸出參數(shù),本次委托數(shù)量
     Filled       輸出參數(shù),已成交數(shù)量
     Remaining    輸出參數(shù),未成交數(shù)量
     Action       輸出參數(shù),動(dòng)作類(lèi)型 0買(mǎi)入 1賣(mài)出
     OrderType    輸出參數(shù),訂單類(lèi)型 0限價(jià) 1市價(jià) 2停損 3市價(jià)停損
     LmtPrice     輸出參數(shù),當(dāng)OrderType等于0時(shí)為限價(jià),為3時(shí)為停損限價(jià)
     Account      輸出參數(shù),帳戶(hù)信息
     Kaiping      輸出參數(shù),開(kāi)平倉(cāng)類(lèi)型 0開(kāi)倉(cāng) 1平倉(cāng)
     Code         輸出參數(shù),該持倉(cāng)品種代碼
     Market       輸出參數(shù),該持倉(cāng)品種市場(chǎng)
     返回值:      成功返回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 &Market) = 0;
     
     /*獲取指定品種的合約種類(lèi) www.weiqiv.net.cn
     Code         輸入?yún)?shù),指定的品種代碼
     Market       輸入?yún)?shù),指定的品種市場(chǎng)
     返回值:是可以交易的國(guó)內(nèi)期貨接口品種返回1,IB接口返回0*/
     virtual int StockType(char * szCode, WORD wMarket)  = 0;

     /*取指定品種的和約信息
     Code         輸入?yún)?shù),指定的品種代碼
     Market       輸入?yún)?shù),指定的品種市場(chǎng)
     Multipliter  輸出參數(shù),該品種的乘數(shù)/單位
     MinTick      輸出參數(shù),該品種的最小變動(dòng)單位
     ShortPercent 輸出參數(shù),該品種的空頭保證金
     LongPercent  輸出參數(shù),該品種的多頭保證金
     返回值:成功返回1否則返回0  
     */
     virtual int GetContract(char *szCode, WORD wMarket, float &Multipliter, float &MinTick, float &ShortPercent, float &LongPercent) = 0;
     
     /*計(jì)算指定品種的本次交易手續(xù)費(fèi)用。請(qǐng)用戶(hù)在交易費(fèi)率設(shè)置上預(yù)先設(shè)置好不同品種的各種交易費(fèi)率情況,這樣才能通過(guò)此方法得到正確的結(jié)果。
     Code         指定的品種代碼
     Market       指定的品種市場(chǎng)
     lmtPrice     指定的限價(jià)
     Volume       委托數(shù)量
     Type         成交方向 0買(mǎi)入 1賣(mài)出
     返回值:      返回計(jì)算后的手續(xù)費(fèi)用*/
     virtual float GetChargeByNum(char * szCode, WORD wMarket, float lmtPrice, int Volume, int Type) = 0;
     
     /*取指定基于0索引序號(hào)的IB帳戶(hù)成交明細(xì)
     Index        輸入?yún)?shù),基于0索引的成交明細(xì)
     Date         輸出參數(shù),成交時(shí)間
     Code         輸出參數(shù),品種代碼
     Market       輸出參數(shù),品種市場(chǎng)
     OrderType    輸出參數(shù),成交單類(lèi)型,0限價(jià) 1市價(jià) 2停損 3限價(jià)停損
     Action       輸出參數(shù),成交方向 0買(mǎi)入 1賣(mài)出
     Price        輸出參數(shù),成交價(jià)格
     Volume       輸出參數(shù),成交量
     Account      輸出參數(shù),成交帳戶(hù)
     返回值:      成功返回1,失敗返回0*/
     virtual int TradeDetalied(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, CString &Account) = 0;
     
     /*取指定基于0索引序號(hào)的CTP帳戶(hù)成交明細(xì)
     Index        輸入?yún)?shù),基于0索引的成交明細(xì)
     Date         輸出參數(shù),成交時(shí)間
     Code         輸出參數(shù),品種代碼
     Market       輸出參數(shù),品種市場(chǎng)
     OrderType    輸出參數(shù),成交單類(lèi)型,0限價(jià) 1市價(jià) 2停損 3限價(jià)停損
     Action       輸出參數(shù),成交方向 0買(mǎi)入 1賣(mài)出
     Price        輸出參數(shù),成交價(jià)格
     Volume       輸出參數(shù),成交量
     Kaiping      輸出參數(shù),開(kāi)平倉(cāng)類(lèi)型,0開(kāi)倉(cāng) 1平倉(cāng)
     Account      輸入?yún)?shù),成交帳戶(hù),可省略,若省略則表示當(dāng)前默認(rèn)激活帳戶(hù)
     返回值:      成功返回1,失敗返回0*/
     virtual int TradeDetalied2(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, int &Kaiping, CString &Account) = 0;
     
     //得到指定基于0索引的IB帳戶(hù)名稱(chēng),例如IBAccountName(0)表示取第一個(gè)登陸的IB帳戶(hù) 
     virtual CString GetIBAccountName(int nIndex) = 0;
     
     //得到指定基于0索引的CTP帳戶(hù)名稱(chēng)(包含登陸未成功的),例如 CTPAccountName(0)表示取第一個(gè)登陸的CTP用戶(hù)名稱(chēng) 
     virtual CString GetCTPAccountName(int nIndex) = 0;
     
     //判斷指定帳號(hào)是否是當(dāng)前已登錄有效帳號(hào),例如 Order.IsAccount("351579"),如果該賬戶(hù)已登錄則返回1,否則返回0 
     virtual int IsAccount(CString strAccount) = 0;
    };

    #endif

     最后請(qǐng)大家注意的就是金字塔下C++插件的擴(kuò)展名是 *.ADI 文件名,實(shí)際上就是DLL程序改了擴(kuò)展名放到金字塔的工作目錄下,這么設(shè)計(jì)主要是為了與金字塔已有的DLL模塊沖突,放倒金字塔工作目錄后,重新啟動(dòng)金字塔軟件,就會(huì)在 工具菜單-》擴(kuò)展 里看到我們所開(kāi)發(fā)出來(lái)的C++插件了。

 

有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請(qǐng)點(diǎn)擊這里留言!!!進(jìn)行 有償 編寫(xiě)!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論
  • 上一篇:沒(méi)有了!

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产在线精品网址你懂的 | a级做爰视频在线观看 | 可以直接看的毛片 | 在线精品国精品国产不卡 | 欧美一级久久久久久久久大 | 神马色片 | 亚洲精品线在线观看 | 国产激情对白一区二区三区四 | 免费在线观看福利 | 色综合色综合色综合色综合 | 四虎院影永久在线观看 | 亚洲精品98久久久久久中文字幕 | 日本不卡影院 | 欧美在线播放成人免费 | 欧洲亚洲综合一区二区三区 | 一级毛片一级毛片一级毛片aa | 亚洲精品动漫一区二区三区在线 | 午夜激情免费 | 免费一级毛片麻豆精品 | www.精品 | 成年性午夜免费视频网站不卡 | 劲爆欧美色欧美 | 91精品国产欧美一区二区 | 日日夜夜精品 | 黄色毛片免费 | 亚洲第一二三四区 | 无码免费一区二区三区免费播放 | 国产成人精品综合 | 亚州毛片 | 奇米在线观看 | 九九爱国产 | 亚洲国产成人久久 | 国内精品久久久久久久久蜜桃 | 一级a毛片免费观看久久精品 | 国产精品边做奶水狂喷小说 | 奇米影视666 | 91精品国产综合久久婷婷 | 四虎影院永久在线观看 | 天天爽| 国产精品午夜性视频 | 成人香蕉网 |