错误、漏洞、问题 - 页 733

 
现在检查了--其他的声音事件也不工作。
 

我在CTrade类中的开仓 方法(PositionOpen,Buy,Sell)的操作中看到一个奇怪的情况--专家顾问确实开仓了(我在终端可以看到),但这些方法返回错误,_LastError=4756(发送交易请求失败)。当CTrade.ResultRetcode()=10008(已下订单)。

我是不是在这些天的Alpari服务器操作中错过了什么,还是说这是一个错误?

 
blef:

现在检查了--其他声音事件也不工作。

终端中的声音是否启用?

 
是的 - 启用,同样的事情发生在ROBOFOREX服务器上。
 
现在所有的声音事件都在工作 ==> 在MQ和ROBOFOREX终端上。
 

我创建了一个EA, 我在图表上运行它,并手动开仓。

void OnTrade()
  {
//---
   if(OrdersTotal()!=0)
     {
      OrderSelect(OrderGetTicket(0));
      Print("Есть ордера OrdersTotal()=",OrdersTotal()," ",
            EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE))
            );
     }
   else
     {
      OrderSelect(OrderGetTicket(0));
      Print("Нет ордеров OrdersTotal()=",OrdersTotal()," ",
            EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE))
            );
     }
  }

我在图表上运行EA,手动开仓并进入打印状态。

2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED
2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED
2012.05.02 16:27:10     Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal()=0 ORDER_STATE_STARTED

我得到一个 "交易员 "事件,但没有订单,但我得到 "没有订单 "类型的开始和总是,这怎么可能呢?

我认为这玩意就是不给力。

 
然后你检查执行的结果
OrderSelect(OrderGetTicket(0));

询问一个不存在的命令的状况有什么意义呢?那么在这种情况下,第二个表格会返回什么?

bool  OrderGetInteger(
   ENUM_ORDER_PROPERTY_INTEGER  property_id, // идентификатор свойства
   long&                long_var          // сюда примем значение свойства
   );
 
Rosh:

而你检查执行的结果

询问一个不存在的命令的状况有什么意义呢?那么在这种情况下,第二个表格会返回什么?

我知道你会走这条代码解析的道路。

而你为什么不关心是否有订单,因为交易员事件已经触发了(至少其中一个必须是设置订单),而OrdersTotal() 说没有订单?

 
Urain:

我知道你会走这条代码解析的道路。

而你为什么不关心是否有订单,因为交易事件已经触发(其中至少有一个必须通过订单设置),但OrdersTotal()说没有订单?

也许需要PositionTotal()?
 

这是在连接班级时显示的错误

白银收盘良好,但黄金没有。

Если проблема в проскальзывании, то не подскажите как его задавать?
if (myposition.Select(_Symbol))
{
 // закрыть открытую позицию по этому символу
 // величина проскальзывания была установлена ранее 
 mytrade.PositionClose(_Symbol);
}