【开源】第三期:数字货币程序化交易终端开源

news/2024/10/16 19:18:00

8f2031b7be213a9f7f5971c6658be574.jpeg

关于初衷:

    这篇文章,其实应该在六年前发出来,但是受制于各种杂事和生活琐事,一直拖到现在,想必有朋友看到在"终端"那期里,聊到的数字货币交易的实践,那个时候遍地都是数字货币交易所,好几个做交易系统的朋友直接到了数字货币交易,还有几个新加坡开赌场的老手,玩起了币的二元期权做市商,干起了控盘的"事业",是的,参与了这项"计划",但是最后受制于网络时延的问题,控的并不精准,控制在一定的频率上是可行的,但并不稳定,最终还是因为流动性的原因放弃了。

    六年前我们几个朋友试图通过不同交易所的套利行动,和凭借高波动性的日内短线,希望可以使用全自动化策略展开一些实践。

    以最快的速度,差不多三周时间,把所有程序化交易需要的元素,全部构建完毕了。是的,可以说比较快了,三周时间,从晚上七点到十二点,加周末的时间完成。终端我来弄,算法部分另外一位朋友做。

关于开源:

    首先我不得不说开源并不是我"无私",也不是为了显得我有多无私,而是因为经过那一番实践之后,Crypto的潮水退却,你突然会发现手里的东西居然开始毫无价值,一本书没有人读,还可以拿来盖泡面,也可以拿来踮电脑,但是一份终端,一个工具的代码没有人使用,那就会直接消失在数字的世界,合上电脑,停了电,他就会显得好像从未来过,曾经的0和1重新重置,一切都没有烙上任何烙印,也不曾走近任何人心里,影响过任何一个人,和哪怕任何一个人发生过一点点的链接,"和世界链接",可能是我做这件事,写这些文章的目的之一,在这个世界另外一个角落,或许有一位朋友也和我想的一样,开放和分享,将可以和更多朋友链接,彼此知道,也许一起在某个时刻想起他做过的事情,然后一起做了另外一件更有那么一点点酷的事情,喜欢和伙伴携手同行的感觉,远甚于踽踽独行,仅此而已。

    另外,我不得不说我朋友担心的事情是对的,那就是曾今和任何其他个人,组织共同构建的任何期货,股票,数字货币,外盘交易等工具,终端,系统的源代码,绝不会出现在开源的计划里,它只会永远消失在0和1的世界,我们也绝不会为基础利益做违背基本商业诚信和道德的事情,所有开源的工具,系统,终端的每一行Code,皆是来自于基础开源协议背书以及自行书写的组件,也和任何一家商业公司不存在挂钩,更不存在任何道德和法律上的纠纷。最终解释权归本公众号所有。

    目前仅开放数字货币V1.0.0的源代码供大家自行下载浏览,改版,甚至基于源代码进行个性化的二次开发,作为自己的期货/股票/数字货币交易终端也是可以的。

 Global-Trader V2.0.0因为全面改版,支持全市场多衍生品数据源通道API,支持全市场多交易通道API,投研模块等等大型功能升级,暂未做好开源计划。

    如果有疑问,可以私信咨询,但是因为时间关系,可能并没有那么多精力逐个回复,所以,建议还是有一些计算机,数学和金融数字货币业务方面的基础知识再看相关的Code和文件。

关于功能:

策略程序化交易的元素V1.0.0:

0f922e95435d38e5b8f198fd917a0dd8.jpeg

【1】行情端:

实时行情获取,清洗,分类,转发;

实时K线数据合成;

历史K线合成,获取;

指标计算;(全量)

K线图;(V2.0.0使用GDI做了全面的优化)

GDI画线委托与持仓展示;

    --(和文华一样可以在图表画线下单,对半自动手工交易员来说可以说是非常方便)

行情入库与广播;(入库暂未实现)

【2】策略模块:

策略脚本编译器/编辑器;

策略抽象封装-->策略实现;

部分算法拆单;

部分半自动控单脚本(移动止盈,止损,半自动跟踪);

策略加载与多图表并行;

