在策略代码获取当前账户动态权益,并手动计算当前主力合约可开仓手数?

获取当前账户动态权益函数不会使用,也不知道怎么获取当前合约的保证金和合约参数,请用例子说一下,谢谢!

// 变量定义区:补充定时器ID及核心计算变量 Vars Integer timerId; // 定时器ID(新增,用于创建定时器) Array<AccountInfo> accountIDs; // 账户ID数组 Integer i; // 循环计数器 MarginRate mRate; // 保证金率对象 Numeric value; // 可用资金 Bool bindRet; // 账户绑定结果标记 // 事件处理区:包含定时器创建及可开仓手数计算逻辑 Events // 就绪事件:创建定时器(1秒间隔) OnReady() { // 创建1秒间隔的定时器,用于实时更新可开仓手数 timerId = CreateTimer(1000); // 1000毫秒 = 1秒,确保计时器ID被正确初始化 } // 定时器事件:每秒计算并输出可开仓手数 OnTimer(Integer id, Integer millsecs) { // 仅处理当前创建的定时器(避免其他定时器干扰) if (id != timerId) return; // 获取关联的交易账户ID列表(类型2为实盘账户) A_GetAccountIDs(2, accountIDs); // 遍历所有关联账户,计算可开仓手数 if (GetArraySize(accountIDs) > 0) { for i = 0 to GetArraySize(accountIDs) - 1 { String userCode = accountIDs[i].userCode; // 获取账户代码 bindRet = A_BindTradeAccount(userCode); // 绑定交易账户 // 获取当前合约的保证金率(针对第i个账户) A_GetMarginRate(MainSymbol, mRate, i); // 获取该账户的可用资金 value = A_FreeMargin(i); // 计算可开仓手数:可用资金 /(当前价 * 合约乘数 * 多头保证金率),取整数部分 Numeric openableLots = IntPart(value / (C * ContractUnit() * mRate.longMarginRatio)); // 输出计算结果 Print("账户[" + Text(i + 1) + "]:" + Left(userCode, 3) + "(" + IIFString(bindRet, "绑定成功", "绑定失败") + ")," + "可开" + MainSymbol + "手数:" + Text(openableLots)); } } }

回复:谢谢。我测试一下

先判定登录了几个行号,然后分别获取登录账号的ID,然后查询该ID在某合约的保证金率,然后计算剩余资金的数量除以每手保证金最终得出可开开仓手数

// 获取当前账户动态权益 Numeric currentEquity = A_CurrentEquity(); Commentary("当前动态权益: " + Text(currentEquity));请问上面代码可以随时获取到当前模拟账户的动态权益吗?如果不行,请指正。谢谢

全都是函数手册里的东西....

https://tbq3.tbquant.net/helper?product_id=991&keyword=1122&content_id=1003&type=article#getproperty-%E8%8E%B7%E5%8F%96bar%E4%B8%8A%E7%9A%84%E5%90%88%E7%BA%A6%E5%B1%9E%E6%80%A7- 获取Bar上的合约属性

https://tbq3.tbquant.net/helper?product_id=991&keyword=1122&content_id=769&type=article#a_getmarginrate-%E8%8E%B7%E5%8F%96%E8%B4%A6%E6%88%B7%E5%AF%B9%E5%BA%94%E5%90%88%E7%BA%A6%E7%9A%84%E4%BF%9D%E8%AF%81%E9%87%91%E7%8E%87 获取账户对应合约的保证金率

https://tbq3.tbquant.net/helper?product_id=991&keyword=1122&content_id=698&type=article#a_currentequity-%E8%BF%94%E5%9B%9E%E6%8C%87%E5%AE%9A%E4%BA%A4%E6%98%93%E5%B8%90%E6%88%B7%E7%9A%84%E5%8A%A8%E6%80%81%E6%9D%83%E7%9B%8A 获取当前关联账户动态权益

回复:这个函数使用有什么要求,我目前获取的是无效数据,请根据上面提供的帮我指正一下。谢谢

回复:A函数在实时行情才能取到测试的时候可以使用图表函数

回复:我好像也碰到代码写了好像没起作用模拟盘风险率超过了设定值还在报单可用资金不够废单因为实盘只会用到40%左右资金也没去检查

回复:感谢,我试试,不懂再请教你!