A_GetAccount获取的数据会污染历史数据如何破解?

我想通过A_GetAccount获取可用资金和总权益,再用 保证金*手数 预估开仓后的账号风险,风险率小于85%(CalRiskRatio < 0.85)才允许建仓。问题:当风险值已经超过85%时,策略信号会全部消失,包括前面已经开过仓的信号,从而导致平仓逻辑失效。去掉(CalRiskRatio < 0.85),信号可恢复正常,但风险率经常超限。原因:A_GetAccount获取的是实时数据,不是序列,会使整个图表相关变量的历史数据被实时数据污染。请问老师如何破解? Bool ret = A_GetAccount(acc,0); FreeMargin = acc.available; LastEquity = acc.currMargin + FreeMargin; CalRiskRatio = (LastEquity - FreeMargin + perMargin*Lots)/LastEquity; If(开仓逻辑 And CalRiskRatio < 0.85) 开仓

不是图表变量被实时信号污染而是这俩根本就是两个体系你混用就是会乱的图表信号的重要用途是回测 回测第一重要的是 每次测结果都是一样的你实时数据一直在变 怎么保证稳定所以是两套系统 老师一直都是不建议混用的

回复:请问一般如何解决,如果单用图表系统如何解决?曾尝试过Portfolio_CurrentCapital(),好像得到的是单个商品的资金占用情况,而不是策略单元绑定的账号的整体资金情况