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

xiaohe wrote:

no_ui和图形界面跑起来的结果应该要一致的,不一致的话可以自己打印策略实例收到的bar和策略指标进行排查
你同一个账号同时建立两个连接更容易出问题
想问下实盘交易的大佬一般是怎么用 vnpy的,是用客户端 每天人工启动关闭的多,还是启动no_ui使用的多,这两种我目前都用在实盘,但成交不稳定,网络是光纤确定没有太大问题的

xiaohe wrote:

AlecZhong wrote:

AlecZhong wrote:

实盘no_ui 是要和 客户端一起 启动运行吗?

只启动no_ui 一直无法成交.......

只启动客户端,有时能成交 有时无法成交...........

根本无法做到自动化,像段誉的六脉神剑,时灵时不灵............
无法正常交易让人抓狂!

description
使用本地行情录制的数据,策略能正常初始化的;客户端都能成交--就是十分不稳定,看运气能不能成交了
莫非 使用 no_ui启动 一定要购买 RQdata 数据服务? 小账号一年都挣不到这个数据费用
数据服务不是强制的,你自己有录制数据的话,初始化的时候会去数据库读的

那只启动 no_ui 是不是要在run.py 里面增加录制行情的代码? 不然好像是无法触发交易,有没有相关指引?

xiaohe wrote:

no_ui和图形界面不要一起启动

我在测试验证,客户端策略初始化成功,但不启动; 再去启动no_ui 启动策略看是不是可以;如果客户端不启动,行情都没有本地记录,怎么可能成交呢

AlecZhong wrote:

实盘no_ui 是要和 客户端一起 启动运行吗?

只启动no_ui 一直无法成交.......

只启动客户端,有时能成交 有时无法成交...........

根本无法做到自动化,像段誉的六脉神剑,时灵时不灵............
无法正常交易让人抓狂!

description
使用本地行情录制的数据,策略能正常初始化的;客户端都能成交--就是十分不稳定,看运气能不能成交了
莫非 使用 no_ui启动 一定要购买 RQdata 数据服务? 小账号一年都挣不到这个数据费用

实盘no_ui 是要和 客户端一起 启动运行吗?

只启动no_ui 一直无法成交.......

只启动客户端,有时能成交 有时无法成交...........

根本无法做到自动化,像段誉的六脉神剑,时灵时不灵............
无法正常交易让人抓狂!

description

xiaohe wrote:

你只加载CTP接口试试看不久知道了
如果不确定代码是否有问题,应该看下底层输出的

description
用软件窗口的又有不能开他成功的,看到这委托号有点异常,正常的 5886(这种能成交)异常 5-886 不能成交,什么原因,都没 有人遇到过吗

description
xiaohe wrote:

有交易信息具体指的是?

有交易信号, 如果VNPY正常,是要开多平空的

Chinese futures market trading period (day/night)

DAY_START = time(8, 45)
DAY_END = time(15, 0)

NIGHT_START = time(20, 45)
NIGHT_END = time(23, 0)

def check_trading_period():
""""""
current_time = datetime.now().time()

trading = False
if (
    (current_time >= DAY_START and current_time <= DAY_END)
    or (current_time >= NIGHT_START)
    or (current_time <= NIGHT_END)
):
    trading = True

return trading


def run_child():
"""
Running in the child process.
"""
SETTINGS["log.file"] = True

event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(CtpGateway)
cta_engine = main_engine.add_app(CtaStrategyApp)
main_engine.write_log("主引擎创建成功")

log_engine = main_engine.get_engine("log")
event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
main_engine.write_log("注册日志事件监听")

main_engine.connect(ctp_setting, "CTP")
main_engine.write_log("连接CTP接口")

sleep(10)

cta_engine.init_engine()
main_engine.write_log("CTA策略初始化完成")

cta_engine.init_all_strategies()
sleep(60)   # Leave enough time to complete strategy initialization
main_engine.write_log("CTA策略全部初始化")

cta_engine.start_all_strategies()
main_engine.write_log("CTA策略全部启动")

while True:
    sleep(10)

    trading = check_trading_period()
    if not trading:
        print("关闭子进程")
        main_engine.close()
        sys.exit(0)


def run_parent():
"""
Running in the parent process.
"""
print("启动CTA策略守护父进程")

child_process = None

while True:
    trading = check_trading_period()

    # Start child process in trading period
    if trading and child_process is None:
        print("启动子进程")
        child_process = multiprocessing.Process(target=run_child)
        child_process.start()
        print("子进程启动成功")

    # 非记录时间则退出子进程
    if not trading and child_process is not None:
        if not child_process.is_alive():
            child_process = None
            print("子进程关闭成功")

    sleep(5)


if name == "main":
run_parent()


实盘运营no_ui,启动连接成功,但是有交易信息没有发单成交的问题?
上面的代码,成功启动,是否要添加具体策略信息?
还有是否要增加录制行业主代码才能成交?

xiaohe wrote:

如果没有同时加载其他c++接口,建议交易时间段再试试看。
如果交易时段也一样的话,建议看下终端是否有底层报错信息输出

“如果没有同时加载其他c++接口” 这个不知道怎么确认
一时半会找不到原因, 策略代码确认没问题不用改的吗?

description
最后关闭软件,重新启动,手工平仓,才成功

description
这是我第一次手动平台,多次都不能平仓成功

MTF wrote:

具体失败报错是?

description
看这图片,是系统反向信号,应该平空仓,开多仓;都失败了

MTF wrote:

具体失败报错是?

等明天看是否复现了,我现在已经有笔 昨仓了,明天应该会有反向交易信号, 平昨空 仓, 建多仓

description
上图策略代码 开仓和 平今 都可以, 但是rb2401会 如果持仓变为昨仓了,会平仓失败!
请问是要增加什么代码逻辑来实现 平今 无仓位或仓位不足,剩余的自动平昨仓?

xiaohe wrote:

K线数据可以单独拉出来对比
指标值由于计算方式不同可能会存在差异
veighna是用talib计算的,代码是开源的,在vnpy.trader.utility中,可以自己打印排查
对比发现是 EMA 和SMA的区别导致数据不一致,已解决,谢谢!

应该是2根K线的数据都对不上

xiaohe wrote:

没有配置数据服务通过数据服务查询K线失败是正常的,数据服务查不到就会去配置的数据库读取,图上后续也输出了初始化完成的日志。如果数据库数据足够初始化的话,图形界面上的指标应该是有数值的

description
“数据服务查不到就会去配置的数据库读取” 数据库还需要配置吗?
目前是已经录制2天的1分钟K线,但初始化5分钟 最大30天的数据对不上;

description

description

实盘策略初始化数据不对,不用RQdata;
用本地录制行情数据到本地数据库,怎么完成初始化?
本地sqlite数据库怎么配置?

AlecZhong wrote:

description
改成这样就成交了,需要先计算好价格,再放到 buy/short 里面使用
改好能成交了,也可以平今仓,但是不能平昨仓是什么原因? rb2401合约

description
看文华的软件rb2401 5分钟两根均线数据,和策略初始化数据对不上;
每次关闭策略和软件,重新打开相差的也不一样

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

沪公网安备 31011502017034号

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