6.7 KiB
#交易 #软件配置
ubuntu服务器的配置:现在使用腾讯云自带的命令工具。后期可以使用别的SSH工具 图形界面安装(不需要图形化界面,这次的高配服务器是用来跑优化的。) freqtrade在服务器上的安装:按照freqtrade官方页面的操作说明,按照命令安装即可。基本可以实现一键安装,随后的学习参照视频教程和网页文档。
交易所和账号配置仍未完成,上次配置过,成功。
今后的运行模式:本地编程测试完善策略、回测,利用TCP等技术传送至云服务器(仍未完成),策略放在云服务器上不间断运行,采用telegram进行交易管理和参数查询。
今后要学习的内容:一是freqtrade与策略的结合。二是freqtrade的深度应用。
注意在云服务器下,依赖库和freqtrade的安装位置,不能在root文件夹下,而是要在普通的文件夹中,后期的策略需要复制到文件夹中运行。如果在root文件夹下会非常麻烦。不要使用sudo -s命令,不要轻易进入root权限下。今天经历过数次安装,前几次的失败都是因为把freqtrade安装在了错误的位置,因此无法执行。
(.venv) lighthouse@VM-4-2-ubuntu:~/freqtrade$ freqtrade 2024-03-18 17:35:39,829 - freqtrade - ERROR - Usage of Freqtrade requires a subcommand to be specified.
To have the bot executing trades in live/dry-run modes, depending on the value of the `dry_run` setting in the config, run Freqtrade as `freqtrade trade [options...]`. To see the full list of options available, please use freqtrade --help or freqtrade <command> --help.
``
看到上述内容,说明已经正确安装了。
开始时,要进入freqtrade文件夹
使用命令source ./.venv/bin/activate进入虚拟环境
之后键入freqtrade命令即可运行。
freqtrade trade --config user_data/config.json --strategy SampleStrategy这是一个常见的运行命令。
之后需要对程序进行初始化 相应的提示内容选择后就具备运行条件了(telegram、binance API) 运行测试策略,一切正常。报错的内容都是交易所未配置,API未配置这一类的内容,软件本身的配置已经完成了。 这比上次用Mac运行测试时又顺滑顺利的多。
freqtrade基础设施基本上已经建设完成,接下来就是对文本的学习,对策略的构建,模拟盘运行,实盘运行上来了。如果上次也愿意花钱(126元),进度会快的多,说不定还能赶上这一波的牛市。
测试了腾讯云的文件上传下载功能,可以把编写好的策略传输到云服务器中。这就又省下了学习TCP等多中技术的必要。在现阶段最重要的就是专注,先把核心的东西做好,再说全面的事。 【注:该设想已成功。上传很顺利。】
binance不能应用在美国硅谷的云服务器上,因此更换交易所为kraken。 因此相应的代码也作更新。 VcqWdJ8KzVpXr5ulbebfpudIkvtNv/rg+Gixk+IBG9mnOtIWupdJAk8O
5T1Lnj6tQrFqueOci357WHJV9DVkUkPVBclUr4ReaOOMe/Pmga6QUPDXLCSVGOYKzlyTJeya/YjLZPD5Qza1vQ==
目前Sample策略已经完美的跑起来了,此前建立的telegram bot依旧可以使用。 已经完成除了策略编写更新的一切工作,可以说基础设施的建立已经完全成功,程序已经部署并完整运行在ubuntu云服务器上。 现在没有收集历史数据,没有进行回测,没有进行策略编写。
本部分重点:
- 及时发现binance连接失败并不是config文件的问题,而是因为币安在美国使用受限。
- 使用config示例,完成config文件内容的初写。重点在于两个API的设置。API要妥善保存。
下一步:
- 数据获取、回测。
- 看懂示例策略,开始自编策略。
- 学习交易所API功能,完善交易程序。
- 重复上述流程,优化迭代。
又发现一个新的问题,关闭ssh后,此时希望一直运行的程序也会随之关闭。经过研究,这是因为在ssh关闭后,会给进程一个终止的信号。为了避免关闭,需要采用nohup命令。
其实只要知道这个命令,这个概念是不难的,毕竟云服务器就是长期执行某项程序的,如果SSH关闭而后程序随之关闭,那也就没有存在的必要了。只是Linux服务器的机制和windows有区别(在windows中随时关闭远程桌面是不影响程序本身的运行的。)
经测试,使用如下命令后,关闭SSH,程序仍可继续运行。
nohup command &
当然,command代表的是命令本身。
那么问题又来了,nohup的程序如何结束呢?毕竟我也要收放自如,不能只让他无休止的运行而不能让他结束。
ps -ef #找到所有的进程及其PID
kill PID `杀死对应的进程,程序自动结束。
是否可以将默认的币本位的货币对改为U本位呢? 从config文件中更改测试。
经测试,更改后失败。正确的做法应是进kraken官网的API说明,查找支持的货币对后自行研究拣选。 拓展一下,杠杆倍数这一类的参数调节,都应熟练掌握。
今天关于ubuntu、freqtrade的安装、适配、调试历经千辛万苦,终得成功,甚至超越了自己本身的目标。基础设施搭建完成,该向深海挺进了。
我真的渴望成为一个量化交易者,我正在构建我的圣杯。 2024.3.19 凌晨
交易所不同币种的价差是广泛存在的,因此也给跨交易所的现货套利交易提供了空间。活用各交易所的API,只使用数字货币(主要是为了绕开传统的金融机构,如果都是法币交易的话流水会非常巨大),在计算收益大于提币手续费的情况下,通过高频词的自动套利交易获取收益。 2024.3.19 上午
这是我2025年7月1日重新写的一篇内容。 发现除了表述方式有差异外其核心是基本类似的,也就是说轮子我造了,而且是连着造了两个。足矣凸显记录的重要性。是啊,文明的基石也许正在文字与记录,没有记录何谈文明?错过的还会再错,摔过的跤继续摔,对个人还是文明都是灭顶之灾。
但是一定说是走弯路了吗? 不是的。那次对于freqtrade的学习是偶然的,是偶遇的,对于一面之缘的人和事没有太多印象,不投入太多精力是正常的。因此,记录了,也没有看到。
但这次,是我排除了许许多多的选择,最后在此落脚的,是我主动的选择。 我相信这是一次新的起点。
“真正重要的突破,往往发生在你穿过理论的门槛,把手弄脏的那一刻。” ----DeepSeek编的,但是感觉编挺好