赚够了就跑,合约网格交易基础教程图文版

in #quantitative5 years ago

币圈没有新鲜事,大家好,我是区块链的小学生,欢迎关注我,每天分享我对币圈的理解。

最近在群里交流的时候,发现了 2 个问题,一个是视频教程的语速被调地过快,我原本考虑的是很多小伙伴看视频都会加速播放,索性我提前帮大家处理了,然而现实是过快导致跟不上节奏,所以后期的视频,语速会稍微调整,但正常播放不会有跟不上的情况。

第二个问题是能不能出文字版,确实视频版不能随时查看。这一点,我想以后教程出来的时候,配合文字版一起发布吧。

Photo by Mitchell Orr on Unsplash

今天我整了下单个网格合约的教程的图文版分享给大家,希望能用得上。很多的操作都是点到为止,细节和遇到的错误可以在视频里查看。

第一步,安装应用

分别从官网下载 Pycharm (后面简称PY),Anaconda 这两个软件,百度,谷歌都可以搜到,百度注意有官网字样才是哦。安装流程,先安装 Anaconda,再安装 PY,PY 的版本可以选社区版,不用激活带来的麻烦,一般使用没问题。

安装后,打开 PY ,新建项目,然后配置里加入 Anaconda 即可。

第二步,导入 SDK

前往 Github 官网,搜索 OKEX,找到 Python 的 SDK,下载解压后导入到 PY 里。

然后双击打开 example.py 文件,进行修改测试。

第三步,申请 API Key 和 Secret

申请的同时会让你输入一个 Passphase ,当你拿到这 3 串字符的时候,填入到 example.py 文件里,如下:

我用的是交割合约的接口,所以,填写完后,将查询比特币价格的代码解开注释。去掉 # 号,然后将代码的缩进对齐就可以了,如下:

可以看到,console 里有输出币价相关信息,说明没问题。这里注意一下,我在最新的视频里也有讲到,由于国内无法正常访问 OKEX 官网,需要将 API 请求的网址进行修改,文件为 consts.py 里将:API_URL 里的 .com 网址修改为 .me 的即可。

第四步,分析单个网格交易逻辑,写代码测试

这一部分很重要,逻辑梳理好,后面就是写代码的环节了。这里主要以第三期的视频为主了。

逻辑部分很简单,设置买入多单,监控多单,多单成交后设置平多的订单,监控平多的订单,成交后再设置多单。这样一个循环监控 + 下单的流程,梳理下来还是比较容易的。

那我们就要分步骤去实现里面的功能。

先实现下单。SDK 里很方便,已经给我们写好了实现接口,我们只需要调用,填入参数就可以快速下单了。

下单操作,如下:

这里打印了下单的执行语句,因为下单后会返回订单的信息,其中包括了订单号。能拿到这段信息,就可以提取里面的订单号。通过我设置的变量,对应的方式就是: takeorders['order_info'][0]['order_id'],打印出来就会是对应的 ID 了。

监控订单详情,如下:

我这里将订单 ID 单独拿一个变量来接收,再传入查询订单的语句中。打印查询订单的语句后,可以看到这条订单的详细信息。

其中对我们这次操作来说,最重要的是获取,订单状态,订单类型这两个值,分别可以通过 checkorder['type'],checkorder['state'] 来获取到。有了这两个值,我们就可以在后续的条件判断上做对应的处理了。

准备好以上的信息后,我们进入重点部分。

开始写逻辑。

先实现简单的成交后设置卖单。

逻辑为:下单后,先监控订单状态,如果订单状态为成交,则设置一个卖单。

由于视频里是初期测试,这一步并没有做实盘买入,而是先将订单状态的判断条件,从 2 为完成成交修改为 -1 ,既已撤销。这么做可以在订单查询的过程中,手动撤单,将订单状态修改为 -1 ,判断后面的语句是否被执行到,如果能做到撤单后继续下新的订单,则验证成功,后续只需要将订单状态,下单类型进行修改就可以。 具体如下:

注意,代码这里已经是后期的代码了,所以订单状态修改为 2 了,以及这是在 while 循环里,最后有一个重新获取订单 ID 的语句,具体原因在视频里有讲解到。关于代码简化的部分,不放在本次课程里讲解。

能实现单个订单成交后下单,我们就可以进一步实现区分订单状态和类型的判断了。

逻辑部分:

1、如果是多单成交,则设置平多的订单。如果是平多的订单成交,则设置开多的订单。

2、价格的定义,开多的订单可以为盘口价,也可以为盘口价减去一定的金额,自行定义就可以了。平多的订单,需要在开多的价格上进行增加金额。具体可以用 OKEX 里的计算器计算。

实现部分:

到这里,已经可以实现最简单的(外面有一层 while 循环没有截到),单个网格自动成交后下单的操作了,代码部分展示不完全,并且有点冗余,高手看到还请理解,这块我们后期再优化了。

其实整体下来还是挺容易的,可能对于新手来说,面对这么一堆的代码会有压力。而其实,这套 OKEX 的 SDK 里,真正我自己写的部分只有定义了变量和 While,if 的语句,并没有其他的东西在里面。所以上手会比较容易,也因此我会拿出来做成视频,让新手去尝试。一般暂停视频,照着程序写,再逐句去理解就可以实现了。可能唯一会遇到的是语法问题和一些小的错误,这种情况下,一般都能在网上找到解答的。

希望这一期的视频对大家是有帮助的。如果你想在现货上,杠杆交易或者永续合约上使用,方法是一样的,只是接口的名字变一下。把我删掉的内容再贴回来就可以了。我觉得这种换汤不换药的操作,没有什么难度。

此外,任何的操作请注意安全,特别是合约,这是一个高风险的东西。也正如我课程前讲到的,本课程不保证你会赚钱,可能还会让你亏欠,所以,币市有风险,入市需谨慎。

以下是视频,如果你观看不了,可以去 B 站搜索「叫我旁白君」

好了,如果你有关于网格交易的问题,可以留言,我看到了都会回复的,如果想进一步交流,可以联系我。

以上的分享纯属我个人的看法,不构成投资建议,投资有风险,入市需谨慎。如果你认可我的观点,欢迎点赞,留言,转发。如果想进一步讨论,可以在下方留言,我会回复每一条内容。

公众号:「区块链的小学生」

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 66367.17
ETH 3007.58
USDT 1.00
SBD 3.71