掘金社区
问题就是命令行如果用鼠标选中会导致整个程序卡住,是在仿真交易的时候发现的
先看代码,很简单:
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')
直接上仿真就行,上面的带有回测参数,看我下面演示
这个是正常状态,运行后的状态,弹出窗口,先鼠标别选中:
然后鼠标随便选中点内容,不要动,如下图这样:
等个一两分钟,其实这个时候程序已经不再推数据了,卡住了
然后把鼠标移开,随便动一下,或者按下回车,会输出一大段数据:
注意看时间,这些数据是你移开鼠标按下回车的时候一下子全部输出的,或者说在你鼠标选中数据的时候程序就卡住了
用的python3,我也不知道这命令行是不是cmd还是其他什么东西,反正我就遇到这个问题了,也不知道是我一个人有还是其他人也有,话术命令行里用鼠标选中下数据看看很正常啊,不知道为什么会卡住
再反馈个东西,就是你们论坛的markdown编辑器在插入代码的时候,点击这个按钮
出现的是两个点的代码块:
这样格式不对吧????代码粘贴上来直接格式就乱了
正确的不是应该六个点么?
我上面的就是六个点才有的效果
-
命令行的问题应该找M$哈
-
@omoikane 意思真的是命令行的锅????
话说我跑程序从来不用cmd的啊233
我都是直接cmder,问题是掘金并不能在自己的终端跑,我跑了直接报错,但是在客户端里就没事
看不懂了
ModuleNotFoundError: No module named 'main'
我也刚看,细节还没看,其实没这些小问题掘金还是好懂的 -
@简同学 感谢反馈代码块错误的问题,稍后修复。
-
@技术支持 那鼠标选中的问题吗?是不是只是我有这个问题?难道说运行程序后不要用鼠标去点?感觉不靠谱啊,要是不小心选中了什么程序直接崩了
-
@简同学 渲染问题,用户操作优先于数据刷新。
-
@技术支持 那请问掘金可以用自己的终端运行吗?就是python 文件名.py这样的运行方式来防止此类问题的产生
我试了下好像不能直接运行,只能在客户端里运行回测和仿真 -
@技术支持 不用了,我搞定了,两个方案:
1把cmd的快速编辑关了就行
2用其他终端的话改成live模式,然后主文件的命名必须是main.py,直接python main.py运行就行.不然报错可以了,谢谢
-
其实可以把cmd的缓冲区设置成9999
-
赞!动手能力真强