FIX 4.0 Demo 1.0
Loading...
Searching...
No Matches
fix40::MockMdAdapter Class Reference

模拟行情适配器 More...

#include <mock_md_adapter.hpp>

Inheritance diagram for fix40::MockMdAdapter:
Inheritance graph
Collaboration diagram for fix40::MockMdAdapter:
Collaboration graph

Public Member Functions

 MockMdAdapter (moodycamel::BlockingConcurrentQueue< MarketData > &queue)
 构造模拟行情适配器
 
 ~MockMdAdapter () override
 析构函数
 
 MockMdAdapter (const MockMdAdapter &)=delete
 
MockMdAdapteroperator= (const MockMdAdapter &)=delete
 
bool start () override
 启动适配器
 
void stop () override
 停止适配器
 
bool isRunning () const override
 检查适配器是否正在运行
 
MdAdapterState getState () const override
 获取当前状态
 
bool subscribe (const std::vector< std::string > &instruments) override
 订阅合约行情
 
bool unsubscribe (const std::vector< std::string > &instruments) override
 退订合约行情
 
void setStateCallback (StateCallback callback) override
 设置状态变更回调
 
std::string getName () const override
 获取适配器名称
 
std::string getTradingDay () const override
 获取交易日
 
void setTickInterval (std::chrono::milliseconds interval)
 设置行情生成间隔
 
void setBasePrice (const std::string &instrument, double basePrice)
 设置基准价格
 
void setVolatility (double volatility)
 设置价格波动幅度(百分比)
 
- Public Member Functions inherited from fix40::MdAdapter
virtual ~MdAdapter ()=default
 虚析构函数
 

Additional Inherited Members

- Protected Member Functions inherited from fix40::MdAdapter
 MdAdapter (moodycamel::BlockingConcurrentQueue< MarketData > &queue)
 构造函数
 
void pushMarketData (const MarketData &data)
 将行情数据写入队列
 
void pushMarketData (MarketData &&data)
 将行情数据写入队列(移动语义)
 
- Protected Attributes inherited from fix40::MdAdapter
moodycamel::BlockingConcurrentQueue< MarketData > & marketDataQueue_
 行情数据输出队列
 

Detailed Description

模拟行情适配器

生成模拟行情数据用于测试。特点:

  • 在独立线程中按固定频率生成行情
  • 支持订阅/退订合约
  • 价格在基准价附近随机波动
使用示例
MockMdAdapter adapter(queue);
adapter.setTickInterval(std::chrono::milliseconds(500)); // 500ms 一个 tick
adapter.start();
adapter.subscribe({"IF2401", "IC2401"});
// 消费行情...
adapter.stop();
模拟行情适配器
Definition mock_md_adapter.hpp:44
Definition concurrentqueue.h:768

Constructor & Destructor Documentation

◆ MockMdAdapter() [1/2]

fix40::MockMdAdapter::MockMdAdapter ( moodycamel::BlockingConcurrentQueue< MarketData > &  queue)
explicit

构造模拟行情适配器

Parameters
queue行情数据输出队列

◆ ~MockMdAdapter()

fix40::MockMdAdapter::~MockMdAdapter ( )
override

析构函数

Here is the call graph for this function:

◆ MockMdAdapter() [2/2]

fix40::MockMdAdapter::MockMdAdapter ( const MockMdAdapter )
delete

Member Function Documentation

◆ getName()

std::string fix40::MockMdAdapter::getName ( ) const
inlineoverridevirtual

获取适配器名称

Returns
std::string 适配器名称(如 "CTP", "Mock")

Implements fix40::MdAdapter.

◆ getState()

MdAdapterState fix40::MockMdAdapter::getState ( ) const
inlineoverridevirtual

获取当前状态

Returns
MdAdapterState 当前状态

Implements fix40::MdAdapter.

◆ getTradingDay()

std::string fix40::MockMdAdapter::getTradingDay ( ) const
overridevirtual

获取交易日

Returns
std::string 交易日 (YYYYMMDD),未连接时返回空

Implements fix40::MdAdapter.

◆ isRunning()

bool fix40::MockMdAdapter::isRunning ( ) const
inlineoverridevirtual

检查适配器是否正在运行

Returns
true 正在运行
false 已停止

Implements fix40::MdAdapter.

◆ operator=()

MockMdAdapter & fix40::MockMdAdapter::operator= ( const MockMdAdapter )
delete

◆ setBasePrice()

void fix40::MockMdAdapter::setBasePrice ( const std::string &  instrument,
double  basePrice 
)

设置基准价格

Parameters
instrument合约代码
basePrice基准价格

模拟行情会在基准价格附近波动。 未设置的合约使用默认基准价 5000.0。

◆ setStateCallback()

void fix40::MockMdAdapter::setStateCallback ( StateCallback  callback)
overridevirtual

设置状态变更回调

Parameters
callback回调函数

Implements fix40::MdAdapter.

◆ setTickInterval()

void fix40::MockMdAdapter::setTickInterval ( std::chrono::milliseconds  interval)
inline

设置行情生成间隔

Parameters
interval间隔时间
Note
应在 start() 之前调用,运行时修改行为未定义

◆ setVolatility()

void fix40::MockMdAdapter::setVolatility ( double  volatility)
inline

设置价格波动幅度(百分比)

Parameters
volatility波动幅度,如 0.01 表示 1%
Note
应在 start() 之前调用,运行时修改行为未定义

◆ start()

bool fix40::MockMdAdapter::start ( )
overridevirtual

启动适配器

Returns
true 启动成功
false 启动失败

启动后适配器会尝试连接数据源并登录。 状态变化通过 StateCallback 通知。

Implements fix40::MdAdapter.

◆ stop()

void fix40::MockMdAdapter::stop ( )
overridevirtual

停止适配器

断开与数据源的连接,释放资源。 调用后适配器进入 DISCONNECTED 状态。

Implements fix40::MdAdapter.

Here is the caller graph for this function:

◆ subscribe()

bool fix40::MockMdAdapter::subscribe ( const std::vector< std::string > &  instruments)
overridevirtual

订阅合约行情

Parameters
instruments合约代码列表
Returns
true 订阅请求已发送
false 订阅失败(如未连接)
Note
订阅结果通过 StateCallback 异步通知

Implements fix40::MdAdapter.

◆ unsubscribe()

bool fix40::MockMdAdapter::unsubscribe ( const std::vector< std::string > &  instruments)
overridevirtual

退订合约行情

Parameters
instruments合约代码列表
Returns
true 退订请求已发送
false 退订失败

Implements fix40::MdAdapter.


The documentation for this class was generated from the following files: