38#include <unordered_map>
45struct SimulationAppTestAccess;
277 void initializeManagers();
297 void handleFill(
const std::string& accountId,
const ExecutionReport& report);
307 void handleReject(
const std::string& accountId,
const ExecutionReport& report);
317 void handleCancel(
const std::string& accountId,
const ExecutionReport& report);
327 std::string extractAccountId(
const SessionID& sessionID)
const;
340 void handleNewOrderSingle(
const FixMessage& msg,
const SessionID& sessionID,
const std::string& userId);
349 void handleOrderCancelRequest(
const FixMessage& msg,
const SessionID& sessionID,
const std::string& userId);
360 void handleBalanceQuery(
const FixMessage& msg,
const SessionID& sessionID,
const std::string& userId);
371 void handlePositionQuery(
const FixMessage& msg,
const SessionID& sessionID,
const std::string& userId);
395 void handleOrderHistoryQuery(
const FixMessage& msg,
const SessionID& sessionID,
const std::string& userId);
406 void sendBusinessReject(
const SessionID& sessionID,
const std::string& refMsgType,
const std::string& reason);
421 void onMarketDataUpdate(
const std::string& instrumentId,
double lastPrice);
431 void pushAccountUpdate(
const std::string& userId,
int reason = 1);
442 void pushPositionUpdate(
const std::string& userId,
const std::string& instrumentId,
int reason = 1);
450 std::optional<SessionID> findSessionByUserId(
const std::string& userId)
const;
467 std::unordered_map<std::string, std::string> orderAccountMap_;
470 std::unordered_map<std::string, OrderMarginInfo> orderMarginInfoMap_;
473 mutable std::mutex mapMutex_;
账户管理器
Definition account_manager.hpp:56
FIX 应用层抽象接口
Definition application.hpp:116
FIX 消息的面向对象封装
Definition fix_codec.hpp:46
存储接口
Definition store.hpp:61
合约信息管理器
Definition instrument_manager.hpp:47
行情驱动撮合引擎
Definition matching_engine.hpp:83
持仓管理器
Definition position_manager.hpp:56
风险控制模块
Definition risk_manager.hpp:154
FIX 会话管理器
Definition session_manager.hpp:62
模拟交易应用层
Definition simulation_app.hpp:87
MatchingEngine & getMatchingEngine()
获取撮合引擎
Definition simulation_app.hpp:246
RiskManager & getRiskManager()
获取风控管理器
Definition simulation_app.hpp:240
~SimulationApp() override
析构函数
Definition simulation_app.cpp:209
PositionManager & getPositionManager()
获取持仓管理器
Definition simulation_app.hpp:228
SimulationApp()
默认构造函数(不带持久化)
Definition simulation_app.cpp:179
void onLogon(const SessionID &sessionID) override
会话登录成功回调
Definition simulation_app.cpp:221
AccountManager & getAccountManager()
获取账户管理器
Definition simulation_app.hpp:222
void toApp(FixMessage &msg, const SessionID &sessionID) override
发送业务消息前回调
Definition simulation_app.cpp:297
friend struct SimulationAppTestAccess
单元测试访问器
Definition simulation_app.hpp:270
void onLogout(const SessionID &sessionID) override
会话登出回调
Definition simulation_app.cpp:244
IStore * getStore() const override
获取存储接口
Definition simulation_app.hpp:212
SessionManager & getSessionManager()
获取会话管理器
Definition simulation_app.hpp:204
InstrumentManager & getInstrumentManager()
获取合约管理器
Definition simulation_app.hpp:234
void start()
启动撮合引擎
Definition simulation_app.cpp:213
void fromApp(const FixMessage &msg, const SessionID &sessionID) override
收到业务消息回调
Definition simulation_app.cpp:249
Account getOrCreateAccount(const std::string &accountId, double initialBalance=1000000.0)
创建或获取账户
Definition simulation_app.cpp:547
void stop()
停止撮合引擎
Definition simulation_app.cpp:217
Definition matching_engine.hpp:23
虚拟交易账户
Definition account.hpp:44
执行报告
Definition order.hpp:195
FIX 会话标识符
Definition application.hpp:28
订单保证金信息
Definition simulation_app.hpp:96
double releasedMargin
已释放的保证金(累计)
Definition simulation_app.hpp:99
OrderMarginInfo()
Definition simulation_app.hpp:101
double getRemainingFrozen() const
获取剩余未释放的冻结保证金
Definition simulation_app.hpp:120
OrderMarginInfo(double frozen, int64_t qty)
Definition simulation_app.hpp:106
double originalFrozenMargin
原始总冻结保证金
Definition simulation_app.hpp:97
double calculateReleaseAmount(int64_t fillQty)
计算本次成交应释放的冻结保证金
Definition simulation_app.hpp:112
int64_t originalOrderQty
原始订单总数量
Definition simulation_app.hpp:98