vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 46
声望: 2

你好陈总,在课程中,从固定止损、百分比止损,讲到 atr止损时,修改的代码:
boll_window = 18
boll_dev = 3.4
fixed_size = 1
atr_window = 20
atr_multiplier = 2
这一句 “atr_window = 20”是什么意思呢? 是直接 默认了某个时间周期的 atr 是20了吗?

因为我看海龟中关于atr的计算方法是用到了 昨天收盘价、今天最高价、今天最低价。
请问一下,现在我们的代码中不需要写入 atr的计算方式了吗?

Administrator
avatar
加入于:
帖子: 4985
声望: 291

ATR指标计算时,唯一用到的参数是这个窗口数,用到的数据包括close high low的数组,我们把技术指标的计算封装到ArrayManager组件里面了,所以只要一个参数就能很方便计算

Member
avatar
加入于:
帖子: 73
声望: 5

用Python的交易员 wrote:

ATR指标计算时,唯一用到的参数是这个窗口数,用到的数据包括close high low的数组,我们把技术指标的计算封装到ArrayManager组件里面了,所以只要一个参数就能很方便计算
看了下如果要合成日线,计算日线ATR:
1.on_init中 load_bar只有10天,而Arraymanager 初始化需要100根日线,是不是意味着无法初始化Arraymanager
2.如果Arraymanager传入小于10的参数,合成10日内ATR,DAYBargenerator(on_day_bar),假设在on_day_bar里面计算atrvalue = am.atr(5),得出的atrvalue是不包括今天的,过去5个交易日的ATR吧,感觉只能在今日行情走完on_day_bar才能接受到今日日k推送

Administrator
avatar
加入于:
帖子: 4985
声望: 291
  1. 对的,可以增加load_bar的天数,或者传入更小的ArrayManager的size参数
  2. 只有在每日走完后,才应该计算依赖今日收盘价的指标
© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号