本人qq578728 欢迎用天勤量化框架的一起交流学习
ssshouxufei=0 pc_dianshu=0 ssdianshu=0 sssy2=0 本地增加4个变量,思路:开新订单累计手续费,平仓统计盈亏点数pc_dianshu变量,累计平仓手续费,实时盈亏收益=((开仓价-现价)*手数 + 平仓盈亏点数)*合约单位(螺纹钢为例10元) 10元-累计手续费 最后再止盈的时候全部清0,循环统计即可。也可以不清0,一直本地统计 下面是双均线为例的代码,回测与单账户单策略回测结果基本相同,有很少的出入,可能与我重写下单函数有关
if position.pos_short > 0: if kc>0: sssy =leiji_sy+(kc - quote.last_price) * position.pos_short * 10 ssdianshu=pc_dianshu+((kc - quote.last_price)*position.pos_short) sssy2=(ssdianshu*10)+ssshouxufei if position.pos_long > 0: if kc>0: sssy =leiji_sy+(quote.last_price-kc ) * position.pos_long * 10 ssdianshu=pc_dianshu+((quote.last_price-kc ) * position.pos_long) sssy2=(ssdianshu*10)+ssshouxufei if df8['ma10'].iat[-1] > df8['ma120'].iat[-1]: if position.pos_short > 0: pc = quote.last_price pc_dianshu=pc_dianshu+((kc - pc)*position.pos_short) ssshouxufei = ssshouxufei - (position.pos_short * 5) id = cover(1, position.pos_short) if position.pos_long == 0: id = buy(1, 1) bd_kc = df8['close'].iat[-1] kc = api.get_order(id)['limit_price'] ssshouxufei=ssshouxufei-5 if df8['ma10'].iat[-1] < df8['ma120'].iat[-1] : if position.pos_long > 0: pc = quote.last_price pc_dianshu = pc_dianshu+((pc - kc)*position.pos_long) ssshouxufei = ssshouxufei - (position.pos_long * 5) id = sell(df8['close'].iat[-1], position.pos_long) # 获取平仓均价 # 计算平仓盈亏 浮动盈亏=(当天的结算价 — 开仓价格)*合约单位*持仓量 — 手续费。 if position.pos_short == 0: id = short(1, 1) bd_kc = df8['close'].iat[-1] kc = api.get_order(id)['limit_price'] ssshouxufei=ssshouxufei-5
chengxiaohui321 编辑问题 2021年2月1日