[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 968

 

请帮助。

谁能解释一下为什么这个函数不能一次性关闭所有未平仓的订单?

//
int CloseOrders(int mn) //关闭所有订单的程序
{
int total = OrdersTotal();

for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == mn && OrderSymbol() ==Symbol()
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(), Bid,3,Green);
}

如果(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red) ;
}
如果(OrderType()==OP_BUYSTOP)
{
OrderDelete(OrderTicket() );
}

如果(OrderType()==OP_SELLSTOP)
{
OrderDelete(OrderTicket() );
}
}
}
return(0);
} }

 
kwadrad:

请帮助。

谁能解释一下为什么这个功能不能一次性关闭所有未结订单。


试试这个

void CloseOrders() 
{
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
          {
          if(OrderType()==0)
             OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits),5);
          if(OrderType()==1)
             OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits),5);
          if(OrderType()>1)
             OrderDelete(OrderTicket());
          }
     }
}
 

请帮助解决这个问题.....

我如何为一个已经打开的订单改变TP?

 
pr0fess0r64:

请帮助解决这个问题.....

我如何为一个已经打开的订单改变TP?

像这样https://docs.mql4.com/ru/trading/OrderModify
 
Techno:

试试这个


谢谢,我会试一试的。

你不需要在函数的结尾处返回吗?

 
kwadrad:


谢谢,我会试一试的。

函数末尾的return是不必要的吗?

不,我不知道。
 

编译器不接受相当基本的东西,请帮助我!

int start()

int f;f=1;

它是这样发誓的--

'int' - 分号预期 C:\Others\expertsärson.mq4 (38, 4)

'f' - 不允许在全局范围内表达 C:³³'s prints³'s printsó's borders.mq4 (38, 10)

 
Dimka-novitsek:

编译器不接受相当初级的东西,请帮助!"。

int start()

int f;f=1;

它是这样发誓的--

谁要把支架放进去?普希金?而且他骂人是对的,可惜他不骂你)))。

int start()
{
int f;f=1;
}
 
Dimka-novitsek:

编译器不接受相当基本的东西,请帮助!"。


int start(){
   int f;
   f=1;
}

{}{}{}{}{}{}{}{}{}{}{}{}{}{}
 

好心人,请帮忙。

帮助使该指标中的信息文本变成多色,并略微放大。字DOWN红色粗体字UP绿色也是粗体字。另外在指标名称的左边也让它更大胆一些