# mytrader **Repository Path**: 7thTool/mytrader ## Basic Information - **Project Name**: mytrader - **Description**: 支持实盘/仿真/回测的股票期货金融软件+支持C/C++/Python/Excel/VBA/麦语言的量化分析交易平台; 采用内存DB+多线程/多进程无锁化技术+全市场实时数据推送+K线图表分析+算法引擎+插件化设计支持全面定制和单机/客户端/服务器/托管部署运行。 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://mytrader.org.cn - **GVP Project**: No ## Statistics - **Stars**: 309 - **Forks**: 147 - **Created**: 2021-05-13 - **Last Updated**: 2026-05-31 ## Categories & Tags **Categories**: stocks **Tags**: None ## README # mytrader ### 介绍 欢迎使用`mytrader`开放平台,我们致力于为量化交易、算法交易、程序化交易以及技术分析爱好者打造最极致的行情分析交易平台。 `mytrader`顾名思义就是打造一套属于自己的专属交易系统,在这里您将学到如何基于`MyDB`技术构建您想要的行情分析或是量化交易系统。 `mytrader`官网:[www.mytrader.org.cn](http://www.mytrader.org.cn/),您可以在官网体验我们支持的产品服务 [联系我们](./book/zh-cn/contact.md) ### 教程指引 0. [序言](./book/zh-cn/00.md) 1. [MyDB技术架构](./book/zh-cn/01.md) 2. [MyDB应用开发演示](./book/zh-cn/02.md) 3. [mytrader技术方案](./book/zh-cn/03.md) # 系统设计 系统设计的核心诉求是在精准满足业务需求的基础上,兼顾系统稳定性、可扩展性与开发效率。这里我们为mytrader用户提供以下核心建议,助力打造高效、可靠的交易系统: ### 一、核心设计原则:服务分离,兼顾性能与效率 采用“主核心服务与业务服务分离”的架构设计,核心优势在于实现风险隔离——即便业务服务出现崩溃、异常等问题,主核心服务仍能保持稳定运行,避免系统整体瘫痪,保障交易业务的连续性。 在开发语言选型上,兼顾性能与开发效率,实现最优搭配: 1. 主核心服务:采用C/C++语言开发,打造稳定的高性能、低延迟服务; 2. 业务服务:灵活采用C/C++/Python/Java等开发语言,快速落地各类业务需求,降低开发成本与周期。 ### 二、核心痛点解决:MyDB内存数据库,打破数据共享瓶颈 主核心服务与业务服务分离后,**跨系统数据共享**成为核心痛点。传统解决方案依赖MySQL、Redis等数据库存储数据,通过网络协议传输数据,在数据量大、计算密集的真实场景中,极易出现数据传输慢、延迟高的问题。 而mytrader方案搭载的MyDB内存数据库,可从根源上解决这一痛点,其核心优势如下: 1. 无数据传输损耗:主核心服务与业务服务共享同一份MyDB内存数据库,无需在服务间进行任何数据传输,无论数据量多大,均能避免传输慢、延迟高的问题,同时节省内存占用,提升系统资源利用率; 2. 极致性能体验:支持多线程、多进程间零拷贝直接访问MyDB内存数据库,访问性能几乎与直接操作物理内存持平,可支撑构建极致性能的实时系统服务; 3. 多语言灵活适配:兼容C/C++/Python/Java等多种主流开发语言,无需更换技术栈,即可让开发人员用最熟悉的语言接入MyDB内存数据库,降低开发门槛,提升协作效率。 ### 三、最终实施方案:基于MyDB内存数据库的全流程架构 结合上述设计原则与技术优势,我们的最终实施方案清晰明确,兼顾性能、效率与稳定性: 1. 数据层:所有服务统一基于mytrader的MyDB内存数据库共享数据,打破数据传输壁垒,保障数据一致性与访问高效性; 2. 主核心层:采用C/C++开发主核心服务,筑牢系统性能根基,保障核心系统稳定、快速运行; 3. 高性能业务层:对性能要求较高的业务服务,采用C/C++开发,与主核心服务性能匹配,避免性能瓶颈; 4. 通用业务层:其他常规业务服务,采用Python/Java等语言开发,快速落地业务需求,平衡开发效率与系统性能。 ### 四、系统部署 遵循以下步骤,即可快速完成系统部署,流程简洁、可操作性强: 1. 部署C/C++主核心服务 2. 部署C/C++业务服务 3. 部署Python/Java等其他语言开发的业务服务,完成系统整体部署。 ### 五、系统演示 用户感兴趣的话可以在Windows下按如下步骤部署一套主核心服务和业务服务分离的系统: 1. 进入`mytrader/Windows/RelWithDebInfo`目录; 2. 部署主核心服务,管理核心数据(这里演示的是管理股票行情数据),使用: `hft.exe -c main.json -d 20250901`; ![](./assets/main.gif) 3. 部署业务服务,直接访问MyDB内存数据库(这里演示的是对外提供行情主站服务):执行命令 `mykserver -c web.json`; ![](./assets/web.gif) 4. 打开浏览器访问行情主站:`http://127.0.0.1:10808`。 ![](./assets/web.png) > 若您希望打造一套性能与开发效率双优、稳定性与扩展性兼具的系统,请[联系我们](./book/zh-cn/contact.md)