是不是等于,不给RQdata交数据费,vnpy的CTA自动交易模块功能根本就没法用。
rqdata付了一年的年会,到期后。是不是vnpy策略交易也就不能用了。那就是要继续买rqdata才能继续使用vnpy
xiaohe wrote:
请问是不是合约方向选反了
是的,真相了。再多问一句,合约模式是什么意思
就是这样啥也没有,同一个策略原来是显示的。现在只能大致看看资金曲线图
策略刚初始化完就显示,目前持有空头仓位。不知道是什么原因。不知道有没有更改策略仓位信息的办法。
一直也不明白课程中15分钟的BollChannelstrategy,为啥一定要等到9点15才有第一笔委托单。
后来看到这个https://www.vnpy.com/forum/topic/91
原来是要在onTick里做个收到当天开盘第一个Tick时的特殊检查处理(立即发停止单),或者写在onBar里也行(第一个分钟线走完时触发)。
有没有哪位大佬,分享一个完整策略,或者onTick里应该怎么写。
xiaohe wrote:
- 有可能是你的指标还没达到触发交易信号的点,可以自己观察一下;
- 也有可能因为你没有历史数据,所以前十几分钟在初始化am以计算指标
我观察了下,夜盘9点开始,马上就会有停止委托单,早上9点的话,如果是15分钟k线的话,就需要等到9点15分才会有第一笔停止委托单。
用Python的交易员 wrote:
这里应该是你的更新不完全出错了,卸载当前版本后转个新的VNStudio 2.1.7吧
重新安装了一遍,变这样了:
Traceback (most recent call last):
File "d:\vnstudio\lib\site-packages\pymysql\connections.py", line 571, in connect
**kwargs)
File "d:\vnstudio\lib\socket.py", line 727, in create_connection
raise err
File "d:\vnstudio\lib\socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\vnstudio\lib\site-packages\peewee.py", line 3035, in connect
self._state.set_connection(self._connect())
File "d:\vnstudio\lib\site-packages\peewee.py", line 3933, in _connect
conn = mysql.connect(db=self.database, self.connect_params)
File "d:\vnstudio\lib\site-packages\pymysql__init__.py", line 94, in Connect
return Connection(*args, kwargs)
File "d:\vnstudio\lib\site-packages\pymysql\connections.py", line 327, in init
self.connect()
File "d:\vnstudio\lib\site-packages\pymysql\connections.py", line 619, in connect
raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\vnstudio\lib\site-packages\vnstation\cli.py", line 90, in run_trader
module = importlib.import_module(d["module"])
File "d:\vnstudio\lib\importlib__init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\init.py", line 9, in <module>
from .engine import CtaEngine
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 40, in <module>
from vnpy.trader.database import database_manager
File "d:\vnstudio\lib\site-packages\vnpy\trader\database\init.py", line 12, in <module>
database_manager: "BaseDatabaseManager" = init(settings=settings)
File "d:\vnstudio\lib\site-packages\vnpy\trader\database\initialize.py", line 12, in init
return init_sql(driver=driver, settings=settings)
File "d:\vnstudio\lib\site-packages\vnpy\trader\database\initialize.py", line 19, in init_sql
_database_manager = init(driver, settings)
File "d:\vnstudio\lib\site-packages\vnpy\trader\database\database_sql.py", line 35, in init
bar, tick = init_models(db, driver)
File "d:\vnstudio\lib\site-packages\vnpy\trader\database\database_sql.py", line 334, in init_models
db.connect()
File "d:\vnstudio\lib\site-packages\peewee.py", line 3038, in connect
self._initialize_connection(self._state.conn)
File "d:\vnstudio\lib\site-packages\peewee.py", line 2873, in exit
reraise(new_type, new_type(exc_value, *exc_args), traceback)
File "d:\vnstudio\lib\site-packages\peewee.py", line 183, in reraise
raise value.with_traceback(tb)
File "d:\vnstudio\lib\site-packages\peewee.py", line 3035, in connect
self._state.set_connection(self._connect())
File "d:\vnstudio\lib\site-packages\peewee.py", line 3933, in _connect
conn = mysql.connect(db=self.database, **self.connect_params)
File "d:\vnstudio\lib\site-packages\pymysql\init.py", line 94, in Connect
return Connection(*args, **kwargs)
File "d:\vnstudio\lib\site-packages\pymysql\connections.py", line 327, in init__
self.connect()
File "d:\vnstudio\lib\site-packages\pymysql\connections.py", line 619, in connect
raise exc
peewee.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
Traceback (most recent call last):
File "D:\vnstudio D\lib\site-packages\vnstation\cli.py", line 90, in run_trader
module = importlib.import_module(d["module"])
File "D:\vnstudio D\lib\importlib__init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_strategy\init.py", line 9, in <module>
from .engine import CtaEngine
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 40, in <module>
from vnpy.trader.database import database_manager
File "D:\vnstudio D\lib\site-packages\vnpy\trader\database\init__.py", line 9, in <module>
from .initialize import init
File "D:\vnstudio D\lib\site-packages\vnpy\trader\database\initialize.py", line 2, in <module>
from .database import BaseDatabaseManager, Driver
File "D:\vnstudio D\lib\site-packages\vnpy\trader\database\database.py", line 14, in <module>
DB_TZ = timezone(SETTINGS["database.timezone"])
KeyError: 'database.timezone'
我跟着设置以后, 用交互式的方法在examples目录下打开jupyter notebook运行backtesting_demo.ipynb会显示错误
TypeError Traceback (most recent call last)
<ipython-input-44-06c0f59cbee0> in <module>
1 #%%
----> 2 engine.load_data()
3 engine.run_backtesting()
4 df = engine.calculate_result()
5 engine.calculate_statistics()
d:\vnstudio d\lib\site-packages\vnpy\app\cta_strategy\backtesting.py in load_data(self)
246 start,
247 end,
--> 248 collection_name
249 )
250 else:
d:\vnstudio d\lib\site-packages\vnpy\app\cta_strategy\backtesting.py in load_bar_data(symbol, exchange, interval, start, end, collection_name)
1291 ):
1292 """"""
-> 1293 return database_manager.load_bar_data(
1294 symbol, exchange, interval, start, end,collection_name
1295 )
TypeError: load_bar_data() takes 6 positional arguments but 7 were given
我用的是RQdata数据
xiaohe wrote:
- 已经有rqdata账号吗?
- 回测加载数据可看backtesting.py里的load_data函数,实盘可看engine.py里的load_bar函数
谢谢。我再研究下,买了rqdata的数据有账号的。
十一以后天勤免费数据好像不能用了,所以实盘交易改为了RQdata,但是一直读不出来数据。
其实反思下,还是不理解VNPY的机制,不知道哪位大神可以告诉我,哪里去搞明白,RQdata数据进来,策略怎么读取数据,在日志里形成交易命令并下单
用python -m vnstation 启动vnpy出现一下几行字,不知道什么意思,有没有大神可以帮忙解答一下。
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_ciphersuites
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_set_psk_use_session_callback
学习了vn,py全实战进阶,用教学演示的 boll_demo_strategy。开盘十几分钟都是没有委托挂单的。等有了委托挂单,往往造成了很大的滑点。不知道大佬们的是不是这样的
xiaohe wrote:
可以参照https://www.vnpy.com/forum/topic/3203-bian-xie-pythonjiao-ben-shi-xian-shu-ju-ru-ku?page=1#pid11723对照一下看看
谢谢,就是参考的这个帖子。现在正研究怎么导出数据并画图,还有做回测。不知道大佬,期货数据都从哪里下载。
有的,我看数据导进去以后时间也不对了
数据是长这样的,老课程的数据,我想试试怎么用VN.PY自带的数据导入模块
试着用VN.PY自带的数据管理功能导入CSV文件到MongoDB数据库中。显示已经导入,但是还是无法查看到数据。点击刷新跳出来这个怎么办
Traceback (most recent call last):
File "D:\vnstudio D\lib\site-packages\vnpy\app\data_manager\ui\widget.py", line 109, in refresh_tree
data = self.engine.get_bar_data_available()
File "D:\vnstudio D\lib\site-packages\vnpy\app\data_manager\engine.py", line 138, in get_bar_data_available
d["symbol"], Exchange(d["exchange"]), Interval(d["interval"])
File "D:\vnstudio D\lib\site-packages\vnpy\trader\database\database_mongo.py", line 365, in get_oldest_bar_data
interval=Interval.Value
File "D:\vnstudio D\lib\enum.py", line 348, in getattr
raise AttributeError(name) from None
AttributeError: Value
Exception in thread Thread-5:
Traceback (most recent call last):
File "D:\vnstudio D\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "D:\vnstudio D\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 351, in run_downloading
symbol, exchange = extract_vt_symbol(vt_symbol)
File "D:\vnstudio D\lib\site-packages\vnpy\trader\utility.py", line 28, in extract_vt_symbol
return symbol, Exchange(exchange_str)
File "D:\vnstudio D\lib\enum.py", line 309, in call
return cls.new(cls, value)
File "D:\vnstudio D\lib\enum.py", line 543, in new
return cls.missing(value)
File "D:\vnstudio D\lib\enum.py", line 556, in missing
raise ValueError("%r is not a valid %s" % (value, cls.name))
ValueError: 'CFEX' is not a valid Exchange
我这个问题,怎么破
在参数优化,老是出现下面内容
Exception in thread Thread-4:
Traceback (most recent call last):
File "D:\vnstudio D\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "D:\vnstudio D\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 295, in run_optimization
output=False
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 555, in run_optimization
settings = optimization_setting.generate_setting()
File "D:\vnstudio D\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 89, in generate_setting
settings.append(setting)
MemoryError
同题目,自己写了一个亏损的策略,为啥不是本金亏完以后这个策略就不跑了,还一直在跑,