掘金社区

这个是bug吗?命令行用鼠标选中会导致程序卡住???Pinned highlighted

Andex 发表在问题反馈 2018-05-07 15:05:33

问题反馈
934
9
0

问题就是命令行如果用鼠标选中会导致整个程序卡住,是在仿真交易的时候发现的
先看代码,很简单:

from __future__ import print_function, absolute_import
from gm.api import *
import time

def init(context):

    context.n = 0
    subscribe(symbols='SHFE.zn1806,SHFE.cu1806', frequency='15s', count=50,wait_group=0)    
    subscribe(symbols='SHFE.zn1806', frequency='30s', count=50,wait_group=True)
    
def on_bar(context, bars):
    # 打印当前获取的bar信息
    context.n += 1
    print(bars[0].frequency,' Time: ',time.time(),'  第{}次'.format(context.n))


# def on_tick(context, tick):

#     print('接收到tick数据:')
#     print(tick,'\n')

if __name__ == '__main__':
    run(strategy_id='换成你的',
        filename='main.py',
        mode=MODE_BACKTEST,
        token='换成你的',
        backtest_start_time='2018-04-03 13:00:00',
        backtest_end_time='2018-04-03 15:00:00')

直接上仿真就行,上面的带有回测参数,看我下面演示
这个是正常状态,运行后的状态,弹出窗口,先鼠标别选中:
0_1525675796003_1525675749(1).png

然后鼠标随便选中点内容,不要动,如下图这样:
0_1525675825164_微信截图_20180507144936.png

等个一两分钟,其实这个时候程序已经不再推数据了,卡住了
然后把鼠标移开,随便动一下,或者按下回车,会输出一大段数据:
0_1525675970443_微信截图_20180507145215.png
注意看时间,这些数据是你移开鼠标按下回车的时候一下子全部输出的,或者说在你鼠标选中数据的时候程序就卡住了

用的python3,我也不知道这命令行是不是cmd还是其他什么东西,反正我就遇到这个问题了,也不知道是我一个人有还是其他人也有,话术命令行里用鼠标选中下数据看看很正常啊,不知道为什么会卡住

再反馈个东西,就是你们论坛的markdown编辑器在插入代码的时候,点击这个按钮
0_1525676185656_微信截图_20180507145606.png
出现的是两个点的代码块:
0_1525676509123_微信截图_20180507145637.png
这样格式不对吧????代码粘贴上来直接格式就乱了
正确的不是应该六个点么?
0_1525676630386_微信截图_20180507150249.png

我上面的就是六个点才有的效果
0_1525676699630_微信截图_20180507150415.png

评论: 9
  • 命令行的问题应该找M$哈

    2018-05-07 15:16:12
  • @omoikane 意思真的是命令行的锅????
    话说我跑程序从来不用cmd的啊233
    我都是直接cmder,问题是掘金并不能在自己的终端跑,我跑了直接报错,但是在客户端里就没事
    0_1525677715706_微信截图_20180507152146.png
    看不懂了
    ModuleNotFoundError: No module named 'main'
    我也刚看,细节还没看,其实没这些小问题掘金还是好懂的

    2018-05-07 15:23:07
  • @简同学 感谢反馈代码块错误的问题,稍后修复。

    2018-05-07 15:26:32
  • @技术支持 那鼠标选中的问题吗?是不是只是我有这个问题?难道说运行程序后不要用鼠标去点?感觉不靠谱啊,要是不小心选中了什么程序直接崩了

    2018-05-07 15:27:38
  • @简同学 渲染问题,用户操作优先于数据刷新。

    2018-05-07 15:39:55
  • @技术支持 那请问掘金可以用自己的终端运行吗?就是python 文件名.py这样的运行方式来防止此类问题的产生
    我试了下好像不能直接运行,只能在客户端里运行回测和仿真

    2018-05-09 14:40:57
  • @技术支持 不用了,我搞定了,两个方案:
    1把cmd的快速编辑关了就行
    2用其他终端的话改成live模式,然后主文件的命名必须是main.py,直接python main.py运行就行.不然报错

    可以了,谢谢

    2018-05-09 14:48:41
  • 其实可以把cmd的缓冲区设置成9999

    2018-05-09 14:49:11
  • 赞!动手能力真强

    2018-05-09 17:18:39

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.