请具体查阅代码:trader\utility.py\ArrayManager:
def atr(self, n: int, array: bool = False) -> Union[float, np.ndarray]:
"""
Average True Range (ATR).
"""
result = talib.ATR(self.high, self.low, self.close, n)
if array:
return result
return result[-1]
时间驱动的意义是什么 呢。
祝融焱 wrote:
小时K线属于CTA策略中常用的K线,按照固定时间合成的K线,与大众常用的软件K线不同,这样不仅是回测时不容易参照,在交易时生成的小时级别的各种指标也都是和大众软件不同的。所以,改了一下BarGenerator的小时K线合成规则,现在与其他期货软件生成的小时K线是一致的了。
添加代码时注意,小时线生成时就别把datetime里面的minute给replace成0了
新版的小时,记得在2.1.8中就一致了吧。
word添 wrote:
我这边用了融航给的dll模块替换了之后,自己的python系统连上了。楼上说“勾选C++”接口,我在别的帖子里也看到这个回答,但是我没找到“C++”接口的选项
意思是,融航&CTP&CTPTest等都是CTP家族的C++接口,同时只能勾选1个。多了4097.
看到本贴才知道有clickhouse数据库,反手查了一下资料,感觉clickhouse的效率真的高啊。
今日起维护。时长1.5个月。
设计情形是丢单了,重启后消失。
但如果simnow的话,有时候重启也会存在,是它模拟服务器的事儿。
不过现在simnow停一个半月
看路径,是windows系统。
你可以去anaconda版本库中找一下py3.7的来做。或者呢,去找一quickfix、tablib的39版本。
哪怕是2010年之前的数据,都基本没什么意义了
任意目录下。
vnpy获取配置的规则是,当run所在目录有.vntrader(可通过命令行mkdir .vntrader来创建)时,会读取同目录下的配置(初始化会自动创建)。
如果没有该目录,则读取当前电脑登录账户的用户目录下的.vntrader(run脚本同目录未找到时会在用户目录自动创建)。
实盘&回测。
不是回撤。
看了半天没看明白
@用Python的交易员 社区貌似没有用服务器的时间戳,而是用了本地的时间戳?看上贴我的发帖时间和上上贴的时间。
你如果想要多周期,可以在策略层面做操作
在我看来,这个功能真的没有普遍的需求性。所以估计官方也是从通用需求来考虑这个事情的。
有。目前单终端挂了20个左右。
这个要分开来看,
取决于数据库是否有读写操作了,如果只是读取历史(历史数据的维护是其他进程在做),没有什么影响,
否则,影响还是有的,订阅的合约越多,影响越大。
按照我对客户端中重载的getattr的定义理解来说,
当dorpc执行超时的时候,执行的是:
if not n:
msg = f"Timeout of {timeout}ms reached for {req}"
raise RemoteException(msg)
将引发RemoteException异常,从而导致下一行代码
rep = self.__socket_req.recv_pyobj()
未能继续执行,从而破坏了客户端、服务端严格的一一对应的关系。
不知道对不对,另外该如何来处理呢?
RPC服务端与客户端不在同一台机器上,有时候网络延迟稍大的时候,经常出现timeout。
当一次出现timeout后,后续任何请求响应模式的通信,都会出现如下错误:
猜测是不是因为zmq的请求响应模式是严格一对一关系,出现一次timeout后,其请求序号再也对不上了。
查资料发现有种“懒海盗”模式,不知是否能够解决类似的问题呢?
“懒惰的海盗”(Lazy Pirate)模式:ZMQ 第四章 可靠的请求-应答模式
基于现有方案,全部订阅。。。。唯有卡死的结局呀。
需要单独设计方案的