行业资讯

trade-frame脚本化交易实战:用Lua驱动MarketTrader策略引擎快速编写交易逻辑

发布时间:2026/8/24 17:53:07
trade-frame脚本化交易实战:用Lua驱动MarketTrader策略引擎快速编写交易逻辑 trade-frame脚本化交易实战用Lua驱动MarketTrader策略引擎快速编写交易逻辑【免费下载链接】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 的量化交易框架其中的 MarketTrader 模块让你用Lua 脚本驱动交易策略引擎实时行情由 DTN IQFeed 推送、订单执行走 Interactive BrokersIB TWS API策略逻辑只需几行 Lua 就能上线还能通过 Telegram 随时收到交易事件提醒。本文将带你快速看懂 MarketTrader 的架构并亲手用 Lua 编写第一个脚本化交易逻辑。为什么用 Lua 写交易脚本对新手来说最大的痛点是改一行策略逻辑就要重新编译 C既慢又容易踩坑。MarketTrader 的思路完全不同——热加载脚本目录下的.lua文件被文件监控器监听修改即重载无需重启程序Sol.cpp低门槛Lua 语法极简几行代码就能定义什么行情事件触发什么动作强绑定C 引擎把行情 Tick、合约管理、Telegram 机器人全部暴露为 Lua 可调用接口LuaMarketTie.cpp也就是说C 负责高性能的数据通道Lua 负责灵活的交易大脑这正是脚本化交易框架的精髓。MarketTrader 策略引擎架构速览MarketTrader 由四条链路组成启动时自动连接AppMarketTrader.cpp组件职责对应模块IQFeed 数据源实时行情Bid/Ask/Tick/成交量DataEngine.cppIB TWS 执行通道真实下单、合约组合ExecEngine.cppLua 脚本引擎策略定义、事件回调Sol.cpp、LuaMarketTie.cppTelegram 机器人事件提醒、命令交互AppMarketTrader.cpp两个数据源都连接成功后引擎才会初始化 Lua 环境并把脚本目录挂进去脚本热更新改完即生效的加载机制Sol类是脚本引擎的核心。它通过 FileNotify.cpp 监听脚本目录对每个.lua文件独立维护一个sol::state即一个独立 Lua 虚拟机。加载流程分为两步Sol.cppAttach执行脚本文件并调用脚本中定义的attach()函数注册回调Detach文件被删除时调用detach()优雅清理资源文件被修改、重命名或移入目录时会自动触发重载/重建你在编辑器里保存一下新策略就生效了。30 行 Lua 写出你的第一个交易逻辑C 侧已经为你准备好了两个接口LuaMarketTie.cpptie:watch(符号名)开始监控某个合约每次成交都会回调你定义的handle_trade(价格, 成交量)telegram_message(文本)直接向你的 Telegram 发送一条消息一个典型的异动监控 提醒脚本骨架大致如下local tie tie.new() tie:watch(ES) -- 监控标普期货连续合约 function handle_trade(price, volume) if volume 500 then telegram_message(ES 大单成交: .. price .. x .. volume) end end function attach() end function detach() tie:watch(ES) end把文件放进MarketTrader/lua/目录引擎发现后自动执行attach()行情一来即可触发提醒。想改成价格突破就下单只需在handle_trade里扩展条件判断——策略逻辑全部留在 Lua 层零编译。Telegram 交易提醒最快的事件通知方式在配置文件MarketTrader/MarketTrader.cfg中填入两项即可启用MarketTrader/README.mdtelegram_token通过 BotFather 申请telegram_chat_id你的聊天 ID启用后脚本里任何时刻调用telegram_message()都能把交易事件推送到手机盘中离开工位也不错过任何信号AppMarketTrader.cpp。编译与上手步骤克隆仓库git clone https://gitcode.com/gh_mirrors/tr/trade-frame安装依赖CMake 3.13、Boost、LuaJIT 2.1、wxWidgets、libcurl见 MarketTrader/CMakeLists.txt用 CMake 构建 MarketTrader 目标确保 IQFeed 与 IB TWS 均可连接后启动在MarketTrader/lua/下编写脚本保存即生效小结从脚本到策略引擎的完整闭环MarketTrader 展示了 trade-frame 脚本化交易的完整形态IQFeed 行情 IB 执行 Lua 策略 Telegram 通知。C 保证性能与稳定性Lua 保证策略迭代速度这正是量化新手从回测想法走向实盘验证的最短路径。后续 README 中也列出了演进方向——基于事件自动生成交易、接入技术指标乃至机器学习你的 Lua 脚本就是这一切的起点。【免费下载链接】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),仅供参考