hi,老师好,
如何在一根满足条件的bar上让它交易2次 甚至3次 请问用什么函数吗(前提我是指令价模型 通过high、low比价后再开仓)
举个例子 抄底网格策略:
例如8000以上每上涨20个点 卖1手
程序运行着,一根bar开仓不满足条件,加到8020,ok满足条件触发了卖1手,程序也OK
但是这个bar继续创新高 high》8040 按理说 同一根bar上应该再卖1手 但是程序不执行再卖 产生净持仓与信号净仓对不上 实际账户差未卖的1手(买也是这样子)
信号净仓是对的(一根bar上卖2手) 但是实际这根bar上就卖1手 请问是要加入什么函数吗
// 上涨卖出逻辑(平仓点差计算)
else if (MarketPosition > 0 && High >= basePrice + sellGridCount * gridSpacing && sellGridCount >= 1 && baseBKVol > 0)
{
Numeric sellVol = Min(lots * sellGridCount, baseBKVol);
MyExitPrice = basePrice + sellGridCount * gridSpacing; // 计算平仓价
Sell(sellVol, MyExitPrice); // 直接使用网格价挂单
Profit = (MyExitPrice - MyEntryPrice) * lots; // 多单平仓点差 = 平仓价 - 开仓价
baseBKVol = baseBKVol - sellVol;
basePrice = MyExitPrice; // 成交后更新基准价
这靠的是编写逻辑,不是什么函数解决
多个交易需要多个交易指令
局部代码无法复现问题,有没有用全局变量
老师好 用了 用了那个series<numeric> 没用这个global(之前用这个出问题 所以我改用前面那个)