Watch 1 Star 1 Fork 1

fotomxq / niu-zbg-apiNodeJS

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
使用node.js实现,调用官方接口,实现自动化委托交易的脚本。 spread retract

https://github.com/fotomxq/niu-zbg-api

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

niu-zbg-api

使用node.js实现,调用官方接口,实现自动化委托交易的脚本。

注意,该脚本run()部分,目标是计算中间价,自动化买入和卖出动作。这是因为ZBG官方最近在搞活动,参与的将给予奖励。评分标准就是手续费高低,所以该将本将按照交易对当前价格,进行同价位买入和卖出操作,以自动实现高手续费,换取奖励。

如果您有其他用途,可以修改Run中买入、卖出部分。

安装

1、下载node.js,并安装

2、下载yarn,并安装

3、进入项目根目录,执行yarn,自动安装所需的库。或者您可以手动打开package.json文件,查看并安装所需库。

# 项目需配置
# 加密库
yarn add crypto
# 文件操作
yarn add fs
# fetch通讯
yarn add node-fetch
# formdata结构生成
yarn add query-string

4、打开run.bat,或执行main.js即可。

修改配置

进入根目录下的config-data.json文件,找到配置信息修改即可。

//API密钥
'AccessKey': '',
'SecretKey': '',
//交易币名称
'marketName': 'eth_usdt',
//中间等待时间间隔
// 单位:毫秒
'waitTime': 5000,
//交易货币保留小数点 位数
'fixNumber': 2,
//交易个数
// 如eth_usdt,则指eth个数
'transactionsNumber': 0.5,
//交易等待成功,最长时间
// 单位:毫秒
// 默认20秒
'waitFinishTime': 20000,
//是否显示底层操作日志?
// 但会记录到日志文件内
'showCoreLog': false,
//警戒比例
// 账户初始余额偏离该百分比后,将自动判定为失败
// 例如:
//      eth余额最初为100,经过几次脚本循环后变为111或89,则自动退出脚本
'forceStopP': 0.1,

方法介绍

参数详细说明,请参考代码注释。这里诺列全部方法,方便您参考和使用。

GetDateToFormat(date,format) 根据date时间获取特定结构的时间字符串
SendLog(message,isCore) 发送日志
SaveTotalConfig(totalNum,totalBuy,buyUnit,totalSell,sellUnit) 保存统计数据
PostData(postType,url,params,paramType) 发送带私钥的API
GetDataNoSign(url) 发送没有密钥的API
GetUserFund() 获取用户资金信息
TestMode() 测试模块,将自动发送非密钥API、带密钥API,测试通讯是否正常
GetMarket() 获取市场列表
BuyOrSell(entrustType,price) 进行一次交易
ClearEntrust() 清理当前交易对的所有委托(该方法官方API不可用)
CheckFinish() 检查订单完成情况,执行委托后请调用该方法(该方法部分官方API不可用,只确保输出任务结束信息、统计信息)
ClearEntrust(entrustId) 撤销指定订单
Run() 脚本主体

常见问题

关于订单问题

由于官方API只开放了新建委托方法,所以脚本暂时只能实现新建委托,而无法查询委托,这必然会导致失败交易下产生大量无用订单。请确保在电脑前,手动撤销多余的订单。

为了防止该问题,脚本内置了3秒后自动尝试撤销订单的方法,无论是否成功都可以确保该交易对没有太多的遗留订单。

但注意,特定波动下会产生买入多、卖出少,或颠倒过来的情况,这就会导致交易对失衡。请密切关注您的交易对账户信息。如交易eth_usdt,则请密切关注eth余额。如发现异常请暂停交易,等待市场价格剧烈波动结束后再尝试。

关于调用限制

根据测试和与官方沟通,API调用1s不能超出3次,否则会有被锁定部分USDT的风险。

本脚本修改为每秒2-3次。其中1次是查询市场列表,剩下2次是交易买入和卖出操作。

如何自定义执行脚本?

您可以在脚本结尾找到Run()函数,修改里面的执行顺序,就可以实现自动化交易。

如何让统计信息清零?

删除config.json文件即可。

使用协议

本项目遵守Apache2.0协议。

Comments ( 0 )

Sign in for post a comment

NodeJS
1
https://gitee.com/fotomxq/niu-zbg-api.git
git@gitee.com:fotomxq/niu-zbg-api.git
fotomxq
niu-zbg-api
niu-zbg-api
master

Search