首先要强调的是,加密货币市场具有高风险性,本文只提供搭建的操作方法及其步骤,不提供任何风险担保。
经常看到一些分析师的文章,说“主力的砸盘进一步带动了机器人的交易”,我就比较好奇,机器人有这么多嘛?在币安那么多的小韭菜里面,个人认为程序员的比重是很低的。
某天,我突然对“搬砖套利”来了兴趣,结果误打误撞找到了Gekko这个项目。经过我锲而不舍的折腾,总算也是在服务器上搭了Gekko了。
按照官方文档的说法,你只要这么几步就能在你的服务器上搭建Gekko哦:
- 安装node.js
- 安装Git
- 下载Gekko
- 安装Gekko
这其实和“把大象装进冰箱 ” 没有啥区别……
好在官方也提供了详细的教程,这里我就说一下我遇到的一些坑:
在正式开始之前,先说明一下本机的系统为CentOS6.9 Final,面板为Appnode,测试的另一台服务器系统为Ubuntu 19.04,均在Vultr上运行。
1.安装Node.js
首先呢,由于Centos6带的Pyhton版本太低,在安装Node.js(10.0.15)的时候,频繁提示错误,而本人水平有限,在找了许许多多的资料以后发现基本无解,只能想到了“降级安装”这个方法。
Node.js 9.11.2 LTS版本经过测试可以正常安装编译!唉,CentOS6真的麻烦!
2.安装Git
这个就不用多废话了,网上教程一搜一大把
3.安装、编译Gekko
我在这个地方卡了好久,官网上的原文是这样的:
git clone git://github.com/askmike/gekko.git -b stable
cd gekkonpm install --only=production
cd exchange
npm install --only=production
然后,我编译的时候在SQLite3这一步频繁报错!
5284 error Exit status 1
5285 error Failed at the sqlite3@4.0.4 install script.
5285 error This is probably not a problem with npm. There is likely additional logging output above.
5286 verbose exit [ 1, true ]
我当时翻来覆去的找,想破脑袋也没想明白到底是哪个地方出错了……
直到我决定下定决心自己解决这个问题!
我看了好几遍那个好长长长的报错说明,总算找到了问题所在了。
CentOS6自带的C++版本过低!
好了,这回问题变成CentOS怎么更新C++版本了……
问题又来了,RPM安装的时候安装不上!为啥?因为我这个土鳖服务器自从2014年开始就没更新过源!
好不容易卸载了原来的C++,又RPM安装了新的C++,编译才总算完成了。
4. 启动
node gekko --ui
看上去非常简单易懂?实际上的确挺简单的……
但是!在服务器上,我们还需要修改一个东西
cd web/vue/dist
nano UIconfig.js
打开之后,修改成下面的样子:
const CONFIG = {
headless: true,
api: {
host: '0.0.0.0',
port: 3000,
},
ui: {
ssl: false,
host: '本机IP',
port: 3000,
path: '/' // change this if you are serving from something likeexample.com/gekko
},
adapter: 'sqlite'
}
if(typeof window === 'undefined')
module.exports = CONFIG;
else
window.CONFIG = CONFIG;
注意!下方的Host千万不能写成0.0.0.0!否则就会导致服务器暴露在公网之下!
为了以防万一,建议把防火墙也打开,仅限本机流量通过3000端口!
5.Gekko的使用
我是使用S*S*R连接Gekko的,因此,没有加HTTPS,如果想要提高安全性的话,建议阅读官网教程。
首先,我们需要导入数据。
在Config栏下面找到添加API Key的按钮,把你的API KEY输入进去。
然后选择交易所,点击IMPORT即可。
这里要说另外一个坑了。
实测币安会拒绝某些通过S*S*R进行连接的IP段。联通4G、电信4G在用网高峰时段进行数据导入会返回CONNECTREFUSED。(Windows下)
6.数据的导入
本地的导入一般要花很长时间,而且又浪费CPU资源。Gekko论坛上也有人导入了币安的数据,上传到了Google Drive上:
其中,.info是历史数据,.zip是压缩过的.db文件,把他放在Gekko程序目录下的history目录下即可。
如果想上传到服务器下,可以使用Onedrive直链,然后利用Wget下载。(实测FTP频繁丢包)
7.策略
Gekko论坛上有详细的对具体策略的分析。这个我就不多提了,大致说一说如何找到、导入策略。
这是整合了目前大多数策略的项目,目前仍然在更新中。
cd到Gekko文件夹下后,运行
git clone https://github.com/xFFFFF/Gekko-Strategies
cd Gekko-Strategiesba
sh install.sh
即可。
(Windows用户请自行复制粘贴, .toml 到\config\strategies下、.js至 \strategies 下 )
8.目前正在测试的策略
Gekko论坛上大多推荐神经网络策略,即neuralnet_v2策略。
仅供参考:
threshold_buy = 3.3
threshold_sell = -3.3
learning_rate = 0.01
momentum = 0.1
decay = 0.01
stoploss_enabled = true
stoploss_threshold = 0.89
hodl_threshold = 1
price_buffer_len = 100
min_predictions = 1000
Candlen Size时长为50分钟;Warming Up Period为2周;
此方法可以回避6000-3000那一波的暴跌,但拿17年12月的数据回测时收益率只有20%左右。
想要尝试的朋友们不妨试一试,至少比死扛强点。