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 d1d453d..63ce803 100644 Binary files a/CPRobotDlg.cpp and b/CPRobotDlg.cpp differ 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 a9a8e22..2e8d09b 100644 Binary files a/res/HandDrawIcon.ico and b/res/HandDrawIcon.ico differ diff --git a/resource.h b/resource.h index a97a3a3..38f2f23 100644 --- a/resource.h +++ b/resource.h @@ -3,8 +3,8 @@ // Used by CPRobot.rc // #define IDD_CPROBOT_DIALOG 102 -#define IDR_MAINFRAME 128 -#define IDI_ICON_STOCK 132 +#define IDI_ICON_STOCK 128 +#define IDR_MAINFRAME 132 #define IDC_EDIT_ORDERING_TICK_MIN 1000 #define IDC_EDIT_ORDERING_TICK_MAX 1001 #define IDC_BUTTON_SEARCH 1002 @@ -24,6 +24,7 @@ #define IDC_COMBO_WINDUP_TICK 1019 #define IDC_LIST2 1020 #define IDC_COMBO2 1021 +#define IDC_BUTTON1 1022 // Next default values for new objects // @@ -31,7 +32,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 134 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1022 +#define _APS_NEXT_CONTROL_VALUE 1023 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif