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

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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/891844.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git gui基本使用

一、图形化界面 二、创建新项目 创建文件,加入暂存区,提交到版本库 三、创建分支 四、合并分支 1.切换至master 五、更新分支 六、解决冲突 修改冲突,加入暂存区,提交到版本库 七、远程创建库 Gitee - 基于 Git 的代码托管和研…

储能硬件实物图

B 薄膜电容 薄膜电容 D 杜邦线 杜邦线 G 固态电容 固态电容 I IGBT iGBT S 散热片 散热片 Y 压敏电阻 压敏电阻 液冷板 液冷板

瑞萨IDE:CS+ for CC编译过程中执行脚本文件

最近发现使用CS for CC IDE发现一个很有意思的功能。编译工程过程中,IDE自动执行Python脚本和批处理脚本,极大地提高开发效率。 编写好脚本文件后,在IDE中选择CC-RH(Build Tool)->Common Options->Others。 Co…

SQL进阶技巧:如何找出开会时间有重叠的会议室?| 时间区间重叠问题

目录 0 场景描述 1 数据准备 2 问题分析 方法1:利用 lateral view posexplode()函数将表展开成时间明细表 方法2:利用数学区间讨论思想求解 3 小结 如果觉得本文对你有帮助,想进一步学习SQL语言这门艺术的,那么不妨也可以选…

arm架构ceph pacific部署

背景 合作伙伴实验室的华为私有云原来使用单点的nfs做为存储设备,现有两方面考量,业务需要使用oss了,k8s集群及其他机器也需要一套可扩展的分布式文件系统 部署ceph 初始机器配置规划 IP配置主机名Role10.17.3.144c8g1T数据盘ceph-node01…

Apache Seatunnel Zeta引擎-启动脚本分析

Apache SeaTunnel Zeta引擎的集群模式启动的第一步是执行bin/seatunnel-cluster.sh脚本,所以先来学习下这个脚本。 脚本执行流程分析 脚本简要注释 #!/bin/bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license a…

Java项目:154 基于ssm旅游信息网站(含论文+ppt)

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 使用旅游信息网站的分为管理员和用户两个角色的权限子模块。 管理员所能使用的功能主要有:个人中心、用户管理、旅游景点管理、交…

双指齐下:那晚我与算法的不解之缘

公主请阅 1.快乐数1.1题目说明示例 1示例 2 1.3题目分析1.4代码部分1.5代码解析 2.复写02.1题目说明示例 1示例 2 2.2题目分析2.3代码部分2.4代码解析 1.快乐数 题目传送门 1.1题目说明 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为: 对于一个正…

探索 Blob 对象的应用场景和实例分析

一. 引言 当我们在开发 Web 应用程序时,常常会遇到需要处理二进制数据的情况。这时,Blob(Binary Large Object)对象就成为了一个非常有用的工具。Blob 对象可以用来表示一段二进制数据,它可以存储和操作各种类型的数据…

FPAG学习(5)-三种方法实现LED流水灯

目录 1.移位实现LED流水灯 1.1创建工程及源文件代码 1.1.1源代码 1.1.2仿真代码 1.1.3仿真 1.2实验结果 1.2.1总结 2.循环移位实现LED流水灯 3.38译码器实现LED流水灯 3.1原理 3.2源程序 1.移位实现LED流水灯 1.1创建工程及源文件代码 1.1.1源代码 利用计数器计数到…

Python网络爬虫从入门到实战

目录 引言 一、网络爬虫的概念 二、 网络爬虫的基本工作流程 (一)过程: (二)安装requests模块和beautifulsoup4模块 (三)requests库的使用 1、requests库的基本介绍 2、导入requests库的…

IO作业代码

问题 通过 fwrite和 fread去拷贝 文件到另外一个文件上 #include<myhead.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include<errno.h> #include<time.h> int main(int argc, const char *argv[]) { FILE *fp fo…

新款任天堂switch游戏机方案,支持4K60HZ投屏方案,显示器,手柄方案

据传任天堂将推出新的一代的switch掌机&#xff0c;而新款掌机将支持4K60HZ投屏 都2402年了再做1080P确实有点不太象话了 4K60HZ相较于1080P能够提升很多游戏体验&#xff0c;这时不管是HDMI显示器或者是VR眼睛清晰度都会让人舒服很多。 不过新一代的任天堂似乎也在PD协议上…

答题pk小程序的技术特点和性能优势分析

答题小程序是一种在移动设备上运行的应用程序&#xff0c;旨在提供各种类型的答题体验。以下是答题小程序的一些特点和优势&#xff1a; 一、特点 多样化的题目类型&#xff1a; 包括选择题、填空题、判断题等常见题型&#xff0c;还可能有简答题、论述题等更具挑战性的题型。…

qt+opengl 实现纹理贴图,平移旋转,绘制三角形,方形

1 首先qt 已经封装了opengl&#xff0c;那么我们就可以直接用了&#xff0c;这里面有三个函数需要继承 virtual void initializeGL() override; virtual void resizeGL(int w,int h) override; virtual void paintGL() override; 这三个函数是实现opengl的重要函数。 2 我们…

arp欺骗及其实验

ARP欺骗&#xff08;ARP Spoofing&#xff09;是一种网络攻击技术&#xff0c;攻击者通过伪造ARP&#xff08;地址解析协议&#xff09;消息&#xff0c;将其MAC地址与目标IP地址关联&#xff0c;从而实现对网络流量的截获、篡改或重定向。以下是ARP欺骗的详细信息&#xff1a;…

【JVM】—Java内存区域详解

Java内存区域详解 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 文章目录 Java内存区域详解1 线程私有1…

Linux系统:Ubuntu上安装Chrome浏览器

Ubuntu系统版本&#xff1a;23.04 在Ubuntu系统上安装Google Chrome浏览器&#xff0c;可以通过以下步骤进行&#xff1a; 终端输入以下命令&#xff0c;先更新软件源&#xff1a; sudo apt update 或 sudo apt upgrade终端输入以下命令&#xff0c;下载最新的Google Chrome .…

瑞芯微RK3566/RK3568 Android11使用OTA升级固件方法,深圳触觉智能鸿蒙开发板演示,备战第九届华为ICT大赛

本文介绍瑞芯微RK3566/RK3568在Android11系统OTA升级固件方法&#xff0c;使用触觉智能的Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566&#xff0c;Laval官方社区主荐&#xff01; 1、OTA包生成 在源码根目录上执行以下命令编译OTA包 # make installclean # …

Docker实践与应用举例

目录 1. 引言 2. Docker的基本概念 2.1 什么是Docker容器 2.2 Docker镜像 2.3 Docker架构 3. Docker的应用场景 3.1 开发与测试环境的隔离 3.2 持续集成与持续交付&#xff08;CI/CD&#xff09; 3.3 微服务架构 4. Docker的实践案例 4.1 部署Nginx反向代理 4.2 使用…