关于交易所提高保证金费率的问题

大家好,请教一下,我的代码是固定10w开仓,代码如下 Numeric Equity = 100000; // 10万固定权益开仓 Numeric QTY=IntPart(Equity/(MYPRICE*contractunit*BigPointValue*MarginRatio));//计算动态仓位,资金开仓策略是套用在888合约上,开仓是在对应的主力合约上。一般情况下,这样获取的仓位数据没什么问题,但有一些特例,因为交易所提高了保证金费率导致出问题,例如最近的苯乙烯合约,主力合约交易所最低保证金是13%,非主力合约是7%。而根据上面代码获取的保证金费率则是7%而不是13%,导致开仓数量有很大误差,请问如何解决这个问题,感谢解答

可以通过读取基础数据的方式获取

回复:你好,感谢回复。我是软件新手,请问您说的读取基础数据,是指换新的函数直接读取?还是在数据中心里面同步后,我原本代码就能读取?

回复:已经解决,解决代码如下,有同等疑问的同好可以参考下面的写法 Array<String> values01; bool retdice01; retdice01 = GetDicValue("TB_MarginRate_Futures", MainSymbol, SystemDateTime,values01); Numeric Rate = Value(values01[2]); Numeric QTY=IntPart(Equity/(MYPRICE*contractunit*BigPointValue*Rate));//计算动态仓位,资金开仓 Commentary("保证金="+Text(MYPRICE*contractunit*BigPointValue*Rate,0));//打印保证金金额