-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
能不能考虑提供策略参数持久化的支持? #52
Comments
已经有了,实现一个 persist_provider 就可以了。 有个 DEMO : env.set_persist_provider(persist_provider) |
好。 |
在 utils 里有一个 DiskPersistProvider 可以直接使用 |
from rqalpha.utils.disk_persist_provider import DiskPersistProvider
persist_provider = DiskPersistProvider()
persist_provider.store('code', bytes('600325'))
print persist_provider.load('code') 恩,用这个可以了。。 建议最好增加类似Redis Python Client里面使用*通配符key查询,Linux Mac命令是支持用通配符过滤文件的,不过这样的实现方法可能不兼容Windows,还有最好有个删除方法 |
@haogefeifei 可否列出来一个详细的你觉得更好的持久化的方案,我们会讨论决定是否列入之后Future Feature Dev 中 |
可以借鉴下其他地方的做法,比如现在提供的DiskPersistProvider功能和Android的SharedPreferences是非常类似的,只有key value的get set,Google在Android SDK同时还提供SQLiteOpenHelper来满足更复杂数据结构的存储需要。可以考虑选一个python sqlite支持多线程的模块内置。 |
还就是DiskPersistProvider可以参考SharedPreferences接口写法写的更健壮些,get(load)方法加一个参数,即key取不到value时返回的默认值。 |
@haogefeifei 多谢~ Persist扩展确实可以提高第三方扩展的易用性,这块我们会讨论并决定具体的扩展形式,不过目前看来,排期应该不会特别的早,可能有一些优先级更高的事情在做。 |
嗯嗯 |
目前已经有框架级别的持久化支持,已经稳定运行很长时间了。 开源版本内置了一个简单的 DiskPersistProvider ,可以将需要的持久化的数据写到本地磁盘上。 如果需要,可以在自定义 mod 的 start_up 中设置 config.base.persist = True,然后添加 persist_provider 。 from rqalpha.utils.disk_persist_provider import DiskPersistProvider
persist_provider = DiskPersistProvider(persist_path)
env.set_persist_provider(persist_provider) |
策略回测的时候参数都在内存里面没有问题,实盘的话考虑要程序的启停
The text was updated successfully, but these errors were encountered: