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

VN Trader 2.6界面的数字如何改成千位分隔符加两位数字的格式?实在看起来不习惯。

例如:
静态权益:1,020,663.49,账户权益:1,033,572.23,账户权益:1,033,572.23
今日累计盈亏:12,908.74,浮盈:0.00,持仓盈亏:0.00,本交易日内平仓盈亏:14,440.00

我只知道在vnpy\trader\ui\mainwindow\MainWindow.init_dock() 里面改,水平有限,还没学会怎么改

郭易燔 wrote:

在这个目录下修改一下这两行内容
或者可以等一下更新

修改这两行后能正常运行,谢谢

xiaohe wrote:

因为数据供应商没提过吧

数据提供商是tushare pro,金额和持仓数据都有的

description

本地数据库删了以后,使用IF2112可以正常下载,但是 turnover列和open_interest列为空,是什么原因呢?

description

使用tushare数据源,代码如果写IF2112.CFX,则提示下载0条,
如果代码写IF2112,则抛出异常。
我用pro.fut_daily是可以正常下载的。
请问如何解决?

description

Traceback (most recent call last):
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\cursors.py", line 148, in execute
    result = self._query(query)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\cursors.py", line 310, in _query
    conn.query(q)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 548, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 775, in _read_query_result
    result.read()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 1156, in read
    first_packet = self.connection._read_packet()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'turnover' in 'field list'")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\vnpy_datamanager\ui\widget.py", line 606, in download
    count = self.engine.download_bar_data(symbol, exchange, interval, start)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\vnpy_datamanager\engine.py", line 215, in download_bar_data
    self.database.save_bar_data(data)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\vnpy_mysql\mysql_database.py", line 164, in save_bar_data
    DbBarData.insert_many(c).on_conflict_replace().execute()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 1907, in inner
    return method(self, database, *args, **kwargs)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 1978, in execute
    return self._execute(database)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 2745, in _execute
    return super(Insert, self)._execute(database)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 2474, in _execute
    cursor = database.execute(self)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 3157, in execute
    return self.execute_sql(sql, params, commit=commit)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 3151, in execute_sql
    self.commit()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 2917, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 190, in reraise
    raise value.with_traceback(tb)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\cursors.py", line 148, in execute
    result = self._query(query)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\cursors.py", line 310, in _query
    conn.query(q)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 548, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 775, in _read_query_result
    result.read()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 1156, in read
    first_packet = self.connection._read_packet()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "D:\Anaconda3\envs\vnpy_envs\lib\site-packages\pymysql\err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
peewee.OperationalError: (1054, "Unknown column 'turnover' in 'field list'")

找到了,运行以后全局配置

用Python的交易员 wrote:

删除掉Anaconda,安装最新版本的VNStudio即可

因为有其他环境,所以必须使用anaconda。

如题,脚本运行,请问如何加载vnpy_tqsdk和vnpy_tushare?
能否同时加载两个数据服务?

移除对RpcService模块的加载后,可以正常运行

2.6不能运行,现在2.5也不能运行,错误代码如下,请问如何解决?

Traceback (most recent call last):
  File "D:/Tony/Documents/yunpan/invest/2021/Quant/VNPY_code/run.py", line 7, in <module>
    from vnpy.app.cta_strategy import CtaStrategyApp
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\app\cta_strategy\__init__.py", line 3, in <module>
    import vnpy_ctastrategy
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy_ctastrategy\__init__.py", line 33, in <module>
    from .engine import CtaEngine
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy_ctastrategy\engine.py", line 41, in <module>
    from vnpy.trader.database import BaseDatabase, get_database
ImportError: cannot import name 'get_database' from 'vnpy.trader.database' (D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\trader\database.py)

Process finished with exit code 1

脚本运行vnpy,报错如下,另外,请问如何加载vnpy_tqsdk和vnpy_tushare?

Faile to import cython option pricing model, please rebuild with cython in cmd.
找不到数据服务驱动vnpy_,使用默认的RQData数据服务
Traceback (most recent call last):
  File "D:/Tony/Documents/yunpan/invest/2021/Quant/VNPY_code/run.py", line 54, in <module>
    main()
  File "D:/Tony/Documents/yunpan/invest/2021/Quant/VNPY_code/run.py", line 41, in main
    main_engine.add_app(RpcServiceApp)
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\trader\engine.py", line 99, in add_app
    engine = self.add_engine(app.engine_class)
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\trader\engine.py", line 74, in add_engine
    engine = engine_class(self, self.event_engine)
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\app\rpc_service\engine.py", line 30, in __init__
    self.init_server()
  File "D:\Anaconda3\envs\vnpy\lib\site-packages\vnpy\app\rpc_service\engine.py", line 40, in init_server
    self.server.register(self.main_engine.send_orders)
AttributeError: 'MainEngine' object has no attribute 'send_orders'

description

和我一样的问题,可以跳转。

from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
from vnpy_datamanager import DataManagerApp
from vnpy_riskmanager import RiskManagerApp

明白了,谢谢。用了sys.model重新指定了模块,实际执行的是下面的语句:

from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
from vnpy_datamanager import DataManagerApp
from vnpy_riskmanager import RiskManagerApp

Pycharm,脚本运行vnpy,run.py中,如下四句代码均显示红色下划线,ctrl+b(goto Declaration or Usage)也没找到对应的名字,main_engine.add_app能正常运行,在主程序中,也能正常使用,那这四个app是在哪导入的呢?

from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp
from vnpy.app.data_manager import DataManagerApp
from vnpy.app.risk_manager import RiskManagerApp

description

    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(RiskManagerApp)
    main_engine.add_app(DataManagerApp)

xiaohe wrote:

2.3.0的ctp和ctptest接口都是6.5.1的

可以登录了

xiaohe wrote:

中金所的金融期权现在没有模拟的

我向期货公司申请了测试权限,提供的文档中,对CTP的版本有要求,在我另一份帖子写了

CTP交易,看穿式API版本号如何查看?

xiaohe wrote:

请问VN Trader版本是2.3.0吗?

是的,2.3.0

xiaohe wrote:

from vnpy.app.algo_trading import AlgoTradingApp

可以了,谢谢

xiaohe wrote:

可以模仿no_ui脚本写一下https://github.com/vnpy/vnpy/blob/master/examples/no_ui/run.py

其他模块都已经能加载,不知道算法交易的模块名称。

from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy.gateway.ctp import CtpGateway
from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp
from vnpy.app.data_manager import DataManagerApp
from vnpy.app.option_master import OptionMasterApp
from vnpy.app.market_radar import MarketRadarApp
from vnpy.app.data_recorder import DataRecorderApp
from vnpy.app.risk_manager import RiskManagerApp
from vnpy.app.rpc_service import RpcServiceApp
from vnpy.gateway.rpc import RpcGateway
from vnpy.app.chart_wizard import ChartWizardApp
from vnpy.app.portfolio_manager import PortfolioManagerApp



def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(DataManagerApp)
    main_engine.add_app(OptionMasterApp)
    main_engine.add_app(MarketRadarApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(RiskManagerApp)
    main_engine.add_app(RpcServiceApp)
    main_engine.add_gateway(RpcGateway)
    main_engine.add_app(ChartWizardApp)
    main_engine.add_app(PortfolioManagerApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()


if __name__ == "__main__":
    main()

xiaohe wrote:

xtp、uft
xtp只有A股市场的ETF期权,没有中金所的金融期权,uft发了申请还没回复,好像天勤支持中金所的股指期权。

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

沪公网安备 31011502017034号

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