中文字幕av无码不卡免费_蜜臀AV无码精品人妻色欲_亚洲成AV人片在线观看无码不卡_无码专区天天躁天天躁在线

您現在的位置:程序化交易>> 期貨公式>> 金字塔等>>正文內容

基于金字塔平臺下開發C++程序化交易策略教程[金字塔等]

  •     我們很多專業投資者及一些投資機構都喜歡使用C++直接編寫交易策略,C++語言無論是靈活性和安全性都是要比傳統的一般意義上的腳本語言要強大許多,這也是大家所普遍采用的一個主要理由。但是直接使用C++開發需要3個主要組件,主要包括:

    1、歷史行情數據的管理和接收

    2、交易策略的評估與實現

    3、下單交易具體實施

    實際上上述3點其實已經包含了一個程序化交易軟件所具有的主要特點了,如果是全部都要重新開發一套這樣的產品,我們的投資公司最后都要變成名副其實軟件公司了,將耗費很大的精力與財力來組織和管理整個軟件開發團隊。

    如果使用金字塔平臺進行C++的策略編寫,那么上述的多個難點就可以很好的得到解決,主要如下:

    1、金字塔為C++接口提供了豐富完善的歷史數據,包括盤中即時數據,1分,5分,15,30,日線等等多大十幾種周期數據,這些數據都是金字塔軟件統一管理,模型的開發者不必再來操心歷史數據如何管理。

    2、我們的交易策略在前期模型階段可以利用金字塔平臺PEL語言快速的進行評估,評估結束后,再集中精力來變成C++的具體交易算法,節省了大量的時間。

    3、可以利用金字塔平臺進行全球市場交易;雖然現在CTP平臺開放了交易接口,但畢竟是只有這一個接口,如果交易者要對其他的交易接口例如金仕達、恒生接口等等時,都必須要去重新開發接口,同樣是要花費很大的精力。但如果使用金字塔平臺,開發者就不必再去關心不同的交易接口到底有哪些不同,我們都已經為客戶封裝好了統一的交易接口規范,你只要交易策略編寫完畢后,就可以在金字塔所支持的國內期貨公司,證券公司,外盤期貨外匯等等平臺上進行交易。

    綜上所述,實際上很多底層的服務模塊金字塔都已經為客戶開發好了,客戶在金字塔上只需要關心如何用C++編寫策略就可以,極大的加快了投資者的開發周期,并節省了大量的研發費用。

     

    如何在金字塔上進行C++策略的開發呢

     

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

    客戶也可以點擊 http://www.weistock.com/download/addindemo.rar 下載到本地進行學習。

     

    最后說明一點,金字塔的進程是不允許被調試加載的,這對C++開發者來說增加調試難度,但是可以通過附加進程調試的方法來解決問題,比如VS2008等都有很好的這種支持,詳情請GOOGLE搜索。(http://www.tumamayizhan.com

     

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

     

    [此貼子已經被作者于2012-5-13 9:28:36編輯過]

     

  • #if !defined(__ADDININTERFACE_H__)
    #define __ADDININTERFACE_H__

    #define  STKLABEL_LEN   10   // 股號數據長度,國內市場股號編碼兼容錢龍
    #define  STKNAME_LEN    32   // 股名長度

    #pragma pack (push ,1)

    /* time_t在金字塔的定義是32位,對于使用VS2005等高版本Visual C++,time_t是64位,直接使用將導致數據結構紊亂
       請在stdafx.h文件里加上如下這個定義即可。#define _USE_32BIT_TIME_T */

    //動態行情數據結構
    typedef struct 
    {
     time_t m_time;          // 成交時間
     
     float m_fLastClose;        // 昨收
     float m_fOpen;         // 今開
     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;        //前開
     float m_fLastHigh;        //前高
     float m_fLastLow;         //前底
     
     float m_fBuyPrice[3];        // 申買價1,2,3
     float m_fBuyVolume[3];       // 申買量1,2,3
     float m_fSellPrice[3];       // 申賣價1,2,3
     float m_fSellVolume[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;        //現手
     float m_fBuyVol;         //外盤量
     float m_fSellVol;         //內盤量
     char m_szName[32];        // 股票名稱,以'\0'結尾
     char m_szNamePY[16];
     char m_szLabel[10];        // 股票代碼,以'\0'結尾
     float   m_f5DayAverage;        //5日均量
     float m_fNext5DayVol;        //下一個5日均量
     time_t m_timeHardenSpeed;       //漲速前比較時間
     float m_fHardenSpeed;        //漲速用變量,記錄前5分鐘價格
     WORD m_wMarket;         //品種所屬市場比如上海'HS',深圳'ZS'
    }REPORT_STRUCT;

    //日線數據
    typedef struct
    {
     DATE m_timeDate;    //UCT
     float m_fOpen;   //開盤
     float m_fHigh;   //最高
     float m_fLow;    //最低
     float m_fClose;   //收盤
     float m_fOI;    //open interest
     float m_fVolume;   //量
     float m_fAmount;   //額
     WORD m_wAdvance;   //漲數,僅大盤有效
     WORD m_wDecline;   //跌數,僅大盤有效
     WORD m_wQT;    //成交筆數
     float m_fOpenVolume;  //開盤量
     float m_fOpenAmount;  //開盤額 
    }HISTORY_STRUCTEx;

    //分筆成交數據結構
    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買盤 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!=0.0f 時有效
     float m_fProfit;   // 每10股紅利
     float m_fZhiJieStock;  // 直接上市(萬股)
    }POWER_STRUCTEx;

    typedef struct  {
     WORD m_nMarket;
     char m_szLable[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分鐘線
      MULTITICK_DATA    //多筆
    };

    typedef struct
    {
     //////////////////////////////////////////////////////////////////////////
     //調用數據信息
     DWORD   m_dwVersion;   //調用軟件版本(V2.10 : 0x210)
     DWORD   m_dwSerial;    //調用軟件序列號
     char   m_szLabel[10];   //調用的品種代碼
     WORD   m_wMarket;    //調用的品種市場,比如上海為'HS'
     CYC_DATA_TYPE m_dataType;    //調用數據類型
     BOOL   m_bIsPow;    //是否復權
     int    m_nPowType;    //復權類別 0向前復權 1向后復權
     BOOL   m_bIsReversePrice;  //是否反轉價格
     
     //////////////////////////////////////////////////////////////////////////
     //以下為返回的數據信息 
     int     m_nNumData;   //數據數量
     HISTORY_STRUCTEx *  m_pMainData;  //主數據緩沖區
     
     SUBSECTION_REPORT * m_pSubsection;  //當日分筆成交明細
     int     m_nNumSubData;  //分筆數據量

     REPORT_STRUCT*  m_pReport;   //動態實時行情結構
     float*    m_pfFinData;  //財務數據
     
     POWER_STRUCTEx* m_pSplitData;   //除權數據
     int    m_nNumSplitData;  //除權次數
    }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;        // 昨收
     float m_fOpen;         // 今開
     float m_fHigh;         // 最高
     float m_fLow;          // 最低
     float m_fNewPrice;        // 最新
     float m_fVolume;         // 成交量
     float m_fAmount;         // 成交額
     
     float m_fBuyPrice[3];        // 申買價1,2,3
     float m_fBuyVolume[3];       // 申買量1,2,3
     float m_fSellPrice[3];       // 申賣價1,2,3
     float m_fSellVolume[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_nOrderID;  //訂單ID
     CString m_strStatus; //狀態(詳見.CPP文件描述)
     long m_nFilled;   //已成交數量
     long m_nRemaining;  //剩余數量
     float m_fPrice;   //成交價格
     CString m_strCode;  //品種
     CString m_strMarket; //市場
     BYTE m_nKaiping;  //開平倉 0開倉 1平倉
     BYTE m_nType;   //訂單類型 0限價 1市價 2停損 3限價停損
     BYTE m_nAspect;   //買賣方向 0買入 1賣出
     CString m_strAccount; //操作賬戶
     BYTE m_nAccountType; //賬戶類型 0IB 1CTP 2金仕達
    }BARGAIN_NOTIFY_KSI;

    //////////////////////////////////////////////////////////////////////////
    //消息包結構 www.tumamayizhan.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;

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

     //取指定品種的動態及時報表
     virtual REPORT_STRUCT * GetReportData(char * szLabel, WORD wMarket) = 0;

     //取指定分類板塊的品種數組
     //szName為分類或者板塊名稱,如"上海A股"等,nMode為類別,0市場分組,1分類板塊,2系統板塊(品種欄對應)
     virtual void GetReportData(CArray<BLOCK_STRUCT, BLOCK_STRUCT&> &arBlcok, char * szName, int nMode) = 0;

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

     //取消品種數據注冊,例如UnRegReportNotify("CL05",'MN'),CL05數據到達時不會再收到通知。
     virtual void UnRegReportNotify(char * szLabel, WORD wMarket) = 0;

     //下單委托交易
     // nType  下單類型 0限價 1市價 2停損 3限價停損
     // fLmtPrice 委托限價
     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;

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

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

     //得到IB品種持倉數量
     virtual int GetHolding() = 0;

     //得到國內期貨的持倉數量
     virtual int GetHolding2(char * szAccount) = 0;

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

     //得到所有國內期貨當前有效的未成交合約品種數量 
     virtual int GetOrderNum2() = 0;

     //得到IB帳戶的成交明細數量 
     virtual int GetTradeCount() = 0;
     
     //得到指定帳戶的國內期貨帳戶的成交明細數量 
     virtual int GetTradeCount2(CString Account) = 0;

     //當前已經登陸IB顧問帳戶子帳戶數量,若登陸的是IB普通帳戶此屬性為1 
     virtual int GetIBACCount() = 0;

     //當前已經登陸國內期貨帳戶數量(包含無效登陸等情況在內的)
     virtual int GetCTPAcCount() = 0; 

     //得到當前默認帳戶信息 
     virtual VARIANT GetAccount(short nType) = 0;

     //得到指定的國內期貨帳戶信息 
     virtual VARIANT GetAccount2(short nType, char * szAccount) = 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 &Market)  = 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 Account) = 0;

     /*
     * 取指定基于0索引的未成交IB合約信息
     Index        輸入參數,指定基于0索引的持倉和約信息,持倉和約總量參見 OrderNum 屬性。
     OrderID   輸出參數, 未成交訂單ID
     ConSign      輸出參數,本次委托數量
     Filled       輸出參數,已成交數量
     Remaining    輸出參數,未成交數量
     Action       輸出參數,動作類型 0買入 1賣出
     OrderType    輸出參數,訂單類型 0限價 1市價 2停損 3市價停損
     LmtPrice     輸出參數,當OrderType等于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 &Market) = 0;
     
     /*取指定基于0索引的未成交CTP合約信息
     Index        輸入參數,指定基于0索引的持倉和約信息,持倉和約總量參見 OrderNum2 屬性。
     OrderID      輸出參數, 未成交訂單ID
     ConSign      輸出參數,本次委托數量
     Filled       輸出參數,已成交數量
     Remaining    輸出參數,未成交數量
     Action       輸出參數,動作類型 0買入 1賣出
     OrderType    輸出參數,訂單類型 0限價 1市價 2停損 3市價停損
     LmtPrice     輸出參數,當OrderType等于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 &Market) = 0;
     
     /*獲取指定品種的合約種類 www.tumamayizhan.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;
     
     /*計算指定品種的本次交易手續費用。請用戶在交易費率設置上預先設置好不同品種的各種交易費率情況,這樣才能通過此方法得到正確的結果。
     Code         指定的品種代碼
     Market       指定的品種市場
     lmtPrice     指定的限價
     Volume       委托數量
     Type         成交方向 0買入 1賣出
     返回值:      返回計算后的手續費用*/
     virtual float GetChargeByNum(char * szCode, WORD wMarket, float lmtPrice, int Volume, int Type) = 0;
     
     /*取指定基于0索引序號的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 &Account) = 0;
     
     /*取指定基于0索引序號的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 &Account) = 0;
     
     //得到指定基于0索引的IB帳戶名稱,例如IBAccountName(0)表示取第一個登陸的IB帳戶 
     virtual CString GetIBAccountName(int nIndex) = 0;
     
     //得到指定基于0索引的CTP帳戶名稱(包含登陸未成功的),例如 CTPAccountName(0)表示取第一個登陸的CTP用戶名稱 
     virtual CString GetCTPAccountName(int nIndex) = 0;
     
     //判斷指定帳號是否是當前已登錄有效帳號,例如 Order.IsAccount("351579"),如果該賬戶已登錄則返回1,否則返回0 
     virtual int IsAccount(CString strAccount) = 0;
    };

    #endif

     最后請大家注意的就是金字塔下C++插件的擴展名是 *.ADI 文件名,實際上就是DLL程序改了擴展名放到金字塔的工作目錄下,這么設計主要是為了與金字塔已有的DLL模塊沖突,放倒金字塔工作目錄后,重新啟動金字塔軟件,就會在 工具菜單-》擴展 里看到我們所開發出來的C++插件了。

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論
  • 上一篇:沒有了!

相關文章

    沒有相關內容
中文字幕av无码不卡免费_蜜臀AV无码精品人妻色欲_亚洲成AV人片在线观看无码不卡_无码专区天天躁天天躁在线

国一区二区在线观看| 一本色道久久| 日韩亚洲国产欧美| 亚洲理论在线| 翔田千里一区二区| 欧美二区在线| 在线看片一区| 免费久久久一本精品久久区| 久久久999| 亚洲午夜精品久久久久久app| 在线精品在线| 久久大逼视频| 亚洲午夜一区| 国产一区二区三区高清| 欧美成人综合一区| 99精品视频免费观看| 久久国产精品久久久久久电车| 久久一综合视频| 亚洲国产日韩美| 久久精品国产第一区二区三区最新章节 | 免费不卡亚洲欧美| 欧美天天视频| 国产精品久久国产三级国电话系列 | 国产一区二区精品| 欧美日韩一区二区三| 国产一区二区三区免费不卡| 欧美精品v日韩精品v国产精品| 亚洲精品乱码| 欧美日本不卡高清| 亚洲一区三区视频在线观看| 国产一区视频在线观看免费| 久久婷婷影院| 久久精品91| 先锋影音一区二区三区| 精品不卡在线| 欧美涩涩网站| 欧美特黄一级| 黄色av成人| 亚洲无玛一区| 亚洲国产精品一区| 在线精品观看| 最新日韩欧美| 亚洲毛片在线| 国产日韩一区二区| 亚洲欧美日本视频在线观看| 国产精品毛片| 亚洲欧美日韩专区| 六月天综合网| 午夜精彩国产免费不卡不顿大片| 麻豆精品网站| 欧美国产三区| 国内精品福利| 亚洲国产精品日韩| 一本色道久久| 久久aⅴ国产紧身牛仔裤| 老司机一区二区三区| 老鸭窝毛片一区二区三区| 午夜一区二区三视频在线观看 | 国产伊人精品| 精品成人国产| 日韩亚洲精品在线| 国产一区二区三区奇米久涩| 国产精品日本欧美一区二区三区| 一本久道久久综合狠狠爱| 国产日韩一区二区| 久久久久久久久久码影片| 欧美日本国产精品| 亚洲黄页一区| 性欧美xxxx大乳国产app| 欧美一级网站| 欧美黄色精品| 亚洲人成久久| 国产精品久久一区二区三区| 欧美一区1区三区3区公司| 久久aⅴ国产紧身牛仔裤| 久久久水蜜桃| 亚洲精品1区| 亚洲免费在线精品一区| 国产一区日韩一区| 男人的天堂亚洲在线| 伊人久久大香线蕉综合热线| 亚欧美中日韩视频| 影音先锋日韩资源| 麻豆精品91| 亚洲片区在线| 欧美午夜一区二区福利视频| 亚洲永久免费| 亚洲精品日韩精品| 欧美午夜a级限制福利片| 亚洲欧美日韩视频二区| 亚洲电影av| 欧美日韩国产免费观看 | 亚洲激情一区二区三区| 久久久精品动漫| 亚洲麻豆一区| 国语对白精品一区二区| 久久婷婷亚洲| 午夜在线视频一区二区区别| 在线欧美三区| 欧美日产一区二区三区在线观看| 国产欧美日本在线| 亚洲经典在线看| 亚洲视频碰碰| 一区视频在线看| 激情欧美一区| 亚洲黄色成人久久久| 黄色成人在线网址| 亚洲无线一线二线三线区别av| 久久综合九色综合网站| 销魂美女一区二区三区视频在线| 亚洲精品欧美| 一本色道久久综合亚洲二区三区| 在线欧美福利| 在线成人h网| 亚洲大胆视频| 中文在线一区| 亚洲免费婷婷| 女人香蕉久久**毛片精品| 欧美影院一区| 欧美午夜电影在线观看 | 国产精品一区在线观看| 国产一级久久| 久久精品导航| 欧美区高清在线| 欧美精品导航| 亚洲国产专区| 国产欧美日本| 久久激情中文| 好吊日精品视频| 日韩一级在线| 免费精品视频| 欧美日韩在线高清| 亚洲精选91| 亚洲一区二区三区高清| 欧美在线视频二区| 亚洲高清成人| 久久久久一区二区| 精品69视频一区二区三区Q| 99视频精品免费观看| 亚洲综合丁香| 国产精品v日韩精品v欧美精品网站| 精品91久久久久| 亚洲欧美久久| 狠狠入ady亚洲精品经典电影| 激情综合中文娱乐网| 国产精品日韩高清| 国模一区二区三区| 国产精品一区二区三区四区五区| 久久精品在线| 一本色道88久久加勒比精品| 牛夜精品久久久久久久99黑人| 韩日精品视频| 久久综合精品一区| 亚洲日产国产精品| 久久久久在线| 亚洲精品无人区| 久久综合一区| 国产日韩一区| 亚洲国产精品一区在线观看不卡 | 久久国产精品久久w女人spa| 激情久久久久| 欧美精品国产一区二区| 国产精品久久亚洲7777 | 久久免费99精品久久久久久| 亚洲激情专区| 女同一区二区| 亚洲欧美国产精品桃花| 亚洲久色影视| 国产在线视频欧美一区二区三区| 国产精品五区| 亚洲美女网站| 好吊色欧美一区二区三区四区| 久久国产精品亚洲va麻豆| 激情综合视频| 国自产拍偷拍福利精品免费一| 欧美一区=区| 99在线精品免费视频九九视| 伊人精品成人久久综合软件| 久久综合福利| 久久久久一区二区三区| 午夜在线精品偷拍| 午夜一级在线看亚洲| 国产久一道中文一区| 国产精品久久国产三级国电话系列 | 亚洲乱亚洲高清| 亚洲视频免费| 亚洲成人在线视频网站| 激情欧美日韩一区| 亚洲黑丝一区二区| 亚洲精品美女91| 99精品欧美一区二区三区| 亚洲福利电影| 精品999网站| 精品动漫3d一区二区三区免费版| 狠狠综合久久| 亚洲国产精品一区制服丝袜| 亚洲性视频h| 亚洲精品乱码久久久久久蜜桃91| 亚洲黄色一区二区三区| 日韩一区二区久久| 国产精品区二区三区日本| 午夜亚洲视频| 欧美日韩视频一区二区三区| 很黄很黄激情成人| 99成人在线| 乱码第一页成人| 国产一区美女| 一区二区三区国产在线| 蜜桃伊人久久| 激情av一区| 亚洲一区网站| 黄色精品一区| 亚洲欧美网站| 国色天香一区二区| 国产精品久久久对白| 久久久久中文| 在线不卡视频| 久久国产精品毛片| 激情六月综合| 久久国产一区| 伊人久久亚洲热| 欧美中文字幕| 亚洲欧洲精品一区| 久久久久成人精品免费播放动漫| 好看不卡的中文字幕| 亚洲综合好骚| 亚洲区国产区| 欧美三级第一页| 性色一区二区三区| 亚洲国产国产亚洲一二三| 亚洲欧美清纯在线制服| 亚洲网址在线| 欧美国产三区| 性伦欧美刺激片在线观看| 亚洲香蕉网站| 女人色偷偷aa久久天堂| 在线一区日本视频| 海角社区69精品视频| 午夜在线一区二区| 99av国产精品欲麻豆| 欧美日韩视频在线一区二区观看视频| 一本久道综合久久精品| 亚洲午夜久久久久久尤物| 噜噜噜躁狠狠躁狠狠精品视频 | 欧美极品一区| 午夜综合激情| 亚洲理伦在线| 亚洲视频狠狠| 国产精品v欧美精品v日韩| 久久免费99精品久久久久久| 国产精品一级久久久| 亚洲乱码视频| 亚洲精品乱码| 91久久精品www人人做人人爽| 欧美视频亚洲视频| 欧美精品一卡| 欧美网站在线| 黄色一区二区三区四区| 国产精品v欧美精品v日韩精品| 久久综合久久久| 欧美91精品| 国产精品99免费看| 国内一区二区在线视频观看 | 午夜精品免费| 老司机精品久久| 欧美freesex交免费视频| 免费国产自线拍一欧美视频| 亚洲欧美日韩综合一区| 久久国产88| 欧美不卡福利| 亚洲手机视频| 宅男噜噜噜66一区二区| 国产精品女主播一区二区三区| 一区二区精品在线| 亚洲一区在线直播| 久久久久欧美精品| 欧美片第1页综合| 亚洲性图久久| 一本久道久久综合婷婷鲸鱼| 99精品免费| 性xx色xx综合久久久xx| 久久久水蜜桃av免费网站| 玖玖在线精品| 国产精品国产三级国产专区53| 国产在线欧美| 日韩视频在线播放| 国产精品久久久久久模特| 性欧美xxxx大乳国产app| 久久久99国产精品免费| 国内精品国语自产拍在线观看| 亚洲国产精品一区二区第一页 | 欧美高清视频一区| 好吊视频一区二区三区四区 | 中日韩视频在线观看| 亚洲综合首页| 你懂的网址国产 欧美| 亚洲高清毛片| 免费精品视频| 国产一区二区在线观看免费播放| 亚洲乱码视频| 老妇喷水一区二区三区| 极品中文字幕一区| 久久久国产精品一区二区三区| 欧美日本一区二区高清播放视频| 国内综合精品午夜久久资源| 国产欧美丝祙| 欧美日韩视频在线一区二区观看视频| 在线观看福利一区| 欧美777四色影| 中文亚洲欧美| 国产一区欧美| 久久五月天婷婷| 亚洲每日在线| 欧美日韩在线精品一区二区三区| 国产一区二区高清不卡| 国产综合精品一区| 麻豆成人av| 国产欧美激情| 伊人久久av导航| 欧美精品午夜| 久久久人人人| 国产精品嫩草99av在线| 精品成人一区| 欧美搞黄网站| 麻豆9191精品国产| 国产亚洲精品bv在线观看| 亚洲经典三级| 狠久久av成人天堂| 欧美激情国产日韩| 欧美一区二区三区在线播放 | 欧美视频福利| 久久久久一区二区三区| 一区二区av| 99riav1国产精品视频| 亚洲天堂激情| 欧美久久九九| 欧美日韩福利| 欧美日韩91| 欧美日本中文| 午夜亚洲福利| 欧美在线一二三区| 欧美暴力喷水在线| 欧美精品97| 欧美日韩综合久久| 国内自拍一区| 精品动漫3d一区二区三区免费版 | 久久都是精品| 国产一区二区久久久| 亚洲一区欧美二区| 亚洲一区二区四区| 麻豆亚洲精品| 久久亚洲国产精品一区二区| 亚洲在线不卡| 欧美阿v一级看视频| 欧美国产视频在线观看| 欧美日韩另类丝袜其他| 国产一区免费视频| 激情久久久久| 在线综合视频| 你懂的亚洲视频| 极品日韩av| 国产精品久久久久久久久久妞妞| 亚洲综合不卡| 欧美三级视频| 国产视频在线观看一区| 久久国产日本精品| 欧美日韩国产亚洲一区| 亚洲国产高清一区二区三区| 亚洲精品欧美| 久久精品人人| 伊人久久大香线蕉av超碰演员| 亚洲精品123区| 久久国产精品亚洲77777| 国产一区欧美| 国产一区二区黄色| 欧美日韩一区在线视频| 99精品免费| 欧美国产三级| 国产精品一区二区三区观看| 欧美成人蜜桃| 国产欧美一区二区三区另类精品 | 黄色亚洲在线| 国产乱码精品一区二区三区不卡| 欧美va天堂在线| 一本色道久久综合亚洲二区三区| 亚洲欧美成人综合| 亚洲国产精品综合| 玖玖精品视频| 99精品热6080yy久久| 欧美日韩国产三区| 国产日韩一区欧美| 欧美人成在线| 噜噜噜噜噜久久久久久91| 亚洲国产欧美日韩| 欧美日韩国产不卡在线看| 一本色道久久99精品综合| 久久久噜噜噜| 亚洲一区高清| 亚洲三级影院| 国内一区二区在线视频观看|