最近准备把策略部署到托管者,开始调试才发现,很多回测时写的东西都得重写
因为每个交易所api的请求体结构都不一样,所以很难把不同的交易所api统一抽象为一个函数
很多回测时没问题的函数,实盘时都会报错
基本上交易函数都要用exchange.IO来处理,因为不能下止盈止损单,不能下批量单
于是乎,自己又认认真真把交易所api文档读了一遍,对比起fmz的文档东一块西一块,找起来很耽误精力,交易所的文档则规范易读的多
那么问题来了,与其这样,为什么我还要用fmz而不是用交易所的api写自己的bot呢?
这样既免费,也不会多花很多功夫,也不用担心api或者策略泄露问题,log我可以发送到电报上,看盈亏统计我可以直接打开交易所看
用fmz的意义是什么?如果fmz可以在bot挂掉的时候自行重启,那么也算是个功能,可是貌似连这个功能也没有
防DDOS?DDOS并不频繁,必要性不大
出售策略/跟单操作? 这块跟单功能也不大完善,参考 https://www.fmz.cn/bbs-topic/5613
ps并不是否定fmz这个产品,只是发表一下当前遇到问题的一些看法,大家来讨论
- 比如策略出租租用是为策略作者考虑的
- 策略回测是给快速验证策略的用户考虑的
- 方便的WEB管理是给需要管理大量机器人的用户考虑的
- 数据回放与研究平台是给想要做研究的人考虑的
- 平台的API封装基本是为了满足策略大多数的需求
- 多语言的支持也是为了满足不同技术栈的程序员
- 你提到的 exchange.IO 满足高阶用户的需求(比较提币/转币/下maker单等)
楼主把缺点都指出来了,确实是这样。对于复杂一点的策略,fmz 力不从心。而且服务器租赁费用贵。
我自己租一台云服务器,也就30美元1个月,跑10多个机器人毫无压力,关键日志推送到微信,盈亏也能定时推送,策略一旦开发完毕就挂着挣钱。
fmz 更多地是提供一个基础平台,特别是对那些不太会编程的用户,能够让他们看看文档快速实现简单的策略并跑起来。
其实平台的意义在于快速入门回测上手,对接好实盘低层, 为量化用户提供一个良好的平台与圈子.
客观的说: 如果已经有成熟的策略思路, 只需要在少数平台实现交易, 不考虑租用给别人或者同时维护很多策略需要方便的管理的话 如果自己动手能力满足, 发明者提供的API不能满足自己的需求, 自己实现交易框架是最合适的.
目前平台提供的API接口有很多不满足用户需求的设计, 比如你在贴子里提的批量下单,止盈止损这些功能, 我们都会听取用户的意见, 最快的时间更新, 发明者平台有4年的历史了,好多接口为了兼容旧的策略,没有做太大更新改动,每次更新不能考虑每一个用户的需求,但我们尽量会满足,最近一个月我们一直在对低层进行重构, 会对API接口来一次大的更新,希望到时能够满足你的需求.
很赞同,发明者最方便的地方在于快速验证自己的策略,或者是需要管理多个策略,多平台操作。除此之外,要把回测里的策略打通到可以实盘运行的这一步还是有点麻烦,比如在下单这一个步骤,这里最需要一个统一的函数,同时也最难以统一起来,不同的交易所深度不同,单张合约的面值不同,合约参数不同,更新也很频繁,是很难整合的。
我自己的感受是可以较快的实现一个实盘交易的原型来验证策略本身, 然后可以一方面完善策略一方面写独立于fmz的, 因为本质上自己写一个最终的样子和fmz当前所提供的会是差不多的, 但fmz已经提供了不同交易所的一层封装, 虽然都是基本的api, 但对于一个MVP来讲, 它很大的提高了我的效率.
比如我目前认真读且实现了的就只有huobiDM的接口, 而huobi的期货现货api并不是统一的, 如果我想在现货也走下测试, 则需要自己再抽一层. 但通过fmz我可以几乎无缝测试现货, 或者跑在binance来测试.
说白了每个人使用fmz或者一个平台的目的都不同, 使用时的感受也不同.
- 1



