这个工作就比较麻烦了,而且还要解决同样的功能的函数,但是参数和返回值不同的问题。 比如定时运行函数run_daily(): 聚宽是分别:run_daily()、run_weekly、run_monthly(); 但QMT是一个函数:对照API进行1v1修改
聚宽+sqlalchemy+QMT
实现方法
聚宽+QMT
实现原理
操作步骤
'''聚宽跟单系统原理替代,继承聚宽的交易函数类读取下单类的函数参数把交易数据发送到服务器把下面的全部源代码复制到聚宽策略的开头就可以实盘前先模拟盘测试一下数据把下面的内容全部复制到策略的开头就可以'''import requestsimport jsonimport pandas as pdurl='http://*******'port=*****#记得把这个改成自己的一个策略一个,策略的名称找作者建立password='*****'class joinquant_trader: def __init__(self,url='http://*****',port=8025,password='******'): ''' 获取服务器数据 ''' self.url=url self.port=port self.password=password def get_user_data(self,data_type='用户信息'): ''' 获取使用的数据 data_type='用户信息','实时数据',历史数据','清空实时数据','清空历史数据' ''' url='{}:{}/_dash-update-component'.format(self.url,self.port) headers={'Content-Type':'application/json'} data={"output":"joinquant_trader_table.data@63d85b6189e42cba63feea36381da615c31ad8e36ae420ed67f60f3598efc9ad", "outputs":{"id":"joinquant_trader_table","property":"data@63d85b6189e42cba63feea36381da615c31ad8e36ae420ed67f60f3598efc9ad"}, "inputs":[{"id":"joinquant_trader_password","property":"value","value":self.password}, {"id":"joinquant_trader_data_type","property":"value","value":data_type}, {"id":"joinquant_trader_text","property":"value","value":"\n {'状态': 'held', '订单添加时间': 'datetime.datetime(2024, 4, 23, 9, 30)', '买卖': 'False', '下单数量': '9400', '已经成交': '9400', '股票代码': '001.XSHE', '订单ID': '1732208241', '平均成交价格': '10.5', '持仓成本': '10.59', '多空': 'long', '交易费用': '128.31'}\n "}, {"id":"joinquant_trader_run","property":"value","value":"运行"}, {"id":"joinquant_trader_down_data","property":"value","value":"不下载数据"}], "changedPropIds":["joinquant_trader_run.value"],"parsedChangedPropsIds":["joinquant_trader_run.value"]} res=requests.post(url=url,data=json.dumps(data),headers=headers) text=res.json() df=pd.DataFrame(text['response']['joinquant_trader_table']['data']) return df def send_order(self,result): ''' 发送交易数据 ''' url='{}:{}/_dash-update-component'.format(self.url,self.port) headers={'Content-Type':'application/json'} data={"output":"joinquant_trader_table.data@63d85b6189e42cba63feea36381da615c31ad8e36ae420ed67f60f3598efc9ad", "outputs":{"id":"joinquant_trader_table","property":"data@63d85b6189e42cba63feea36381da615c31ad8e36ae420ed67f60f3598efc9ad"}, "inputs":[{"id":"joinquant_trader_password","property":"value","value":self.password}, {"id":"joinquant_trader_data_type","property":"value","value":'实时数据'}, {"id":"joinquant_trader_text","property":"value","value":result}, {"id":"joinquant_trader_run","property":"value","value":"运行"}, {"id":"joinquant_trader_down_data","property":"value","value":"不下载数据"}], "changedPropIds":["joinquant_trader_run.value"],"parsedChangedPropsIds":["joinquant_trader_run.value"]} res=requests.post(url=url,data=json.dumps(data),headers=headers) text=res.json() df=pd.DataFrame(text['response']['joinquant_trader_table']['data']) return df2.聚宽进行回测,在我们的服务器上查看信号3.QMT文件配置,运行策略【需要有授权码,关注领取】以上只是大致思路,具体操作步骤,可找我领取资料
Copyright © 2024-2025 成都宁时科技有限公司 版权所有