# coding:utf-8 import sys import csv import chardet import sfgrid_constants sys.stdout.reconfigure(encoding='utf-8') # 设置标准输出编码为UTF-8 from main_controller import SFGridController ctrl:SFGridController def interact(): """执行后进入repl模式""" import code code.InteractiveConsole(locals=globals()).interact() def startMarketData(): ctrl.startMarketData() def stopMarketData(): ctrl.stopMarketData() def pool(): ctrl.print_pool() def addTarget(stock_code): ctrl.add_trade_target(stock_code) def delTarget(index:int): ctrl.del_trade_target(index) def accountInfo(): ctrl.print_account_info() def positionInfo(): ctrl.print_position_info() def startTrade(index:int): ctrl.start_stock_trade(index) def pauseTrade(index:int): ctrl.pause_stock_trade(index) def stockTradeCtrl(index: int): return ctrl.stock_trade_ctrl[ctrl.instrument_pool[index].stock_code] def importCsv(path:str): with open(path, 'r', encoding='utf-8', errors='replace') as infile: result = chardet.detect(infile) print(result['encoding']) # reader = csv.reader(infile) # data = [row for row in reader] # print(data) def help(): print("基础指令:") print(" ===================================================") print(" startMarketData() - 启动市场数据接收") print(" stopMarketData() - 停止市场数据接收\n") print(" pool() - 打印标的池信息") print(" addTarget(stock_code) - 添加交易标的") print(" delTarget(index) - 删除交易标的\n") print(" accountInfo() - 打印账户信息") print(" positionInfo() - 打印持仓信息\n") print(" startTrade(index) - 启动标的交易") print(" pauseTrade(index) - 暂停标的交易") print(" importCsv(path) - 导入CSV文件") print(" ===================================================") print("内部指令:") print(" stockTradeCtrl(index) - 获取标的交易控制器") print(" ctrl - 访问控制器实例") if __name__ == '__main__': ctrl = SFGridController(sfgrid_constants.account_no, sfgrid_constants.miniQMTPath) # 交互阻塞 interact()