做海报的网站有哪些,百度ai开放平台,字节跳动小程序开发者平台,网站建设灬金手指下拉十五前言#xff1a;量化资料很少#xff0c;.NET更少。那我就来开个先河吧~ 以下是使用QMT进行量化开发的环境部署和基础信息获取有关操作。 1、首先自己申请券商的QMT权限#xff0c;此步骤省略。 2、登陆QMT#xff0c;选择极简模式#xff0c;或者独立交易模式之类的。会进… 前言量化资料很少.NET更少。那我就来开个先河吧~ 以下是使用QMT进行量化开发的环境部署和基础信息获取有关操作。 1、首先自己申请券商的QMT权限此步骤省略。 2、登陆QMT选择极简模式或者独立交易模式之类的。会进入到miniQMT里面。 3、安装python环境环境版本随意。我本地是3.10版本。此步骤省略。 4、创建一个.net项目用来测试使用。我此处使用的.net 8环境进行测试。 5、使用miniqmt需要和xtquant库进行通信所以需要安装xtquant包。如图xtquant包下载时候也会自动下载有关依赖例如包括常用的pandas、numpy等包。 6、.NET程序引用包 pythonnet并且python环境也要安装pythonnet环境pip install pythonnet 7、设置python解释器路径以及初始化 8、引用需要用到的一些python包 9、设置个人账户的信息包括你的QMT安装路径、QMT个人账户 10、创建交易对象 11、连接miniqmt终端 12、订阅个人账户信息 以上是基础操作需要保证账户订阅成功才可以继续开发后续的其他信息的订阅。 13、查询账户信息 14、查询委托单信息 15、查询成交信息 16、查询持仓信息 然后运行一下看下效果 由于没有持仓和其他数据所以只有个人账户的信息 QMT交易客户端也可以看到信息信息是匹配的。 其他信息大家可以自行把玩。后续会看心情更新一些量化爬坑开发经历欢迎大佬们持续关注~ 以上测试有关具体代码如下 // See https://aka.ms/new-console-template for more information
using Python.Runtime;
using System.Diagnostics;Console.WriteLine(Hello, World!);
// 设置 Python 解释器的 DLL 路径
string pythonDllPath C:\Users\Wesky\AppData\Local\Programs\Python\Python310\python310.dll; // Python 安装路径
Environment.SetEnvironmentVariable(PYTHONNET_PYDLL, pythonDllPath);
// 初始化 Python 引擎
PythonEngine.Initialize();using (Py.GIL())
{dynamic sys Py.Import(sys);dynamic time Py.Import(time);dynamic datetime Py.Import(datetime);dynamic xtquant_xttrader Py.Import(xtquant.xttrader);dynamic xttype Py.Import(xtquant.xttype);string path D:\XXXXX\userdata_mini; // 你自己的QMT安装路径string acct xxxxx; // 你自己的资金账户// 创建交易对象int session_id (int)time.time();dynamic xt_trader xtquant_xttrader.XtQuantTrader(path, session_id);// 连接 miniQMT 终端xt_trader.start();if (xt_trader.connect() 0){Console.WriteLine(【终端连接成功】);}else{Console.WriteLine(【终端连接失败】请运行并登录miniQMT.EXE终端);return;}// 订阅账户信息dynamic ID xttype.StockAccount(acct);int subscribe_result xt_trader.subscribe(ID);if (subscribe_result 0){Console.WriteLine(【账户信息订阅成功】);}else{Console.WriteLine(【账户信息订阅失败】 账户配置错误检查账号是否正确。);sys.exit();return;}Console.WriteLine(************* 账户信息 *****************);dynamic asset xt_trader.query_stock_asset(ID);if (asset ! null){Console.WriteLine($ID {asset.account_id});Console.WriteLine($资产总额 {asset.total_asset});Console.WriteLine($持仓市值 {asset.market_value});Console.WriteLine($可用资金 {asset.cash});Console.WriteLine($在途资金 {asset.frozen_cash});}// 委托信息Console.WriteLine(**************** 委托信息 **********************);foreach (dynamic order in xt_trader.query_stock_orders(ID, cancelable_only: true)){Console.WriteLine($编号 {order.order_id});Console.WriteLine($代码 {order.stock_code});Console.WriteLine($委托 {order.order_volume});Console.WriteLine($成交 {order.traded_volume});Console.WriteLine($委价 {order.price});Console.WriteLine($状态 {order.order_status});Console.WriteLine($未成 {order.order_volume - order.traded_volume});Console.WriteLine($报单时间 {datetime.datetime.fromtimestamp(order.order_time).strftime(%H:%M:%S)});}// 成交信息Console.WriteLine(**************** 成交 **********************);foreach (dynamic trade in xt_trader.query_stock_trades(ID)){Console.WriteLine($代码 {trade.stock_code});Console.WriteLine($成交 {trade.traded_volume});Console.WriteLine($成交价 {trade.traded_price});Console.WriteLine($成交额 {trade.traded_amount});Console.WriteLine($订单编号 {trade.order_id});Console.WriteLine($成交编号 {trade.traded_id});Console.WriteLine($成交时间 {datetime.datetime.fromtimestamp(trade.traded_time).strftime(%H:%M:%S)});}// 持仓信息Console.WriteLine(**************** 持仓信息 **********************);foreach (dynamic position in xt_trader.query_stock_positions(ID)){Console.WriteLine($代码:{position.stock_code});Console.WriteLine($持仓:{position.volume});Console.WriteLine($可用:{position.can_use_volume});Console.WriteLine($冻结:{position.frozen_volume});Console.WriteLine($开仓价格:{position.open_price});Console.WriteLine($市值:{position.market_value});Console.WriteLine($在途股份:{position.on_road_volume});}
}Console.ReadLine();// 关闭 Python 引擎
PythonEngine.Shutdown();