VeighNa量化社区
你的开源社区量化交易平台
lazysnake2003's Avatar
Member
离线
75 帖子
声望: 1

郭易燔 wrote:

不清楚你说的自动登录指的是什么,如果你指的是某个运行脚本的话, 麻烦贴一下脚本。

好吧,看起来是一直在登录,不是一个定时的自动登录。

时间,信息,接口
20:35:19.55,交易服务器连接成功,CTP
20:35:18.789,行情服务器登录成功,CTP
20:35:18.774,行情服务器连接成功,CTP
20:35:18.711,行情服务器连接断开,原因4097,CTP
20:35:18.680,交易服务器连接断开,原因4097,CTP
20:34:10.624,行情服务器登录成功,CTP
20:34:10.608,行情服务器连接成功,CTP
20:34:10.562,行情服务器连接断开,原因4097,CTP
20:33:37.733,交易服务器授权验证失败,代码:7,信息:CTP:还没有初始化,CTP
20:33:37.686,交易服务器连接成功,CTP
20:33:36.671,行情服务器登录成功,CTP
20:33:36.639,行情服务器连接成功,CTP
20:25:56.87,交易服务器连接断开,原因4097,CTP
20:10:40.606,交易服务器连接断开,原因4097,CTP
19:34:41.454,行情服务器连接断开,原因4097,CTP
19:29:41.424,交易服务器连接断开,原因4097,CTP
19:24:20.519,交易服务器连接断开,原因4097,CTP
19:19:19.583,交易服务器连接断开,原因4097,CTP
19:14:18.584,交易服务器连接断开,原因4097,CTP
18:49:12.648,行情服务器连接断开,原因4097,CTP
18:49:12.85,交易服务器连接断开,原因4097,CTP
18:38:39.667,行情服务器登录成功,CTP
18:38:39.651,行情服务器连接成功,CTP
18:38:39.432,交易服务器连接成功,CTP
18:08:24.159,行情服务器连接断开,原因4097,CTP
17:42:18.562,交易服务器连接断开,原因4097,CTP
17:37:16.563,行情服务器连接断开,原因4097,CTP
17:32:06.502,交易服务器连接断开,原因4097,CTP
16:57:28.58,行情服务器连接断开,原因4097,CTP
16:49:46.466,行情服务器连接断开,原因4097,CTP
16:44:36.343,交易服务器连接断开,原因4097,CTP
15:56:44.949,行情服务器连接断开,原因4097,CTP
15:56:44.574,交易服务器连接断开,原因4097,CTP
13:21:23.773,合约信息查询成功,CTP
13:21:18.179,结算信息确认成功,CTP
13:21:17.523,交易服务器登录成功,CTP
13:21:17.460,交易服务器授权验证成功,CTP
13:21:17.460,行情服务器登录成功,CTP
13:21:17.366,行情服务器连接成功,CTP
13:21:17.335,交易服务器连接成功,CTP

https://www.vnpy.com/forum/topic/4283-yong-hu-ce-lue-zen-yao-ke-yi-mei-you-zi-jin-can-shu-ctace-lue-zhang-hu?page=1
https://www.vnpy.com/forum/topic/348-vnpyce-lue-nei-diao-yong-zi-jin-shi-xian-dan-shi-wo-bing-bu-jian-yi-da-jia-shi-yong-dong-tai-zi-jin-cang-wei
上面2个链接都提到了资金的实现,第1个虽然提到了用的接口,但是也不知道怎么直接调用,第2个稍复杂一点,回贴中有人提到直接用self.acc_dict = self.cta_engine.main_engine.engines['oms'].accounts,能用是能用,丑了点
对于
main_engine.get_contract()

main_engine.get_account()
怎样在策略文件中直接调用而不用另开类似 def on_account(self,account):的事件调用接口呢?

main_engine.get_account()应该还需要提供acount_id参数,怎么提供给它呢?

看到晚上8:12分会自动登录,想改到8点40多,在哪里可以修改啊

配置mysql之后,每次重启机器运行VNSTUDIO都会出现以下exception,在启动mysql workbench后点击一下local instance mysql 80后连接一下数据库就好了,代码里有自动连接登录吗?

Exception has occurred: RuntimeError (note: full exception trace is shown but execution is paused at: _run_module_as_main)
'cryptography' package is required for sha256_password or caching_sha2_password auth methods
File "C:\vnstudio\Lib\site-packages\pymysql_auth.py", line 144, in sha2_rsa_encrypt
"'cryptography' package is required for sha256_password or caching_sha2_password auth methods"
File "C:\vnstudio\Lib\site-packages\pymysql_auth.py", line 265, in caching_sha2_password_auth
data = sha2_rsa_encrypt(conn.password, conn.salt, conn.server_public_key)
File "C:\vnstudio\Lib\site-packages\pymysql\connections.py", line 932, in _request_authentication
auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)
File "C:\vnstudio\Lib\site-packages\pymysql\connections.py", line 633, in connect
self._request_authentication()
File "C:\vnstudio\Lib\site-packages\pymysql\connections.py", line 353, in init
self.connect()
File "C:\vnstudio\Lib\site-packages\peewee.py", line 4013, in _connect
conn = mysql.connect(db=self.database, **self.connect_params)
File "C:\vnstudio\Lib\site-packages\peewee.py", line 3096, in connect
self._state.set_connection(self._connect())
File "C:\vnstudio\Lib\site-packages\vnpy_mysql\mysql_database.py", line 137, in init
self.db.connect()
File "C:\vnstudio\Lib\site-packages\vnpy\trader\database.py", line 137, in get_database
database = module.Database()
File "C:\vnstudio\Lib\site-packages\vnpy_ctastrategy\engine.py", line 107, in init
self.database: BaseDatabase = get_database()
File "C:\vnstudio\Lib\site-packages\vnpy\trader\engine.py", line 74, in add_engine
engine = engine_class(self, self.event_engine)
File "C:\vnstudio\Lib\site-packages\vnpy\trader\engine.py", line 99, in add_app
engine = self.add_engine(app.engine_class)
File "C:\vnstudio\run.py", line 84, in main
main_engine.add_app(CtaStrategyApp)
File "C:\vnstudio\run.py", line 112, in <module>
main()
File "C:\vnstudio\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\vnstudio\Lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\vnstudio\Lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\vnstudio\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\vnstudio\Lib\runpy.py", line 193, in _run_module_as_main (Current frame)
"main", mod_spec)

