MTF wrote:
- 自己开发的模块,不建议放在strategies目录下,可以放在一个专用路径,比如C:\extension
- 修改操作系统环境变量,在PYTHONPATH中,添加上述模块所在的路径
- 后续在策略中(或者电脑上的任意Python代码中),即可加载自己开发的模块
已经添加过了,jupyter notebook用import sys就可以,用vscode就不行。是什么原因导致的?另外,我是拿课程给到的代码直接用的,课程视频中可以直接使用,我的vscode就不行。怎么解决?
已将daily_generator放在turtle_signal同一文件夹内,但vscode无法识别,如何解决?
两个问题:
1、目前VNPY好像只有手动移仓,有没有自动批量移仓到主力合约的方法?
2、一个根据行情筛选期货品种进行开平仓的策略,如何通过本地数据进行回测?
另外,是否有交流群(可以实时提问那种),能否给个进入方式?谢谢。
回测之后只能看到K线和对应买卖点,但是想加入均线,boll、 donchian channel等这些指标配合买卖点观察却无从下手。想知道如何实现?
krenx wrote:
simnow下个月才开,可以用openctp的环境,也就是VeighNa的TTS通道。参考这篇攻略:simnow备胎openctp的使用说明
非常感谢,我尝试一下
用Python的交易员 wrote:
SIMNOW进入维护升级了,1.5个月
之前使用simnow连接CTP成功并且可以实现模拟自动交易,然后有两个月左右没有登录,前两天使用发现点击连接CTP无反应,请问是什么原因导致的,如何解决?
非计算机科班出身,会python基本语法,也能编写诸如双均线、布林通道等基本策略,看过vnpy相关课程,但仅限课程内的方法语法,对于各类模块使用整合能力较差,想熟练掌握使用vnpy的策略编写,需要熟练掌握到哪些库?
xiaohe wrote:
停止单默认触发后使用盘口五档或者涨跌停的价格委托,如果想自己设定价格可以自己去engine里进行个性化修改了
请问是这里面的哪个函数呢?我找了一遍没发现那几个stop order哪里能够调整停止单价格的
咱们的停止单做多做空都是以涨跌停价限价单挂单,如何实现触发停止单后以自己想要的价格挂限价单?如果没有成交就撤单。
如题,有些品种已经到期了想要删掉,没找到删除的地方,请问怎么删除?
MTF wrote:
你这里图中明显是数据服务没有填写了。
策略加载数据服务失败,会自动尝试加载本地数据库中的数据。
但需要自己提前用DataManager模块每日导入了
是指每天收盘后点击数据导入让相关策略使用导入后的数据进行初始化吗?
MTF wrote:
两个建议:
- 看下主界面,该策略对应的行情是否在跳动
- 检查下策略中load_bar加载的历史数据天数,是否足以覆盖ArrayManager初始化所需的长度
我没有订阅rqdata影响历史数据加载吗?可否通过导入本地数据方式初始化历史数据呢?
拿的simnow账户测试,策略在九点前启动好了,一直没有反应,接近十点四十突然策略就开始有反应了,早盘拿simnow账户测试也是这种情况,是什么原因呢?如何解决?
MTF wrote:
在策略里通过PnlTracker进行盯市跟踪,课程里有讲解具体实现
哪个课程呢?方便给个链接吗?
如图,simnow模拟账户按理来说和实盘账户原理一样,为什么我这里买卖有成交记录,但是账户净值没有变化?
MTF wrote:
公众号的《超越海龟策略精析》课程中有详细讲解仓位跟踪管理这块的代码写法
仓位这块我是会的,主要是想实现对应达到某个盈利程度进行加仓,不知道盈利程度如何表示,有这方面代码吗?或者说哪里可以学习的呢?
想写一个策略带上盈利加仓的,但不知道在vnpy中如何通过代码表示当前仓位盈利多少或某个时段内盈利多少这个功能,不知道有没有懂的朋友帮个忙?谢谢!
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "C:\veighna_studio\lib\concurrent\futures\process.py", line 246, in _process_worker
r = call_item.fn(call_item.args, **call_item.kwargs)
File "C:\veighna_studio\lib\concurrent\futures\process.py", line 205, in _process_chunk
return [fn(args) for args in chunk]
File "C:\veighna_studio\lib\concurrent\futures\process.py", line 205, in <listcomp>
return [fn(*args) for args in chunk]
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\backtesting.py", line 1121, in evaluate
engine.load_data()
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\backtesting.py", line 178, in load_data
data: List[BarData] = load_bar_data(
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\backtesting.py", line 1067, in load_bar_data
return database.load_bar_data(
File "C:\veighna_studio\lib\site-packages\vnpy_sqlite\sqlite_database.py", line 300, in load_bar_data
bars.append(bar)
MemoryError
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\veighna_studio\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\veighna_studio\lib\threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "C:\veighna_studio\lib\site-packages\vnpy_ctabacktester\engine.py", line 320, in run_optimization
self.result_values = engine.run_bf_optimization(
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\backtesting.py", line 547, in run_bf_optimization
results: list = run_bf_optimization(
File "C:\veighna_studio\lib\site-packages\vnpy\trader\optimize.py", line 119, in run_bf_optimization
results: List[Tuple] = list(it)
File "C:\veighna_studio\lib\site-packages\tqdm\std.py", line 1195, in iter
for obj in iterable:
File "C:\veighna_studio\lib\concurrent\futures\process.py", line 570, in _chain_from_iterable_of_lists
for element in iterable:
File "C:\veighna_studio\lib\concurrent\futures_base.py", line 621, in result_iterator
yield _result_or_cancel(fs.pop())
File "C:\veighna_studio\lib\concurrent\futures_base.py", line 319, in _result_or_cancel
return fut.result(timeout)
File "C:\veighna_studio\lib\concurrent\futures_base.py", line 458, in result
return self.get_result()
File "C:\veighna_studio\lib\concurrent\futures_base.py", line 403, in get_result
raise self._exception
MemoryError
第二个问题,策略编写为什么bar.high_price前面不用加self,不是要指定特定品种吗?
做策略回测遗传算法优化时候弹出来的报错,请问是什么原因?如果解决的?