ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

trade-frame Web交易端实战:基于Wt构建浏览器实时行情监控与下单界面

trade-frame Web交易端实战:基于Wt构建浏览器实时行情监控与下单界面 trade-frame Web交易端实战基于Wt构建浏览器实时行情监控与下单界面【免费下载链接】trade-frameC 17 based library (with sample applications) for testing equities, futures, currencies, etfs options based automated trading ideas using DTN IQFeed real time data feed and Interactive Brokers (IB TWS API) for trade execution. libtorch/lstm/cuda demo. Support for Alpaca Phemex. Notifications via Telegram.项目地址: https://gitcode.com/gh_mirrors/tr/trade-frametrade-frame 是一个基于 C17 的自动化交易框架支持股票、期货、外汇、ETF 与期权策略验证。其中的WebTrader是一个用 Emweb Wtwebtoolkit构建的 Web 交易端示例在浏览器中即可实时监控行情、浏览期权链并一键向 Interactive Brokers 下单。本文带你快速看懂这套浏览器交易终端的运行原理与本地启动方法。Wt 是什么为什么选择它做 Web 交易端Wtwebtoolkit是一个纯 C 的 Web 应用框架最大特点是服务端渲染 会话独立进程每个浏览器会话都运行在独立进程中天然隔离用户状态非常适合需要维持长连接行情的交易场景。WebTrader 的核心代码都集中在 WebTrader/ 目录下结构非常清晰main.cpp程序入口读取配置并启动 Wt 服务器AppManager.cpp注册AppWebTrader作为每个会话的入口函数AppWebTrader.cpp浏览器端界面逻辑登录、监控列表、下单表Server.hpp业务中枢管理行情订阅与订单状态Server_impl.cpp对接 DTN IQFeed 实时数据与 IB TWS API 执行 服务端通过enableUpdates()开启异步数据推送浏览器端不需要轮询刷新行情到来即自动重绘。trade-frame 实时数据引擎驱动的 Bid/Ask 行情监控界面同一数据通道的桌面端视图从行情到下单WebTrader 的 5 个页面状态Server.hpp 中定义了页面的状态机blank → watch_list → select_futures → chain_expiries → strike_selection浏览器打开后按状态自动落到对应页面登录页Page_Login简单的用户名/密码验证凭证来自配置文件监控列表Page_WatchList展示自选标的的 Bid / 最新成交 / Ask随配置自动填充选择标的Page_SelectUnderlying从候选期货与监控股票中挑选期权标的选择到期月Page_SelectChainExpiry加载该标的全部期权到期日下单表Page_TableTrader按行选行权价逐腿配置方向与订单类型统一提交期权链选择界面横向对比各到期月的行权价、报价与希腊值是下单前的核心参考视图实时行情如何做到 1 秒刷到浏览器在 AppWebTrader.cpp 的initialize()中每个会话都会挂一个 1 秒间隔的Wt::WTimerHandleLiveRefresh()触发服务端重新拉取该会话关心的行情WatchRealTime()把 Bid / Trade / Ask 三个价格回调到页面对应的Wt::WLabel上triggerUpdate()通知 Wt 只重绘变化的控件也就是说浏览器里看到的每个数字背后是一条IQFeed 实时行情 → Server_impl → 会话回调 → Wt 异步更新的完整链路延迟以秒计。5 种订单类型从市价到 SCALE 阶梯单Server.hpp 定义了下单支持的订单类型订单类型行为market市价买入/卖出limit_manual手动输入限价limit_ask/limit_bid直接挂 Ask / Bid 价位scaleSCALE 阶梯单起始价、初始数量、加仓数量、价格步进全部可配配置完成后PlaceOrders()批量提交另有CancelAll()撤单与CloseAll()平仓操作覆盖了一篮子期权组合交易如蝶式、跨式价差的日常操作。多腿期权组合的仓位与希腊值监控SCALE 阶梯单下单后每腿的实时 Delta 与盈亏都在这里可见本地启动 WebTrader 的 3 个步骤第一步获取源码git clone https://gitcode.com/gh_mirrors/tr/trade-frame第二步编写配置文件编辑 x64/AppWebTrader/etc/choices.cfg关键项ib_client_id/ib_client_portIB TWS API 实例与端口默认 7496watchGLD、watchSPY等监控列表可重复配置多个标的ui_username/ui_passwordWeb 登录凭证candidate_futureESZ22候选期货合约配置解析逻辑见 Config.cpp基于 boost::program_options 的 config 格式缺项会记录错误日志并拒绝启动。第三步启动服务并访问把 Wt 资源文件复制到 web 目录后cp -r ../libs-build/wt/resources web/运行 init.shAppWebTrader --docrootweb;/favicon.ico,/resources,/style,/image \ --http-address0.0.0.0 --http-port8091 --configetc/wt_config.xml浏览器打开http://localhost:8091即进入监控列表页面。构建与依赖见 WebTrader/CMakeLists.txt链接了wt、wthttp以及TFIQFeed、TFInteractiveBrokers、TFOptions等框架核心库。适合谁来读这份代码想用 C 写 Web 交易终端的开发者Wt 的会话模型 信号槽 定时刷新是一套完整的参考实现做期权组合自动交易的用户Page_TableTrader的多腿配置 SCALE 单逻辑可直接借鉴熟悉桌面端 trade-frame 的老用户同一套行情与执行引擎只是换了个浏览器壳整体代码量不大核心 5 个文件适合作为 Wt 框架 实时交易数据接入的入门示例。【免费下载链接】trade-frameC 17 based library (with sample applications) for testing equities, futures, currencies, etfs options based automated trading ideas using DTN IQFeed real time data feed and Interactive Brokers (IB TWS API) for trade execution. libtorch/lstm/cuda demo. Support for Alpaca Phemex. Notifications via Telegram.项目地址: https://gitcode.com/gh_mirrors/tr/trade-frame创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表