Ошибки, баги, вопросы - страница 1800

 
fxsaber:

Искусственного моделирования нет! Есть факт тормозов MT5, который бросает тень на озвученные разработчиками HFT-возможности в статьях.

Раньше разработчики пиняли на третьих лиц, когда им показывали тормоза на ФОРТС. Теперь же можно сторонние причины точно отбросить - тормозит сам Metaquotes-Demo. 

Просто безнравственно предъявлять претензию к демо-серверам, тем более к тем, за которыми не стоит брокер  :-)
 
Dennis Kirichenko:
Просто безнравственно предъявлять претензию к демо-серверам, тем более к тем, за которыми не стоит брокер  :-)

В СД поблагодарили за найденные тормоза платформы, т.к. смогли выявить слабые места и устранить их.

Именно Metaquotes-Demo обязан работать, как часы. И разработчики видят все внутренние его логи.

 
A100:
Думаю, что для целей формирования Обзора рынка неэффективны все проверки кроме SYMBOL_TRADE_MODE_DISABLED
Это из другой оперы. Если Disabled - 100% нельзя. А если SYMBOL_TRADE_MODE_FULL - не 100%, что можно.
 

На Metaquotes-Demo полно символов с отсутствием цен, но на них можно выставлять лимитники!

Демонстрация для символа "KRKO"

void OnStart()
{
  MqlTradeRequest Request = {0};

  Request.action = TRADE_ACTION_PENDING;
  Request.symbol = "KRKO";
  Request.volume = 1;
  Request.price = 1;
  Request.type = ORDER_TYPE_BUY_LIMIT;
  Request.type_time = ORDER_TIME_DAY;
  
  MqlTradeResult Result = {0};
  
  OrderSend(Request, Result);
}

Результат


Даже маржа взимается. OrderCheck возвращает true и для маркет-запросов (OrderSend - requote).

Это баг?

 
fxsaber:

OrderCheck возвращает true и для маркет-запросов (OrderSend - requote).

На EURRUB OrderCheck возвращает true при закрытом рынке.

 

 
fxsaber:

Именно Metaquotes-Demo обязан работать, как часы. И разработчики видят все внутренние его логи.

Именно.
 
Множественный вызов SymbolSelect вызывает зависание терминала.
 
Dennis Kirichenko:
Просто безнравственно предъявлять претензию к демо-серверам, тем более к тем, за которыми не стоит брокер  :-)
Если на демо всё работает абы -как, то будет безнравственно требовать нормальной работы от реальных серверов.

А MQ сервер должен быть неким "эталоном", на котором как раз можно было бы и нужно обкатывать свои технологии разработчикам алго.
 
fxsaber:
Множественный вызов SymbolSelect вызывает зависание терминала.
bool SymbolExist( const string Symb, const bool MarketWatch = true )
{
  bool Res = false;
  
  for (int i = SymbolsTotal(MarketWatch) - 1; (i >= 0) && (!Res); i--)
    Res = (Symb == SymbolName(i, MarketWatch));
    
  return(Res);
}

bool SymbolOnOff( const string Symb )
{
  return(SymbolSelect(Symb, !SymbolExist(Symb)));
}

void OnStart()
{
  for (int i = SymbolsTotal(false) - 1; i >= 0; i--)
  {
    const string Symb = SymbolName(i, false);
    
    if (SymbolOnOff(Symb))
      SymbolOnOff(Symb);
  }
}
 
Не увидел в Справке упоминания, что если символ отсутствует в Обзоре рынка, то данные по нему не получить. Методом тыка пришлось.