From 5730cec542cdc924703cb6c1bff3f4e7868b7032 Mon Sep 17 00:00:00 2001 From: mjjo Date: Thu, 12 Sep 2013 22:59:48 +0000 Subject: [PATCH] --- CPRobot.rc | 29 ++++++++++++++-------------- CPRobotDlg.cpp | Bin 52360 -> 58108 bytes CPRobotDlg.h | 44 +++++++++++++++++++++++++------------------ res/HandDrawIcon.ico | Bin 180960 -> 191088 bytes resource.h | 7 ++++--- 5 files changed, 45 insertions(+), 35 deletions(-) diff --git a/CPRobot.rc b/CPRobot.rc index 27d836d..9703296 100644 --- a/CPRobot.rc +++ b/CPRobot.rc @@ -70,21 +70,21 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDR_MAINFRAME ICON "res\\CPRobot.ico" IDI_ICON_STOCK ICON "res\\HandDrawIcon.ico" +IDR_MAINFRAME ICON "res\\CPRobot.ico" ///////////////////////////////////////////////////////////////////////////// // // Dialog // -IDD_CPROBOT_DIALOG DIALOGEX 0, 0, 319, 276 +IDD_CPROBOT_DIALOG DIALOGEX 0, 0, 683, 381 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW CAPTION "Option Robot" FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN - GROUPBOX "¸Å¼ö Á¶°Ç",IDC_STATIC,7,7,305,74 + GROUPBOX "¸Å¼ö Á¶°Ç",IDC_STATIC,7,7,669,74 LTEXT "°Å·¡ ±Ý¾× : ",IDC_STATIC,16,24,42,8,NOT WS_GROUP EDITTEXT IDC_EDIT_ORDERINGPRICE,62,21,67,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER LTEXT "¿ø (Àܰí : -¿ø)",IDC_STATIC_BALANCE,133,24,134,8,NOT WS_GROUP @@ -99,7 +99,7 @@ BEGIN CONTROL "1Â÷ ¸Å¼öÈ£°¡",IDC_RADIO_ASK,"Button",BS_AUTORADIOBUTTON,235,42,61,10 CONTROL "ÄݿɼÇ",IDC_RADIO_CALLOP,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,174,58,37,10 CONTROL "Dz¿É¼Ç",IDC_RADIO_PUTOP,"Button",BS_AUTORADIOBUTTON,215,58,37,10 - GROUPBOX "¸Åµµ Á¶°Ç",IDC_STATIC,7,85,305,58,WS_GROUP + GROUPBOX "¸Åµµ Á¶°Ç",IDC_STATIC,7,85,669,58,WS_GROUP LTEXT "¿äû ƽ :",IDC_STATIC,19,102,32,8,NOT WS_GROUP EDITTEXT IDC_EDIT_SELL_TICK,62,101,34,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER LTEXT "ƽ",IDC_STATIC,101,104,8,8,NOT WS_GROUP @@ -112,10 +112,11 @@ BEGIN LTEXT "û»ê ½Ã°£ :",IDC_STATIC,164,121,40,8,NOT WS_GROUP EDITTEXT IDC_EDIT_WIND_UP_DELAY,206,120,34,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER LTEXT "ms",IDC_STATIC,245,123,10,8,NOT WS_GROUP - COMBOBOX IDC_COMBO_WINDUP_TICK,259,120,53,58,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_TABSTOP - DEFPUSHBUTTON "°Ë»ö",IDC_BUTTON_SEARCH,205,147,50,14 - PUSHBUTTON "°Å·¡ ½ÃÀÛ",IDC_BUTTON_START_DEAL,263,147,50,14 - LISTBOX IDC_LIST_ITEMS,7,169,305,100,LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + COMBOBOX IDC_COMBO_WINDUP_TICK,260,120,53,58,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "°Ë»ö",IDC_BUTTON_SEARCH,205,147,50,14 + DEFPUSHBUTTON "°Å·¡ ½ÃÀÛ",IDC_BUTTON_START_DEAL,263,147,50,14 + LISTBOX IDC_LIST_ITEMS,7,168,669,206,LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "Button1",IDC_BUTTON1,341,46,50,14 END @@ -125,8 +126,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,9,0,2 - PRODUCTVERSION 0,9,0,2 + FILEVERSION 0,9,0,3 + PRODUCTVERSION 0,9,0,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -143,12 +144,12 @@ BEGIN BEGIN VALUE "CompanyName", "LJK" VALUE "FileDescription", "¿É¼Ç ¸Å¸Å ÀÚµ¿È­ ÇÁ·Î±×·¥" - VALUE "FileVersion", "0.9.0.2" + VALUE "FileVersion", "0.9.0.3" VALUE "InternalName", "CPRobot.exe" VALUE "LegalCopyright", "(c) LJK. All rights reserved." VALUE "OriginalFilename", "CPRobot.exe" VALUE "ProductName", "¿É¼Ç ¸Å¸Å ·Îº¿" - VALUE "ProductVersion", "0.9.0.2" + VALUE "ProductVersion", "0.9.0.3" END END BLOCK "VarFileInfo" @@ -169,9 +170,9 @@ BEGIN IDD_CPROBOT_DIALOG, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 312 + RIGHTMARGIN, 676 TOPMARGIN, 7 - BOTTOMMARGIN, 269 + BOTTOMMARGIN, 374 END END #endif // APSTUDIO_INVOKED diff --git a/CPRobotDlg.cpp b/CPRobotDlg.cpp index d1d453d2f8fbcb37dba1b837db408e680251cc6d..63ce80304f48fa54156a2988f508fc6c245c5616 100644 GIT binary patch delta 7147 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 diff --git a/CPRobotDlg.h b/CPRobotDlg.h index e392cc1..16d6744 100644 --- a/CPRobotDlg.h +++ b/CPRobotDlg.h @@ -5,23 +5,14 @@ #include "EventHandler.h" #include #include -#include +#include #include using std::vector; -using stdext::hash_map; +using std::map; using std::string; using std::ofstream; -struct CP_BUYINFO -{ - string m_Code; - int m_iBoughtTime; - float m_fBoughtPrice; - float m_fHighestPrice; - -}; - struct CP_UNITINFO { string m_Code; @@ -30,6 +21,8 @@ struct CP_UNITINFO float m_fHighestPrice; CTime m_Time; int m_iOrderNum; + + CTime m_TestCurTime; }; struct CP_PRICEINFO @@ -70,6 +63,10 @@ protected: virtual BOOL OnInitDialog(); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); + afx_msg LRESULT OnBuy(WPARAM wParam, LPARAM lParam); + afx_msg LRESULT OnSell(WPARAM wParam, LPARAM lParam); + afx_msg LRESULT OnCancelOrder(WPARAM wParam, LPARAM lParam); + afx_msg LRESULT OnWindUp(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP() void SaveToFile(void); @@ -101,12 +98,17 @@ private: BOOL m_bPutOption; BOOL m_bLookingDeal; + CTime m_DealStartT; - vector m_OrderList; - vector m_ConclusionList; - vector m_WindUpList; - hash_map m_CurPriceList; + vector m_BidOrderList; // ¸Å¼ö ¿äûÇÑ ¸®½ºÆ® + //vector m_BidConclusionList; // ¸Å¼ö ü°áµÈ ¸®½ºÆ® + vector m_AskOrderList; // ¸Åµµ ¿äûÇÑ ¸®½ºÆ® + map m_CurPriceList; + + CRITICAL_SECTION m_CSBid; + CRITICAL_SECTION m_CSAsk; + CRITICAL_SECTION m_CSLog; CpDib::IDibPtr m_pCpFConclusion; CEventHandlerDib m_EventHandlerDib; @@ -121,10 +123,16 @@ private: void Unsubscribe(void); void BuyThis(const string& Code, const float fBid1Price, const int iBid1Cnt, float afAskPrice[5]); - void SellThis(const string& Code); - void WindUp(const string& Code); - void CancelOrder(const string& Code); + void SellThis(CP_UNITINFO& AskInfo); + void WindUp(const CP_UNITINFO& Unit); + void CancelOrder(const CP_UNITINFO& Unit); void CPLog(const string fmt, ...); +public: + afx_msg void OnBnClickedButton1(); + + + afx_msg LRESULT OnBuyMsg(WPARAM wParam, LPARAM lParam); + }; diff --git a/res/HandDrawIcon.ico b/res/HandDrawIcon.ico index a9a8e222a38e7ce1e034fa5c33fbc27156e93fdf..2e8d09b686067a7ee60ae6fdd5e989f5fec5f4af 100644 GIT binary patch delta 9072 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 HbYQ g