Profile.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:13k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. class CTechParameters;
  7. class CColorRefContainer;
  8. class CColorClass;
  9. class CColorClassContainer;
  10. class CStProfile;
  11. */
  12. #if !defined( __STKLIB_PROFILE_H__ )
  13. #define __STKLIB_PROFILE_H__
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CTechParameters
  16. /***
  17. 技术指标参数,包含所有技术指标的参数设定
  18. */
  19. class STKLIB_API CTechParameters
  20. {
  21. public:
  22. CTechParameters( );
  23. void Clear( );
  24. void SetKData( CKData * pKData );
  25. void SetDefaultParametersAll( );
  26. BOOL FindParameters( UINT nTech, CTechnique * pTech );
  27. void Serialize( CSPArchive &ar );
  28. CMA ma;
  29. CBBI bbi;
  30. CBOLL boll;
  31. CPV pv;
  32. CSAR sar;
  33. CDJ dj;
  34. CCW cw;
  35. CMACD macd;
  36. CMIKE mike;
  37. CPSY psy;
  38. CVOLUME volume;
  39. CNVI nvi;
  40. CPVI pvi;
  41. CVR vr;
  42. CVROC vroc;
  43. COBV obv;
  44. CMOBV mobv;
  45. CMFI mfi;
  46. CVMACD vmacd;
  47. CWVAD wvad;
  48. CEMV emv;
  49. CVRSI vrsi;
  50. CNVRSI nvrsi;
  51. CAD ad;
  52. CCI ci;
  53. CKDJ kdj;
  54. CR r;
  55. CRSI rsi;
  56. CBIAS bias;
  57. CMTM mtm;
  58. CDMI dmi;
  59. CROC roc;
  60. CCCI cci;
  61. CCV cv;
  62. CARBR arbr;
  63. CCR cr;
  64. COSC osc;
  65. CUOS uos;
  66. CMAOSC maosc;
  67. C36BIAS bias36;
  68. CDPO dpo;
  69. CKST kst;
  70. CREI rei;
  71. CDMKI dmki;
  72. CPCNT pcnt;
  73. CHLC hlc;
  74. CCDP cdp;
  75. CASI asi;
  76. CATR atr;
  77. CCYO cyo;
  78. CDCYO dcyo;
  79. CHSL hsl;
  80. CDPER dper;
  81. };
  82. //template class __declspec(dllexport) CSPArray<COLORREF, COLORREF>;
  83. typedef CSPArray<COLORREF, COLORREF> CColorRefArray;
  84. class STKLIB_API CColorRefContainer : public CColorRefArray
  85. {
  86. public:
  87. CColorRefContainer( ) { };
  88. virtual ~CColorRefContainer( ) { RemoveAll(); }
  89. virtual void SetSize(int nNewSize, int nGrowBy = -1) { CColorRefArray::SetSize(nNewSize,nGrowBy); }
  90. virtual void Copy(const CColorRefArray& src) { CColorRefArray::Copy(src); }
  91. };
  92. // 颜色定义
  93. #define NDCLR_BLACK RGB(0,0,0)
  94. #define NDCLR_WHITE RGB(255,255,255)
  95. #define NDCLR_GREYISH RGB(215,212,206)
  96. #define NDCLR_WATER RGB(206,212,215)
  97. #define NDCLR_DARKGREY RGB(128,128,128)
  98. #define NDCLR_YELLOW RGB(255,255,0)
  99. #define NDCLR_MINIYELLOW RGB(247,243,233)
  100. #define NDCLR_RED RGB(255,0,0)
  101. #define NDCLR_FLATRED RGB(168,0,0)
  102. #define NDCLR_WATERRED RGB(255,84,255)
  103. #define NDCLR_GREEN RGB(0,255,0)
  104. #define NDCLR_GREENBLUE RGB(0,127,127)
  105. #define NDCLR_BLUE RGB(0,0,255)
  106. #define NDCLR_MINIBLUE RGB(153,153,204)
  107. #define NDCLR_FLATBLUE RGB(0,255,255)
  108. #define NDCLR_WATERBLUE RGB(128,128,192)
  109. #define NDCLR_DEFAULT RGB(255,255,255)
  110. /***
  111. 界面配色方案
  112. */
  113. class STKLIB_API CColorClass
  114. {
  115. public:
  116. CColorClass( );
  117. CColorClass( const CColorClass &src );
  118. virtual ~CColorClass( );
  119. // operation
  120. CColorClass & operator = ( const CColorClass &src );
  121. void Serialize( CSPArchive & ar );
  122. // attributes
  123. enum ColorIndex {
  124. clrMin = 0x00,
  125. clrDefault = 0x00,
  126. clrReserved1 = 0x01,
  127. clrReserved2 = 0x02,
  128. clrReserved3 = 0x03,
  129. clrReserved4 = 0x04,
  130. clrReserved5 = 0x05,
  131. clrReserved6 = 0x06,
  132. clrWorkspBK = 0x07,
  133. clrWorkspText = 0x08,
  134. clrSimuBK = 0x09,
  135. clrSimuText = 0x0A,
  136. clrSListBK = 0x0B,
  137. clrSListSelected= 0x0C,
  138. clrBaseBK = 0x0D,
  139. clrBaseText = 0x0E,
  140. clrGraphBK = 0x0F,
  141. clrBorder = 0x10,
  142. clrRise = 0x11,
  143. clrFall = 0x12,
  144. clrFallEntity = 0x13,
  145. clrPlane = 0x14,
  146. clrNewKLine = 0x15,
  147. clrCW = 0x16,
  148. clrDJ = 0x17,
  149. clrTitle = 0x18,
  150. clrText = 0x19,
  151. clrLine1 = 0x1A,
  152. clrLine2 = 0x1B,
  153. clrLine3 = 0x1C,
  154. clrLine4 = 0x1D,
  155. clrLine5 = 0x1E,
  156. clrLine6 = 0x1F,
  157. clrReserved7 = 0x20,
  158. clrReserved8 = 0x21,
  159. clrReserved9 = 0x22,
  160. clrReserved10 = 0x23,
  161. clrReserved11 = 0x24,
  162. clrReserved12 = 0x25,
  163. clrMax = 0x25,
  164. };
  165. void SetName( LPCTSTR lpszName );
  166. CSPString GetName( );
  167. void SetColor( int nColorIndex, COLORREF clrRGB );
  168. COLORREF GetColor( int nColorIndex );
  169. void SetColorDefault( );
  170. void SetColorStandard( ); // 传统式配色方案
  171. void SetColorByzantinesque( ); // 拜占庭式配色方案
  172. void SetColorGothic( ); // 哥特式配色方案
  173. void SetColorBaroque( ); // 巴洛克式配色方案
  174. static BOOL IsSysColorClass( LPCTSTR lpszColorClassName );
  175. static BOOL IsColorStandard( LPCTSTR lpszColorClassName );
  176. static BOOL IsColorByzantinesque( LPCTSTR lpszColorClassName );
  177. static BOOL IsColorGothic( LPCTSTR lpszColorClassName );
  178. static BOOL IsColorBaroque( LPCTSTR lpszColorClassName );
  179. protected:
  180. CSPString m_strName;
  181. CColorRefContainer m_aColorRef;
  182. };
  183. //template class __declspec(dllexport) CSPArray<CColorClass, CColorClass &>;
  184. typedef CSPArray<CColorClass, CColorClass &> CColorClassArray;
  185. /***
  186. 配色方案数组
  187. */
  188. class STKLIB_API CColorClassContainer : public CColorClassArray
  189. {
  190. public:
  191. CColorClassContainer( );
  192. CColorClassContainer( CColorClassContainer & src );
  193. virtual ~CColorClassContainer( );
  194. // operation
  195. CColorClassContainer & operator = ( CColorClassContainer & src );
  196. void Serialize( CSPArchive & ar );
  197. // attributes
  198. int AddColorClass( CColorClass & newClass );
  199. BOOL RemoveColorClass( LPCTSTR lpszColorClassName );
  200. BOOL SetColorClass( CColorClass & clrcls );
  201. BOOL GetColorClass( LPCTSTR lpszColorClassName, CColorClass & clrcls );
  202. COLORREF GetColor( int nColorIndex );
  203. void SetContainerDefault( );
  204. BOOL SelectColorClass( LPCTSTR lpszColorClassName );
  205. int GetSelected();
  206. protected:
  207. int m_nSelectedColorClass;
  208. };
  209. /***
  210. 系统设置
  211. */
  212. class STKLIB_API CStProfile
  213. {
  214. public:
  215. CStProfile();
  216. virtual ~CStProfile();
  217. void StoreProfile( );
  218. void LoadProfile( );
  219. BOOL Store( LPCTSTR lpszFileName );
  220. BOOL Load( LPCTSTR lpszFileName );
  221. virtual void FileSerialize( CSPArchive &ar );
  222. //Attributes
  223. //Operations
  224. // Server Infomation
  225. CSPString GetMainServerDomain( );
  226. CSPString GetHTTPServerDomain( );
  227. WORD GetHTTPServerPort( );
  228. CSPString GetMainServer( );
  229. CSPString GetProductURL( );
  230. CSPString GetDownloadURL( );
  231. CSPString GetAgentRootURL( );
  232. CSPString GetSupportMailto( );
  233. CSPString GetUpgradeURL( );
  234. CSPString GetEvaluateEmail( );
  235. CSPString GetEvaluateSMTPServer( );
  236. CSPString GetEvaluateSMTPUser( );
  237. CSPString GetEvaluateSMTPPasswd( );
  238. CSPString GetDefaultServer( );
  239. void SetDefaultServer( LPCTSTR lpszDefaultServer );
  240. CSPStringArray & GetDownloadServers( ); // Not include main server, include default server
  241. void SetDownloadServers( CSPStringArray & astrAllServers );
  242. /* not use now, use CQSProfile's proxy settings
  243. int GetAccessType( );
  244. void SetAccessType( int nAccessType );
  245. int GetProxyType( );
  246. void SetProxyType( int nProxyType );
  247. CSPString GetProxyAddress( );
  248. void SetProxyAddress( LPCTSTR lpszProxyAddress );
  249. WORD GetProxyPort( );
  250. void SetProxyPort( WORD nPort );
  251. CSPString GetProxyUser( );
  252. void SetProxyUser( LPCTSTR lpszProxyUser );
  253. CSPString GetProxyPasswd( );
  254. void SetProxyPasswd( LPCTSTR lpszProxyUser );
  255. */
  256. // Window Placement
  257. BOOL GetWindowPlacement(LPWINDOWPLACEMENT pwp);
  258. void SetWindowPlacement(LPWINDOWPLACEMENT pwp);
  259. // Work Directory
  260. CSPString GetWorkDirectory( );
  261. // Version
  262. CSPString GetVersion( );
  263. // Stock Data Format and Path
  264. CSPString GetSViewFile( );
  265. CSPString GetDomainFile( );
  266. CSPString GetGroupFile( );
  267. CSPString GetProjectPath( );
  268. CSPString GetExportPath( );
  269. CSPString GetYongxinPath( );
  270. CSPString GetSelfDBPath( );
  271. CSPString GetSelfDBNewsPath( DWORD dwMarket );
  272. CSPString GetSelfDBBasePath( DWORD dwMarket );
  273. CSPString GetQianlongPath( );
  274. void SetQianlongPath( LPCTSTR lpszPath );
  275. // Color
  276. COLORREF GetColor( int nColorIndex );
  277. CColorClassContainer & GetColorClassContainer( );
  278. // Last Opened Strategies
  279. CSPStringArray & GetLastOpenedStrategy( );
  280. void SetLastOpenedStrategy( CSPStringArray & astr );
  281. CSPString GetLastActiveStrategy( );
  282. void SetLastActiveStrategy( LPCTSTR lpszPath );
  283. // Net Info
  284. void SetNetInfoShowLater( BOOL bShowLater );
  285. void SetNetInfo( LPCTSTR lpszInfo, LPCTSTR lpszInfourl );
  286. void GetNetInfo( CSPString & strInfo, CSPString & strInfourl, int * pbShow );
  287. void SetLatestver( LPCTSTR lpszLatestver );
  288. BOOL HasNewVersion( );
  289. // Auto Resume DR Limit
  290. int GetAutoResumeDRLimit( );
  291. void SetAutoResumeDRLimit( int nAutoResumeDRLimit );
  292. // SList Columns
  293. void SetSListColumnsDefault( );
  294. CSPDWordArray & GetSListColumnsShow( );
  295. CSPDWordArray & GetSListColumnsOrder( );
  296. CIndexContainer & GetSListColumnsUser( );
  297. void SetDiffDays( int nDays );
  298. int GetDiffDays( );
  299. void SetDiffPercentDays( int nDays );
  300. int GetDiffPercentDays( );
  301. void SetScopeDays( int nDays );
  302. int GetScopeDays( );
  303. void SetRatioChangeHandDays( int nDays );
  304. int GetRatioChangeHandDays( );
  305. void SetRatioVolumeDays( int nDays );
  306. int GetRatioVolumeDays( );
  307. void SetRSDays( int nDays );
  308. int GetRSDays( );
  309. void SetYieldAverageDays( int nDays );
  310. int GetYieldAverageDays( );
  311. int GetMaxDaysCalculate( );
  312. void SetCurrentStock( int nStockIndex, BOOL bFromSList );
  313. void SetCurrentStock( const char * szCode, BOOL bFromSList );
  314. BOOL GetCurrentStock( CStockInfo * pInfo );
  315. BOOL GetPrevStock( CStockInfo * pInfo );
  316. BOOL GetNextStock( CStockInfo * pInfo );
  317. // Info View
  318. int GetInfoCurrentServer( );
  319. void SetInfoCurrentServer( int nServer );
  320. // Graph Techs
  321. void GetGraphTechsDefault( CSPDWordArray & anShow );
  322. CSPDWordArray & GetGraphTechsShow( );
  323. CSPDWordArray & GetGraphTechsKLine( );
  324. CSPDWordArray & GetGraphTechsAll( );
  325. BOOL IsGraphTechShow( UINT nTech );
  326. void ToggleGraphViewTech( UINT nTech );
  327. void ShowGraphViewTech( UINT nTech );
  328. int GetGraphKFormat( );
  329. void SetGraphKFormat( int kformat );
  330. int GetGraphMaindataType( );
  331. void SetGraphMaindataType( int maindatatype );
  332. DWORD GetAutoResumeDRBegin( ); // 0 means all, -1 means none, others means time_t
  333. void SetAutoResumeDRBegin( DWORD dateBegin );
  334. // SListView Font And BaseView Font
  335. BOOL IsValidFont( LPLOGFONT pLogFont );
  336. void GetFontSListView( LPLOGFONT pLogFont );
  337. void SetFontSListView( LPLOGFONT pLogFont );
  338. void GetFontBaseView( LPLOGFONT pLogFont );
  339. void SetFontBaseView( LPLOGFONT pLogFont );
  340. CTechParameters & GetTechParameters( );
  341. void AddHTMLURLToExplorer( LPCTSTR lpszURL );
  342. CSPStringArray & GetHTMLURLToExplorer( );
  343. BOOL GetRcvDriverDefault( CSPStringArray & astrProvider, CSPStringArray & astrDriver );
  344. void SetRcvDriverDefault( CSPStringArray & astrProvider, CSPStringArray & astrDriver );
  345. CSPString GetTrader( );
  346. void SetTrader( LPCTSTR lpszFileTrader );
  347. BOOL GetAutoSaveKDataMin( );
  348. void SetAutoSaveKDataMin( BOOL bSave );
  349. BOOL GetNotifyIcon( );
  350. void SetNotifyIcon( BOOL bNotifyIcon );
  351. UINT GetCacheDays( );
  352. void SetCacheDays( UINT nCacheDays );
  353. CAlarmCondContainer & GetAlarmCondContainer( );
  354. int GetLocalDataVersion( );
  355. void SetLocalDataVersion( int nDataVersion );
  356. protected:
  357. DWORD m_dwFileVersion;
  358. CSPString m_strDefaultServer;
  359. CSPStringArray m_astrDownloadServers;
  360. // Proxy (first part), not use now, use CQSProfile's proxy settings
  361. int m_nAccessType;
  362. CSPString m_strProxyAddress;
  363. WORD m_nProxyPort;
  364. CSPString m_strWindowPlacement;
  365. CSPString m_strWorkDirectory; // Not Save in profile
  366. CSPString m_strQianlongPath;
  367. // Color
  368. CColorClassContainer m_ColorClassContainer;
  369. // Last Opened Strategis
  370. CSPStringArray m_astrLastOpenedStrategy;
  371. CSPString m_strLastActiveStrategy;
  372. // Net Info
  373. BOOL m_bNetInfoShow;
  374. CSPString m_strNetInfo;
  375. CSPString m_strNetInfourl;
  376. CSPString m_strLatestver;
  377. // Auto Resume DR limit
  378. int m_nAutoResumeDRLimit;
  379. // SListView
  380. CSPDWordArray m_anSListColumnsShow;
  381. CSPDWordArray m_anSListColumnsOrder;
  382. CIndexContainer m_aSListColumnsUser;
  383. int m_nDiffDays;
  384. int m_nDiffPercentDays;
  385. int m_nScopeDays;
  386. int m_nRatioChangeHandDays;
  387. int m_nRatioVolumeDays;
  388. int m_nRSDays;
  389. int m_nYieldAverageDays;
  390. int m_bCurStockFromSList; // Not Save in profile
  391. // Info View
  392. int m_nInfoCurrentServer;
  393. // GraphView
  394. CSPDWordArray m_anGraphTechsShow;
  395. CSPDWordArray m_anGraphTechsKLine;
  396. CSPDWordArray m_anGraphTechsAll;
  397. int m_nGraphKFormat;
  398. int m_nGraphMaindataType;
  399. DWORD m_dwAutoResumeDRBegin;
  400. // SListView Font And BaseView Font
  401. LOGFONT m_lfSListView;
  402. LOGFONT m_lfBaseView;
  403. CTechParameters m_techparameters;
  404. // HTML URL to Explorer
  405. CSPStringArray m_aHTMLURLToExplorer;
  406. // 缺省启动兼容通视引擎
  407. CSPStringArray m_astrProvider;
  408. CSPStringArray m_astrDriver;
  409. // 缺省交易软件
  410. CSPString m_strTrader;
  411. // 是否自动保存KData Minute数据
  412. BOOL m_bAutoSaveKDataMin;
  413. // Proxy (second part), not use now, use CQSProfile's proxy settings
  414. int m_nProxyType;
  415. CSPString m_strProxyUser;
  416. CSPString m_strProxyPasswd;
  417. // 是否最小化时显示为通知图标
  418. BOOL m_bNotifyIcon;
  419. // K线缓存天数,该设置数据仅在本次运行期间保存,不存盘
  420. UINT m_nCacheDays;
  421. // 预警系统设置
  422. CAlarmCondContainer m_aAlarmCond;
  423. // 本地代码表,板块,基本资料等数据的版本号
  424. int m_nLocalDataVersion;
  425. };
  426. #endif // __STKLIB_PROFILE_H__