• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Go
  • Created almost 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

数字币期货自动交易系统

logo

chive

chive(韭菜)是一个加密数字货币期货的量化交易系统,现在的数字币交易所都是7*24小时交易,玩家不可能一直盯盘操作,肉身炒币真的很累,而且往往无法坚持止盈止损的交易纪律,在暴涨暴跌中死无全尸。

据此本人特意开发了此自动交易系统, 提供了多种策略参数实现自动交易,晚上也可以安心睡眠了,因为钱输光了。系统还提供一定的行情K线指标分析,用户可以据此开发自己的策略,从此飞向星辰大海!

目前只支持okex的期货交易,后续会加入其它交易所的期货和现货交易,投资有风险,请小心谨慎,毕竟这个系统叫chive是有原因的。

Quick Start

下载

go get github.com/liu2hai/chive

搭建环境

本系统依赖kafka和influxDB,安装好后,kafka需要实现声明topic,使用下面的语句

./bin/kafka-topics.sh  --create  --zookeeper  localhost:2181  --replication-factor 1  --partitions  1  --topic okex_quote_pub
./bin/kafka-topics.sh  --create  --zookeeper  localhost:2181  --replication-factor 1  --partitions  1  --topic okex_archer_req
./bin/kafka-topics.sh  --create  --zookeeper  localhost:2181  --replication-factor 1  --partitions  1  --topic okex_archer_rsp

influxDB安装下载见官网

使用

进入build目录,使用build.sh生成可执行文件,如果生成失败,请自行安装所需要的第三方库:

go get github.com/Shopify/sarama
go get github.com/golang/protobuf/proto
go get github.com/bitly/go-simplejson
go get github.com/syndtr/goleveldb/leveldb
go get github.com/gorilla/websocket

将前面安装好的kafka和influxDB的地址和端口参数,写到build/lapf.cnf里。 在okex开户后,往合约账户充值,然后申请api交易权限,将分配的api key和secret key写到build/lapf.cnf里,如下:

"archer" : {
    "okex": {
        "apikey": "xxxxx",
        "secretkey": "xxxxxxx"
    }
}

执行build/run.sh

代码说明

archer  下单程序
spider  订阅收集行情程序
krang   运行策略和计算行情指标程序
stg     行情存储,将交易所一天的行情全部存到一个leveldb数据库,这些数据用于回放
replay  回放程序,用于调试策略
strategy 策略模块,新加策略放到该模块下

新加策略

本系统实现了一个简单的均线策略,在strategy/mavg下,新加策略可参照此策略实现, 策略接口如下

type Strategy interface {
	/*
	  策略初始化函数
	*/
	Init(ctx Context)

	/*
	  检查反馈函数,该函数会在OnTick前被调用
	  如果返回false,则OnTick不会被调用
	*/
	CheckFeedBack(ctx Context) bool

	/*
	  行情更新函数
	*/
	OnTick(ctx Context, tick *Tick)
}