这有什么不对吗? - 页 6

 
如何同时开立两个订单? 有的EA可以同时开立两个不同方向的订单。
 
sss2019:
同时开两个订单如何?
例如,在不同的账户或终端。
 
sss2019:
如何同时开立两个订单?有的EA可以同时开立两个 不同方向的订单
不存在同时从同一枪管发射的机枪。子弹是一颗一颗打出去的。
 
如果不成功,我如何使挂单 在正确的时间内被删除。如何正确设置日期,使每天打开的订单在5点钟关闭?能否请你告诉我。
 

设h_time为订单的关闭时间,单位为小时。那么代码可以是这样的。

extern   int h_time = 17;    // время указано по серверу
..........

   datetime c_time = TimeCurrent(); 
   int HourCurrent = TimeHour(c_time);

   // установим c_time в 00:00:00 текущего дня
   c_time = c_time - HourCurrent*60*60 - TimeMinute(c_time)*60 - TimeSeconds(c_time);
   // теперь установим c_time на указанный час
   if (h_time > HourCurrent) //время можем установить, если оно еще не наступило
     c_time = c_time + h_time*60*60;
   else
     c_time = 0;

此外,我们应该记住以下细微差别:周五的会期较短;有一些节假日;挂单 到期时间不能设置为接近服务器时间(多近取决于经纪公司)。

 
sss2019:
因此,一旦一个订单将其号码分配给Ticket变量,就不需要用return来输出,该变量在下一个tick上不会再被删除?
在这种情况下,它将不会被删除,因为它是全局声明的
 
granit77:
不存在同时从同一枪管发射的机枪。子弹一个一个地出来。

黄金之言。
 

请在这里帮助我。

   if(TimeHour(TimeCurrent()) == 9 && TimeMinute(TimeCurrent()) == 28 && OrdersTotal() == 0)
     {
     if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 10 * MyPoint,Slippage,0,0,MyComment,16523,0,Green) == true)
       {
       Alert("Ордер открыт");
       }
       else
          {
          Alert("Ошибка ",GetLastError());
          }
     }

事实上,一个订单被打开了,但是Alert("Order is open") 信号并没有响起 相反, Alert("Error",GetLastError())响起 但是对我来说,这似乎是在下一个tick上。

 
sss2019:

请在这里帮助我。

事实上,一个订单被打开了,但是Alert("Order is open") 信号并没有响起 相反, Alert("Error",GetLastError())响起 但是对我来说,这似乎是在下一个tick上。


从什么时候开始,OrderSend 会返回true?
 
啊,我明白了,但我在某个地方看到过像我这样的情况,或类似的情况。我怎样才能使条件在开单后得到满足?