VeighNa量化社区
你的开源社区量化交易平台
kingmo888's Avatar
Member
离线
126 帖子
声望: 13

am设置的短一点看看。

bg今年升级后区分了分钟和小时的合成规则,
由此引发了一个新的问题,
此前实时tick回调处理函数中可以通过bg.window_bar来获取最新正在合成的大周期bar,但是现在如果指定的是小时bar,则需要通过hour_bar。

策略里有没有 put_event来更新界面数据?

用Python的交易员 wrote:

我们后续来更新下
期待。

如果你说的是on_bar传入的bar的日期,那就是bar.datetime,这里是时间,如果只要日期,可以bar.datetime.date()

如果要字符串日期:str(bar.datetime.date())

如果想要最新的正在生成的bar,就是生成器的bar,以生成器变量名bg为例,
就是bg.bar,
其余操作同上。

现状:
1、目前BarData的interval主要区分了1分钟(1m)、小时和日线等,但无法精确的去像其他平台一样表述当前K线的周期、bar类型等。
2、数据库的存入,interval字段在分钟级上,只有1m,如果自己生成的其他周期,也将会是1m。
3、从数据库读取数据,约定周期因为2的存在,数据库记录错误,意义大幅降低。
随着ps模块的广泛应用,对数据本地化的需求也越来越大,很多非1m周期的策略,是可以通过记录时记录大周期的bar来大幅降低存储量的(1H的bar相对于1m就降低了60倍),也大大降低了初始化时的计算量,预计能做到秒初始化的状态。

修改建议:
1、重新约定interval所代表含义:Bar类型,MINUTE-->m、HOUR-->h
2、增加BarData的period属性,代表含义:周期数。
3、对应数据库的管理器class DbBarData(Model):中增加period: float = FloatField()

经过上述改造,数据库中某条数据 interval=m, period=5,大家就知道这是一条5分钟K线数据。

好处:
与商业软件在K线定义方面将完全一致和好用,数据库存储上也方面的多。

目前官方版本是2.0.6了,自带管理web端。
但是没有对应的XXX.conf等文件,和不支持-config命令了。

E:\DataBase\InfluxDB\influxdb2-2.0.6>influxd.exe -config influxdb.conf
Error: unknown shorthand flag: 'c' in -config
See 'influxd -h' for help

你先把休市时间的数据过滤掉再说吧。
路还远着呢

这个是有规律的,你可以据此来写程序:
只要涉及3天(含3天)的假期,放假前最后1交易日一般没有夜盘。

先说是不是,再说有没有。
你是来吐槽的,还是怎样呢。

资金管理模块,任何商业化的第三方交易平台,应该都没有吧?

因为资金管理仁者见仁,智者见智,他不是标准化的东西。

每个人都有自己认为重要的东西和模块,然后推己及人认为对大家都是重要的,

殊不知千人千面啊。

模块自由度很高,你想实现怎么样的资金管理方式,基本上都可以实现出来。

跟长度没关系,这是你数据中存在缺失值。
price为nan,导致所有转换计算都报错。

print打印一下看看就知道了。

"这个错误,查看资料通过安装vs2019解决了,"
说明md模块是依赖于vs2019编译或者编译环境是win10(包含了win10的sdk),所以他需要140D.DLL。

至于td模块,
还是缺失运行时的问题。

如果你有需要的话,我可以把我的分享给你。各环境均可用版(因为没有用融航行情,所以我只弄的TD模块)。

如果你是手动更新的策略的setting文件,建议把策略引擎的data.json文件一并更新/删除。。让他完整的更新/重新初始化。

是一种解决思路。
我的做法与你有所不同,因为数据我是自己维护的,交易呢是基于ps,所以没有什么参照性,展开内容过多,有兴趣在交流吧。

variables放到init下
或者variables中不包含list等不就可以了吗。

不过,真想不到什么策略场景下会遇到你说的这种情况。

发现回了好几次,不过总归是说清楚了。
以上。

任何涉及到可以引用的类型,比如list,dict等,都会在所有策略实例中共用。

而数值、布尔、字符串等不会被公用。

正确的方法应该是把策略不通用部分的内容,放到
def init(self,xxx):
这里。

按照你的描述,很有可能,你这个list是定义在了策略的这个部分:
class classname:
定义到这里了吧,在这个位置的list,所有实例的都会有!!!!!!
def init(self,xxx)

现有方案下,可以开多个终端来实现。
另外可以自己实现多账户方案。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】