Help!!!!!!!!!!!!!!!!有个问题

 

请问如果想把一个历史已经赢利的order找出来并删除与这个order有相同OrderMagicNumber的现有的order的话,这样编可以吗?

我测试过,编译没有问题,但运行的时候虽然可以找出MagicNumber但却找不到与之有相同magicNumber的order......我也不知道是为什么,烦~~~~~~~~~~~

void CheckForDelete()
{
int i,p,magicnum;
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSymbol()==Symbol() && OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderProfit()>takeprofit-3)
{
magicnum=OrderMagicNumber();
for(p=0;p<OrdersTotal();p++)
{
if(OrderSymbol()==Symbol() && OrderSelect(p,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==magicnum)
{ OrderDelect(OrdeTicket()); }

}
}

}
}
}

}

 

很奇怪的做法。

??? 不明白你的删除是什么意思。

OrderDelect是用来删除挂着的挂单的, 持仓单只能修改止损止赢或平仓,怎么能delete 持仓单MODE_TRADES ???

 
DxdCn 写道 >>

很奇怪的做法。

??? 不明白你的删除是什么意思。

OrderDelect是用来删除挂着的挂单的, 持仓单只能修改止损止赢或平仓,怎么能delete 持仓单MODE_TRADES ???

其实我是想删除掉现有的挂单,那应该怎么写呢?

 

犯了一个白痴错误,现在明白了...谢谢!!!!!!!

原因: