| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #pragma once
- #include <string>
- #include <mutex>
- #include <ScopeGuard.hpp>
- struct order_info
- {
- UINT32 level;
- UINT64 position;
- UINT64 cur_ord;
- UINT64 volume;
- };
- class CPluginInstance
- : public IMTServerPlugin
- , public IMTConPluginSink
- , public IMTOrderSink
- , public IMTDealSink
- {
- public:
- CPluginInstance();
- virtual ~CPluginInstance();
- virtual void Release();
- virtual MTAPIRES Start(IMTServerAPI* server);
- virtual MTAPIRES Stop();
- virtual void OnPluginUpdate(const IMTConPlugin* plugin);
- //virtual void OnOrderAdd(const IMTOrder* order);
- //virtual void OnOrderUpdate(const IMTOrder* order);
- virtual void OnOrderDelete(const IMTOrder* order);
- //virtual void OnOrderClean(const UINT64 login);
- //virtual void OnDealAdd(const IMTDeal* deal);
- //virtual void OnDealUpdate(const IMTDeal* deal);
- //virtual void OnDealDelete(const IMTDeal* deal);
- //virtual void OnDealClean(const UINT64 login);
- virtual void OnDealPerform(const IMTDeal* deal, IMTAccount* account, IMTPosition* position);
- protected:
- virtual MTAPIRES LoadParam();
- private:
- IMTServerAPI* m_api;
- IMTConPlugin* m_config;
- MTServerInfo m_info;
- std::mutex m_lock;
- bool m_enable;
- std::wstring m_groups;
- std::wstring m_logins;
- std::wstring m_redis_server;
- std::wstring m_redis_user;
- std::wstring m_redis_password;
- UINT64 m_trader;
- int m_step;
- int m_tolerance;
- };
|