【3】交易模块:

委托/成交/持仓/资金计算与展示;

下单交易面板;

【4】绩效评估模块:

各类评估参数计算与展示;

各类基础数据查询;

【5】模拟与实盘模式:

    因为我这边对行情和交易的接口做了一轮全面的抽象,所以可以轻松的实现在本地的行情和交易的仿真,仿真可以自己定义仿真规则,比较方便的在模拟和实盘之间切换。

【6】UI界面:

    因为不是专业的美工与设计出身,所以在UI上,只能说尽了我当时最大的审美心得,当然也借鉴了一些大众审美和客户端的审美,美谈不上,但是,够用和稳定在我看来,对于金融交易来说是最实在最需要关注的点,美是一个锦上添花的小红花,但不能形式大于内容。

    UIV1.0.0采用了WF,但后来发现其实使用teric可以做的更加酷炫,Qt的渲染就更甚了,我只能说对美的追求没有终点,欢迎最强的吐槽随时来袭。

【7】.......

    当然还有各类大大小小的非直接和交易相关的内容,也在源代码里,也有几个大的CommonTools因为元工程太大,所以只放了dll直接引用了,包含的自定义的类很多,对工具类组件源代码感兴趣的朋友,也可以找到我,一起分享。

Github地址(pri转为pub):

Github : https://github.com/handayu/AI-Trader/tree/master/AITrader


历史量化交易课程资料(扫描二维码):


http://www.niftyadmin.cn/n/5708410.html

相关文章

如何查看GB28181流媒体平台LiveGBS对GB28181视频数据的统计信息

LiveGBS流媒体平台GB/T28181常见问题-如何快速查看推流上来的摄像头并停止摄像头推流? 1、负载信息2、负载信息说明3、会话列表查看3.1、会话列表 4、停止会话5、搭建GB28181视频直播平台 1、负载信息 实时展示直播、回放、播放、录像、H265、级联等使用数目 2、负…

00 springboot项目创建

我们创建SpringBoot项目有两种方式: Spring Initializr spring initerzie 方式创建: 启动类, 依赖 生成,但是需要网络maven的方式 maven方式创建: 启动类, 依赖, 这些都需要手动编写,但是不需要网络 springboot系列,最近持续更新中,如需要请关注 如果…

网络安全 IP地址防泄漏指南

IP地址作为每个上网人的“门牌标识号”,如果产生泄露,可能会导致个人行踪曝光、数据被窃取甚至遭受网络攻击,要防止IP地址不被窃取,我们可以尝试以下方法: 利用专用网络加强隐私保护 通过加密在公共网络上创建一条安全…

Springboot 整合 Java DL4J 实现农产品质量检测系统

🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,…

SpringBoot日常:封装redission starter组件

文章目录 逻辑实现POM.xmlRedissionConfigRedissionPropertiesRedissionUtilsspring.factories 功能测试application.yml配置POM.xmlTestController运行测试 本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并…

FFmpeg的简单使用【Windows】--- 指定视频的时长

目录 功能描述 效果展示 代码实现 前端代码 后端代码 routers 》users.js routers 》 index.js app.js 功能描述 此案例是在上一个案例【FFmpeg的简单使用【Windows】--- 视频混剪添加背景音乐-CSDN博客】的基础上的进一步完善,可以先去看上一个案例然后再…

iOS GCD的基本使用

一:什么是GCD GCD的全程是:Grand Central Dispatch, 直白的用汉语翻译就是:厉害的中枢调度器. GCD 是iOS 的多线程技术的实现方案,但是它并不是多线程技术,它是“并发解决技术”,是苹果公司研发的,会自动管理线程(这一段定义有点拗口,简单了解就行) GCD会自动管理线程的生命…

精准管理知识资产:十大内部知识库工具全解析

在当今竞争激烈的市场环境中,知识资产已成为企业核心竞争力的重要组成部分。为了更好地管理和利用这些宝贵的知识资源,选择合适的内部知识库工具至关重要。本文将为您介绍十款高效、实用的内部知识库工具,帮助您实现知识资产的精准管理。 1.…