MTF wrote:

  1. Tick数据量比较大,所以要用外部工具查看
  2. DataRecorder移除合约后,不会删除数据,只是不再新增记录
  3. 可以,通过DataManager组件

针对3,是删除了分钟线的数据就连同tick数据一起删除了吗?

请教:

看到说数据管理里面不能管理tick数据,那么可以用tick数据回测吗?
想查看tick数据只能用外部的工具了吗?

当行情记录里面删除了某个合约后,相应的数据库里面数据会清除吗?
用VNPY可以清除行情记录的数据吗?
还是说需要用户用外部工具或者mysql的workbench自己去管理里面的数据?

之前用默认的数据库sqlite,改成mysql之后C:\Users\Admin.vntrader下的database.db文件没有更新,
那新的数据库文件放在什么地方了呢?

请教:
实盘时想一直读取当前tick的close作为最新一分钟的close来运行分钟策略,有没有例子呢?

另外还有在一分钟内不重复发单,怎么能做到呢?

这几天浏览论坛,一直520 bad gateway好痛苦啊,感觉像是网站限制访问造成的?

又加入
from vnpy.trader.setting import SETTINGS
from vnpy.trader.engine import MainEngine

SETTINGS["log.active"] = True
SETTINGS["log.level"] = INFO
SETTINGS["log.console"] = True
好用了,就是觉得代码丑了点

请教:
在run.py中加入
from vnpy_ctastrategy.base import EVENT_CTA_LOG
后,再在后面加入log_engine

# main_engine.add_app(PaperAccountApp)

log_engine = main_engine.get_engine("log") #add log to file
event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event) #add log to file

main_window = MainWindow(main_engine, event_engine)

但是在c:/user/admin/.vntrader/log下的文件大小还是一直为0啊,还需要做什么才能写入log文件呢
全局配置中level为50,log.active,log.console和log.file都是默认的true

502 bad gateway
最近访问论坛时经常出这个错,每次都需要挺长的时间才能恢复访问,
有什么好办法解决吗?

脚本模式
在文件夹examples/vn_trader中找到run.py文件(不是vnstudio下的,需要在github上单独下载)。运行run.py即可进入VN Trader。

这个在用vn studio安装之后怎么用的啊?有没有更详细的说明呢?把vnpy-master\examples\vn_trader下的run.py拷贝到哪个目录下去呢?保持C:\vnstudio\examples\vn_trader这个路径不能直接运行啊,会说No module named 'vnpy'

sqlite是vnstudio安装好后不需做任何配置就可以用了吗?

没有设置任何数据源,只需要用自己的行情数据,可是加入行情记录后好像也看不到啊?

description

description

实际上刚添加时有这样的错误
Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\peewee.py", line 3160, in execute_sql
cursor.execute(sql, params or ())
sqlite3.OperationalError: table dbtickdata has no column named turnover

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnpy_datarecorder\ui\widget.py", line 157, in process_exception_event
raise exc_info[1].with_traceback(exc_info[2])
File "c:\vnstudio\lib\site-packages\vnpy_datarecorder\engine.py", line 84, in run
self.database.save_tick_data(data)
File "c:\vnstudio\lib\site-packages\vnpy_sqlite\sqlite_database.py", line 208, in save_tick_data
DbTickData.insert_many(c).on_conflict_replace().execute()
File "c:\vnstudio\lib\site-packages\peewee.py", line 1911, in inner
return method(self, database, args, **kwargs)
File "c:\vnstudio\lib\site-packages\peewee.py", line 1982, in execute
return self._execute(database)
File "c:\vnstudio\lib\site-packages\peewee.py", line 2761, in _execute
return super(Insert, self)._execute(database)
File "c:\vnstudio\lib\site-packages\peewee.py", line 2479, in _execute
cursor = database.execute(self)
File "c:\vnstudio\lib\site-packages\peewee.py", line 3173, in execute
return self.execute_sql(sql, params, commit=commit)
File "c:\vnstudio\lib\site-packages\peewee.py", line 3167, in execute_sql
self.commit()
File "c:\vnstudio\lib\site-packages\peewee.py", line 2933, in exit
reraise(new_type, new_type(exc_value,
exc_args), traceback)
File "c:\vnstudio\lib\site-packages\peewee.py", line 191, in reraise
raise value.with_traceback(tb)
File "c:\vnstudio\lib\site-packages\peewee.py", line 3160, in execute_sql
cursor.execute(sql, params or ())
peewee.OperationalError: table dbtickdata has no column named turnover

当时点掉了,刚才又莫名点出来这个exception,幸好拷贝下来了,但是再去找却又找不到了

在哪里看到过,再找找不到了。
不知道哪个版本最稳定。

vnpy_ost,东方证券OST极速柜台接口OstGateway
剥离vnpy_tora项目,华鑫证券奇点接口升级到4.0版本
剥离vnpy_femas项目
剥离vnpy_ksgold项目
剥离vnpy_futu项目

是指把功能去掉,还是独立出来?

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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