VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 12
声望: 0

请问如何实现跨周期的K线调用,比如当当日小时K线大于前日日线高点时做多,那么如何在小时K线周期上加载调用日K

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

可以在全局变量中记录日k线数据,每次日线数据更新时修改全局变量中的日k线数据,小时k线直接调用全局变量中的日k线数据就行。

Member
加入于:
帖子: 12
声望: 0

谢谢,现在去试试 :D

Member
加入于:
帖子: 12
声望: 0

郭易燔 wrote:

可以在全局变量中记录日k线数据,每次日线数据更新时修改全局变量中的日k线数据,小时k线直接调用全局变量中的日k线数据就行。
大佬,def init(self, cta_engine: Any, strategy_name: str, vt_symbol: str, setting: dict)这句在运行时显示cta_engine中的"Any" is not defined,这个怎么解决,是我import那里忘记引用了还是怎样。谢谢

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

from typing import Any

Member
加入于:
帖子: 12
声望: 0

郭易燔 wrote:

from typing import Any

谢谢

Member
加入于:
帖子: 12
声望: 0

郭易燔 wrote:

from typing import Any

大佬,请教下如果写当前K线价格大于前一根K线最高价做多一手,代码是这样吗:
if bar.close_price > bar.high_price[-1]:
self.buy(bar.close_price, 1)

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

不对,bar对象的high_price是一个float类型,不是列表。
可以在self.am里获取最近的价格。

Member
加入于:
帖子: 12
声望: 0

嗯嗯,照你说的去看了ArrayManager的源码,所以是改成下面这样吗:
if bar.close_price > self.am.high_array[-2]:
self.buy(bar.close_price, 1)

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

对的

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

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