大家好,想请教一个问题。
我翻阅了很久 发明者量化 里的文章(包括帖子),发现很少有提到关于数据存储的内容。 就是,当我实盘了以后,用自己的服务器来跑(而不是回测),那么: 1.我拿到的数据是我自己新收集的吗?(我自己的答案,应该是); 2.如果是我自己收集的,那这些数据是存储在服务器上吗? 3.我自己是否需要去考虑数据所占硬盘空间的事? 4.我自己是否需要安装某个数据库?
感谢大家
Zero 1.我拿到的数据是我自己新收集的吗? 你获取到的数据是实时的从交易所提供的API接口获取的, 相当于自己收集的 2.如果是我自己收集的,那这些数据是存储在服务器上吗? 所有行情数据是保存到内存里的, 策略日志信息永久保存到硬盘上 3.我自己是否需要去考虑数据所占硬盘空间的事? 日志信息会占用硬盘空间, 如果硬盘空间不是太大,发现日志占用过大空间, 可以用LogReset函数定期清理 4.我自己是否需要安装某个数据库? 不需要, 托管者内置了sqlite数据库
Zero 你好,如果是用Javascript策略的话, 策略是不能读取本地任何文件的, 也不能操作数据库, 如果用Python可以调用sqlite模块读取本地数据库, 回测系统可能不支持, 只能是实盘
rajajack 好的,已经找到,策略里面能否直接从数据库读入由作者提供的数据在程序里面使用,还是这种数据必须在策略里面自己手动敲进去(如果数据量比较大的话,手动敲太夸张了)?如果能直接从数据库读入的话,是在策略里面使用哪个函数呢,具体数据库使用sqlite吗?能否给一个例子,我们好照着例子去实现。多谢!
Zero 托管者目录下 logs/robot/机器人id.db3
rajajack 日志文件具体存在哪个文件夹下面呢??比如托管者是linux文件,我想用机器人来记录几个月的市场深度信息。
edwardgyw 可以使用_G函数来把数据储存下来
Zero 到于没有提供行情K线接口的交易所来说, 需要重新计算, 对于提供了行情接口的交易所来说,不需要, 如果策略一次能获取数十根K线那就证明交易所提供了接口,程序不需要自己收集, 如果行情 K 线 GetRecords只获取了一根, 那就说明交易所没有提供行情数据接口,需要托管者内部重新计算.
丧尸来来 感谢z大回复。 那我想请教一下,如果行情数据保存在内存里,我的服务器如果重启或者我的机器人重新启动的话,以前的行情数据还有吗? [#其实想问的是,我收集过的数据,当我调整策略以后,或者中途中断过,会不会影响我新开始的策略? 比如我要用到20日MA,那么我到时候的20日MA会不会需要重新收集数据来进行计算。]