如何实现N分钟后逐一平仓? - 页 7

 
Renat Akhtyamov:

你有没有翻译成英文?

而在专家选项卡中,它是用俄语写的?


不,所有东西都是默认的。

 
Natalya Dzerzhinskaya:

不,所有东西都是默认的。

在专家选项卡中,请查看--这些错误是否被翻译成了俄语?

 
Natalya Dzerzhinskaya:

是的,这个代码是有效的。

我在你的代码中使用int而不是bool来关闭

int close;

而一张票是用于所有关闭的买卖,但这只是为了测试。也许正因为如此,出现了一个错误,因为买入已关闭,而卖出却没有关闭。

嗯,这是正确的,这就是它应该是的方式

 
Renat Akhtyamov:

在专家选项卡中,请检查一下--错误是否以俄语播出?


一切都以英语进行广播

 
Natalya Dzerzhinskaya:

一切以英语广播

根据你的描述,最初的想法是

我把代码放在了第一页,在这一页的最后

if(TicketFirst>0)
{
//ну и пошло-поехало...
}

你需要在这个条件中放入2个关闭函数中的一个,并关闭由票据发现的订单(我放了两个),即

if(TicketFirst>0)
{
                  if(OrderSelect(TicketFirst, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(TicketFirst,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(TicketFirst, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(TicketFirst,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }

}

并将错误处理函数 放在整个代码之后

另外,在关闭函数的输入条件中应该有一些逻辑,你没有解释到最后,我也写过这个问题。

而且,这将是确定的。

如果像这样离开,同一张票会被关闭两次。在关闭第一次已经关闭的票据的订单时,会出现4108错误。

 
Renat Akhtyamov:

这就对了,这就是它的意义 所在。

你不应该考虑这个问题,而应该使用帮助并写出bool 类型的值。

不过,你可以使用int,反正不会有什么变化。

运行该脚本,你可以连续运行50次,关闭变量永远不会等于-1。这意味着错误不会在任何语言中翻译出来,甚至在中文中也不会。

//+------------------------------------------------------------------+
#property version   "1.00"
#property strict
#property show_inputs

input int MyTicket = 451971753;

int close = -1;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//закрытие по тикету, переделайте под свой

   if(OrderSelect(MyTicket,SELECT_BY_TICKET)==true)
     {
      close=OrderClose(MyTicket,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
      if(close<0) Print("ERROR равен -1: ",close);
      if(close==0) Print("ERROR не может быть -1 НИКОГДА: ",close);
     }
  }


 
Vitaly Muzichenko:

你不应该考虑这个问题,而应该使用帮助并写出bool 类型的值。

不过,你可以使用int,反正不会有什么变化。

运行该脚本,你可以连续运行50次,关闭变量永远不会等于-1。这意味着错误不会在任何语言中翻译出来,甚至在中文中也不会。

维塔利,你不需要教我。

我记得大约一两年前我亲自教过你如何换成5圆,所以到目前为止你的经验比较少......

你没有做和我一样的,但你说...
 
Renat Akhtyamov:

维塔利,你不必对我说教。

我记得大约一两年前我亲自教过你如何换成5缸机,所以到目前为止你的经验比较少......

我甚至给了你一个例子,不要让你自己看起来很糟糕!"。

 
Vitaly Muzichenko:

是的,我甚至举了一个例子,不要让自己看起来很糟糕!"。

它不像你用我的做了一个,你用你的方式做了,你说...

你到底是什么构造?

而你没有给我看专家的标签,你给我看的是日记。这是两个很大的区别。

在我的案例中,错误是由专家顾问选项卡中的专家顾问播出的。
 
Renat Akhtyamov:

你没有做我的一个,你做了你自己的一个,你说

你到底是什么构造?

而且你没有给我看专家标签,你给我看的是日志。实际上有两个很大的区别。

在我的案例中,错误是由专家顾问选项卡中的专家顾问传送的。

我明白了,你是想嘲弄我。

好了,我走了。

不,我想我只能写信给servicedesk,告诉他们我有一个有问题的终端。