这样编写为什么撤单以后,不再发出新的委托单了呢
Defs
//此处添加公式函数
Integer trySendOrder(StringRef sym,Numeric price,Integer volume)
{
If(len(myPos.symbol)==0)
{
//初始化持仓
A_GetPosition(sym,myPos);
Return 0;
}
//如果有未成交单先平仓
If(myPos.longActiveVolume !=0 || myPos.shortActiveVolume!=0 ||myPos.longActiveCloseVolume !=0 || myPos.shortActiveCloseVolume!=0)
{
A_DeleteAccountOrder(sym);
Return 1;
}
Return 0;
}
Events
//在新bar的第一次执行之前调用一次,参数为新bar的图层数组
OnBarOpen(ArrayRef<Integer> indexs)
{
if(BarStatus==2)
{
trySendOrder(Symbol(),Open,1);
}
}
OnPosition(PositionRef pos)
{
myPos=pos;
}
OnBar(ArrayRef<Integer> indexs)
{
HHV01=Highest(C[1],zhou);
//---------------------开多仓------------------------//
If(MarketPosition==0 AND High>=HHV01 )
{
Buy(1,HHV01);
}
//------------------------------------------------------------------------------------------------
Myprice =HHV01- H[1]*0.005;
If(MarketPosition==1 )
{PlotNumeric("duo",Myprice);}
If(MarketPosition==1 And L < Myprice AND BarsSinceentry > 0)//多头跟踪止损
{
Sell(1, MyPrice);
}
}
OnBar(ArrayRef<Integer> indexs)
{
HHV01=Highest(C[1],zhou);
//---------------------开多仓------------------------//
If(MarketPosition==0 AND High>=HHV01 )
{
Buy(1,HHV01);
}
//------------------------------------------------------------------------------------------------
Myprice =HHV01- H[1]*0.005;
If(MarketPosition==1 )
{PlotNumeric("duo",Myprice);}
If(MarketPosition==1 And L < Myprice AND BarsSinceentry > 0)//多头跟踪止损
{
Sell(1, MyPrice);
}
}
您提供的只是撤单部分的代码,发单部分是怎么写的?