目前本项目处于开发初期阶段,可能会有部分异常未能处理。
在开始使用之前请你必须先认真完整阅读这份说明。
- 个人使用遵守 GNU GPL 3.0
- 商业使用必须咨询作者以获得商业授权
- 本项目本质上只负责低买高卖,不构成任何投资建议,你需要自行承担一切风险!
- 从机制上看你完全可以手动在交易所挂单实现低买高卖,不一定需要依靠任何自动交易!
- 脚本终究是脚本!
本项目是利用 OKEx API 自动交易,实现行情跌时买入,行情涨时卖出。有且只有币币交易。
你必须使用 OKEx 账户才能使用本项目;如果你没有 OKEx 账户可以点击这里注册。
- 易用,JSON 文件配置
- 安全交易,不先买入则不卖出
- 可设置根据行情涨跌比率调整买入卖出价
- 可设置每单买卖最小盈利 USDT 数量,用于保证盈利
- 支持 Telegram 和 钉钉 交易通知
先下载代码
你需要先下载安装 Node.js 和 NPM才可以运行,Node.js 默认包含 NPM。
随后在本项目运行 npm i
命令安装必要的依赖包。
在项目根目录创建一个 .env
文件(注意有点),接下来会用到。
打开并修改 .env
文件,这三个值在 OKEx 我的账户 API 申请所得。
申请时权限需要勾选 交易
权限,提现
不需要勾选。
passphrase = "passphrase"
apiKey = "apiKey"
secretKey = "secretKey"
OKEx 的交易所 API 是需要大陆以外的 IP 才能访问的,如果你能正常访问可以跳过次步骤。
同样打开 .env
文件,修改这项参数。
如果你用的是 Clash 应该可以在设置界面找到端口,修改端口即可。
http_proxy = "http://127.0.0.1:7892"
打开并修改 strategy.json
文件。每个参数详细解释可以参考 state.js。
其中标注解释:
@private
属于内部参数,不允许出现在策略文件中,也不允许修改@requires
属于必填参数,必须在策略文件中填写正确
以 ETH
为例,基本策略配置如下所示。
{
"symbol": "ETH",
"basePrice": 1950,
"amounts": [0.001, 0.002, 0.003],
"allow24hFluctuationRatio": 0.05,
"baseDecreaseRatio": 0.02,
"baseIncreaseRatio": 0.02,
"dynamicNextPrice": true,
"maxStep": 10,
"safeSellAmount": false
}
当你调整好你理想的策略后,运行这条命令:
npm run start
随后你会看到如下界面,证明它在运行中。
如果你相信这个脚本,那么可以将它扔在服务并让它一直运行。
请阅读 如何开启钉钉交易通知
打开并修改 .env
文件,这两个参数需要在 Telegram 申请机器人获得。你可以 Google 如何申请 Telegram 机器人,很简单。
telegram_bot_token = "token"
telegram_bot_chat_id = "chat_id"
通知如图所示
在刚开始使用本项目时,建议你设置购买数量 amounts
比较小的值,防止风险,但也尽量避免是目标币种的最小交易数量,理由阅读下面一条注意事项;待你觉得可行的时候再适当调节。
最小盈利 USDT minProfitUSDT
本意是让你的每一单买卖都能最小盈利你设定的 USDT 数量以避免亏本买卖,但并不建议依靠此功能。其中包括手续费等各项扣除计算,最终得出合适的卖出价位并变更下次卖出价格,实际盈利可能会有略微偏差,你可以适当提高 amounts
或提高 baseDecreaseRatio
和 baseIncreaseRatio
来避免。
原因是达到触发买入的价格,在调用 API 下单的时候,行情仍然会跌或涨。
你的交易账户需要足够的 USDT 使得可以在触发买入价时正常买入;有足够的目标币种使得可以在触发卖出价时正常卖出,或者你将 safeSellAmount
设置为 true
,只卖出你上次扣除手续费后所得的数量。
在 开始使用-3.设置代理 中已经提到。
除了是 OKEx 下单的 API 限速之外,也防止短时间跌幅过大而频繁买入。
在切换单价差异较大的币种,如 BTC
切换到 ETH
是请务必注意你设定的 basePrice
是否合理。
如果你认同本项目或对你有帮助,不妨考虑捐赠以支持我。
METHOD | ADDRESS |
---|---|
BTC | bc1qa6m9yqe26k223zwak4cmnyv9axq0dxg6thdcuh |
ETH | 0x42f8c423d71dD30b42DA09F6FB8683b6a5a4A524 |
DOGE | A2X5K6X4NgYdRvoLkqqp4mptDtcJ88JU1r |
GNU GPL 3.0 © 2nthony