大佬们这是怎么回事,明明有这么多笔成交,却没有资金曲线变化,连委托都没有。
按道理应该先有委托,成交了之后才有成交的啊。
求解惑。
写策略一般都是用if语句,满足条件就开仓。比如说
if bar.close_price > bar.low_price:
self.buy(...)
但是这样的话如果一直满足条件那岂不是会一直买入,最后买入无限多仓位。
会出现这种情况吗?如果会,怎么把第一次开仓之后的买入信号过滤掉不考虑?
xiaohe wrote:
应该是底层报错了,参考这个文档复现你的操作排查一下吧
https://github.com/vnpy/vnpy/blob/master/docs/error_debug.md
大佬,底层大概率是没问题的,系统自带的策略都能成功回测,就我自写的策略一点击就一条虚线卡住没反应。
代码从昨天到现在检查了很久都不知道问题所在,大佬能不能私信我把代码发给你检查看看,可有偿。
嗯嗯,照你说的去看了ArrayManager的源码,所以是改成下面这样吗:
if bar.close_price > self.am.high_array[-2]:
self.buy(bar.close_price, 1)
比如我要获取倒数第三根K线的收盘价,是写成bar.close_price[-3]吗?
郭易燔 wrote:
from typing import Any
大佬,请教下如果写当前K线价格大于前一根K线最高价做多一手,代码是这样吗:
if bar.close_price > bar.high_price[-1]:
self.buy(bar.close_price, 1)
好的谢谢,但为什么我的策略回测不了,一点击开始回测就像上面这样没响应了。一般回测不了是什么问题?
P.S.代码无语法错误,对照自带的策略看了很久都没有问题
使用文档在脚本加载那里说启动前需要添加两行代码,但是我看vnpy自带的策略(比如这里的布林带策略)都没有加这两行,不过一样可以回测成功。
这是为什么,难道那两行代码是加不加都可以吗
郭易燔 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那里忘记引用了还是怎样。谢谢
谢谢,现在去试试 :D
请问如何实现跨周期的K线调用,比如当当日小时K线大于前日日线高点时做多,那么如何在小时K线周期上加载调用日K