一:信号重置
开启自动交易后,我希望清除过往回测的所有信号和已被记录的变量数据,改通过什么代码来实现?
比如说回测下会显示“shortcurrentcontracts”有5手空头,但实际上账户里并没有,如果不清除会影响我下一笔真正开仓的数量。
二:利润计算
对于任何期货品种而言,利润计算的公式是否正确?以下以空头为例。
exit_price = close; //记录退出价格
profit = shortCurrentContracts*(-1)*(exit_price - shortAvgEntryPrice)*ContractUnit/(MinMove*pricescale); //计算退出盈亏
主要是ContractUnit/(MinMove*pricescale)这里不确定写的对不对,这里是跟海龟交易法那期视频学的,但是模拟下来算的好像不太对。
谢谢老师。
第二个修改字符太长超过五百字不让填
Vars ResetFlag(False); Begin If(ResetFlag) { // 这里可以逐个将需要重置的变量进行初始化 shortcurrentcontracts = 0; // 其他需要重置的变量也类似处理 // 设置重置标志为 False,避免下次重复重置 ResetFlag = False; } End
第一个问题可以通过减少订阅的历史k线数量来处理。因为你的模型第一个信号总是需要一定的历史k线来计算形成,你可以慢慢减少k线数量,直到刚好无法产生信号就行了。
第二个问题,为什么要除以最小点数?利润就是市值的差,市值是价格乘以合约单位或者合约乘数,为什么要除以最小跳数?
好的谢谢老师