写了个简单做市策略 为啥到平仓之后就再开仓了 ,麻烦看下代码哪里有问题

麻烦老师大神帮忙看下代码 哪里有问题     逻辑 : 是在买一价格减delta挂买入,在卖一价格加delta挂卖出单,如果买单成交则撤销卖单,

//        如果卖单成交则撤销买单;仓位控制采用最小持仓原则,也就是如果有多仓头寸,则卖

//         单为卖平仓,反之为卖开仓,如果是有空头头寸则买单为买平仓,反之为买开仓;  

 为啥执行到 平仓 以后 就不在继续 下新的委托单了 开平标志 Enum_Exit 和 Enum_ExitToday 这两个都试过

//初始化事件函数,策略运行期间,首先运行且只有一次

OnInit()

{

timeID3 = CreateTimer(millsec*10,0,1);

}



//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

OnBar(ArrayRef<Integer> indexs)

{

x = 1;  

}

OnTimer(Integer id,Integer millsecs)

{

if(id == timeID3)

{

A_SendOrderEx(Symbol,Enum_Buy,enum_entry,1, Q_BidPrice - x *MinPointA ,dids);   //以买价发送买单

fubuy_ord = dids[0];       //买单委托单号赋值给首单买单号

A_SendOrderEx(Symbol,Enum_Sell,enum_entry,1,Q_AskPrice + x *MinPointA ,sids);  //以卖价发送卖单

fusell_ord = sids[0];          //卖单委托单号赋值给首单卖单号  

}

}

OnOrder(OrderRef ord)

{

 

if( ord.side  == Enum_Buy and ord.combOffset == enum_entry and ord.status == Enum_Filled)   //买入开仓成交  撤空单  然后再挂单  

{  

tem_delete = A_DeleteOrderEx(sids[0]);                //空单撤单

if(tem_delete)    // 撤单空单成功后 继续挂 卖出平仓 和买入开仓

{

A_SendOrderEx(Symbol,Enum_Buy,enum_entry,1,Q_BidPrice - x *MinPointA ,dids);  //以买1价 - x发送买开单

  fubuy_ord = dids[0];     //买单委托单号赋值买单号

A_SendOrderEx(Symbol,Enum_Sell,Enum_ExitToday ,1, Q_AskPrice + x *MinPointA ,sids);   //以卖1价 + x发送卖平单

fusell_ord = sids[0];   //卖单委托单号赋值卖单号

}


}

if( ord.side  == Enum_Sell  and ord.combOffset == enum_entry and ord.status == Enum_Filled)  //卖出开仓成交 撤多单 然后再挂单

{

tem_delete = A_DeleteOrderEx(dids[0]);                      //多单撤单

if(tem_delete)// 撤单多单成功后 继续挂 买入平仓 和卖出开仓

{

A_SendOrderEx(Symbol,Enum_Buy,Enum_ExitToday ,1, Q_BidPrice - x *MinPointA ,dids);   //以买1价 - x 发送买平单

  fubuy_ord = dids[0];    //买单委托单号赋值给首单买单号

A_SendOrderEx(Symbol,Enum_Sell,enum_entry,1,Q_AskPrice + x *MinPointA ,sids);  //以卖1价 + x发送卖开单

fusell_ord = sids[0];   //卖单委托单号赋值卖单号

}

}

 if( ord.side  == Enum_Buy and ord.combOffset == Enum_ExitToday  and ord.status == Enum_Filled)   //买入平仓成交  撤空单  然后再挂双向单

{  

tex_delete = A_DeleteOrderEx(sids[0]);                //空单撤单

if(tex_delete)    // 撤单空单成功后 继续挂 卖出平仓 和买入开仓

{

A_SendOrderEx(Symbol,Enum_Buy,enum_entry,1,Q_BidPrice - x *MinPointA ,dids);  //以买1价 - x发送买开单

  fubuy_ord = dids[0];     //买单委托单号赋值买单号

A_SendOrderEx(Symbol,Enum_Sell,enum_entry,1, Q_AskPrice + x *MinPointA ,sids);   //以卖1价 + x发送卖开单

fusell_ord = sids[0];   //卖单委托单号赋值卖单号

}

}

if(ord.side  == Enum_Sell  and ord.combOffset == Enum_ExitToday and ord.status == Enum_Filled)  //卖出平仓成交 撤多单 然后再挂双向单

{

tex_delete = A_DeleteOrderEx(dids[0]);                      //撤单上一轮多单

if(tex_delete)// 撤单多单成功后 继续挂 买入平仓 和卖出开仓

{

A_SendOrderEx(Symbol,Enum_Buy,enum_entry,1, Q_BidPrice - x *MinPointA ,dids);   //以买1价 - x 发送买开单

  fubuy_ord = dids[0];    //买单委托单号赋值给首单买单号

A_SendOrderEx(Symbol,Enum_Sell,enum_entry,1,Q_AskPrice + x *MinPointA ,sids);  //以卖1价 + x发送卖开单

fusell_ord = sids[0];   //卖单委托单号赋值卖单号

}

}

}

新手策略,有一个问题麻烦帮看下
有没有高手可以帮忙编写一个简单的策略,有酬谢
为何信号闪烁开仓后第二根bar没有平仓?反而成为锁仓交易了,请看下代码有何问题
一直在市策略,为啥会出现sell和buytocover单独平仓呢?
【策略分享】利用过滤震荡市后的高低点突破做单,附送源码。
老师麻烦帮忙看下该怎样修改
关于开仓策略与平仓策略对接
请教老师该代码哪里有问题
新手学习TB,麻烦老师帮忙看下程序哪里出了问题吧,谢谢
请帮忙看下尾盘平仓的设置

a函数看不了,写日志诊断开仓条件哪个不满足