11 数字货币交易系统python实践 代少飞
数字货币交易系统 Python实践 代少飞 目录 CONTENTS 常见问题 数据库锁问题 任务调度框架 监控 单击此处添加标题 1 常见问题 队列数据丢失 队列挂掉 负数资产 冲钱一次,转两倍资产 用户资产 用户发现自己资产为负数 负数资产 充一次转双倍 队列数据丢失 队列挂掉 RabbitMQ 撮合或者清算队列数据丢失 订单摆上去,能交易 可动态调整(添加,修改,删除)任务 • 远程调用支持RPyC(一个用作远程过程调用,同时也可以用作分 布式计算的Python模块),少量代码,轻松远程调用 APscheduler+twisted 4 监控 交易系统一行代码写错,可能损失好几百万 监控 • 首先每一笔资金变动都得有变动前后的值和原因 • 挂单精度是否正确 • 一个账户,一个币种,不算手续费,初略盘点 • 利用订单客观数据(挂单价格,数量,手续费),复现交易,与交0 码力 | 21 页 | 1.77 MB | 1 年前3python3学习手册
也可直接使用with去打开文件,就不用手动关闭文件了 with open('test.txt', 'r') as fileobj: # to do ★打开文件时指定字符集编码 打开文本文件时默认使用系统本地语言的编码,最好给open()函数传入 encoding参数 例如,读取GBK编码的文件:(操作文本文件一定要指定编码) fileobj = open('gbk.txt', 'r', encoding='gbk') euc-jp 日语 shi�-jis 日语 euc-kr 韩语 big5 中文-台湾 la�n-1 iso-8859-1 ★文本文件读写操作 .write()方法写入文件,打开文件默认是跟随系统本地语言编码,写入 文件也是,得在打开文件时指定文本编码;写入内容时,默认末尾不 带换行符,可自己加\n # coding=utf-8 with open("test.txt","w+",encoding="utf8") long long long int 8 f float float 4 d double float 8 ? _Bool bool 1 format指定原始数据的字节序: 字节序默认跟随系统,x86_64为小端字节序 符号 byte order 字节对齐方式 @ na�ve 凑够4个字节 = na�ve 按原字节数 < li�le-endian 按原字节数,小端字节序 > big-endian0 码力 | 213 页 | 3.53 MB | 1 年前3WeRoBot 1.4.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 82 页 | 88.39 KB | 1 年前3WeRoBot 1.6.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 85 页 | 89.26 KB | 1 年前3WeRoBot 1.5.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 83 页 | 88.85 KB | 1 年前3WeRoBot 1.6.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 94 页 | 74.98 KB | 1 年前3WeRoBot 1.4.1 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 82 页 | 88.42 KB | 1 年前3WeRoBot 1.8.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 96 页 | 75.79 KB | 1 年前3WeRoBot 1.7.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 94 页 | 75.38 KB | 1 年前3WeRoBot 1.9.0 微信公众号开发框架文档
创建自定义菜单 消息加解密 部署 在独立服务器上部署 在SAE上部署 Handler 类型过滤 robot.key_click —— 回应自定义菜单 robot.filter —— 回应有指定文本的消息 Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 Session 数据。 详情请参考 Session 文档 创建自定义菜单 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。 werobot.client.Client 封装了微信的部分 API 接口,我们可以使用 werobot.client.Client.create_menu() 来创建自定义菜单。 在使用 Client 之 前, 我们需要先提供微信公众平台内的 AppID 我们就可以创建自定义菜单了 client.create_menu({ "button":[{ "type": "click", "name": "今日歌曲", "key": "music" }] }) 注意以上代码只需要运行一次就可以了。在创建完自定义菜单之后, 我们还 需要写一个 Handler 来响应菜单的点击操作 @robot0 码力 | 99 页 | 76.68 KB | 1 年前3
共 148 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15