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

 

В СД не могу отправить ответ. На минуту задумывается и выдает

 
fxsaber:

В СД не могу отправить ответ. На минуту задумывается и выдает

Это новая разновидность бана)))
 
stringo:

Да, отсортированы по времени. Начальная запись ищется двоичным поиском.

Медленный двоичный поиск получается
#include <MT4Orders.mqh>

// Metaquotes-Demo, Netting, RTS-6.17, 2017.04.06 - 2017.04.07, на основе реальных тиков, начальный баланс 10000000 RUR
void OnTick()
{  
  static bool Error = false;  
  static int Type = OP_BUY;
  
  if (Error)
    return;
  
  MqlTick Tick;    

  if (OrderSelect(0, SELECT_BY_POS) && (OrderType() <= OP_SELL))
  {
    const datetime PosTime = (datetime)::PositionGetInteger(POSITION_TIME);      
    HistorySelect(PosTime, PosTime);

    OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0);   
  }
  else if ((OrdersTotal() == 0) && SymbolInfoTick(_Symbol, Tick) && (Tick.bid != 0) && (Tick.ask != 0))
  {
    Error = (OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0, "", 0, 0, INT_MAX) == -1);        
    
    if (!Error)
    {
      OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0);
      
      Type = OP_SELL - Type;
    }    
  }
}

Без розовых строк работает быстро. С ними - очень медленно (на несколько порядков). Каждый HistorySelect(PosTime, PosTime) выбирает не больше нескольких десятков записей из истории. Но на что тогда расходуются все вычислительные ресурсы? Неужели просто на копирование этих десятков записей на каждом тике?

 

И снова я столкнулся с проблемой расхождения в работе одного и того же советника в тестере и в риалтайм. Сначала думал что из за того что индикаторы сложные. Потом подключил встроенный Bands. Та же фигня.

Схема работы простая.

OnInit - получаю хэндл индикатора

OnTick - анализ (копирование в буфер показателей) и торговля

OnDeinit - освобождаю хэндл.

Для проверки сделал следующее. Изменил алгоритм в риалтайм по схеме:

OnTick - получаю хэндл индикатора, анализ (копирование в буфер показателей) и торговля, освобождаю хэндл.

И о чудо ! Все стало совпадать с тестером !

Вот что это ? Баг ? Или еще что то.....

 
Alexey Kravchenko:

Вот что это ? Баг ? Или еще что то.....


Индикатор мультивалютный?
 
Sergey Dzyublik:

Индикатор мультивалютный?
Индикатор стандартный Bands. Советник мультивалютный.
 
Возможно, в одном из сравниваемых вариантов не происходит обновление данных по другим валютным парам.
И из-за этого получаются разные результаты.
 
Sergey Dzyublik:
Возможно, в одном из сравниваемых вариантов не происходит обновление данных по другим валютным парам.
И из-за этого получаются разные результаты.

Так это обновление терминал сам должен делать правильно ?

Хэндлы я получаю в OnInit по всем инструментам с которыми работаю а также делаю синхронизацию всех нужных таймфреймов. Обработку веду только при формировании нового бара. А советник запускаю вообще на "левом" инструменте :-)

Суть то не в этом а в том что расхождений с риалтайм в плане срабатываний быть не должно.

А если для того чтобы все работало нормально нужно каждый раз получать хэндл индикатора то это уже ни в какие ворота....

 
Alexey Kravchenko:

Так это обновление терминал сам должен делать правильно ?
А если для того чтобы все работало нормально нужно каждый раз получать хэндл индикатора то это уже ни в какие ворота....


Посмотрите ответы в этой ветке, в частности от разработчиков, возможно, они будут полезными:
https://www.mql5.com/ru/forum/190003

 

Господа! Дико извиняюсь, что вообще пишу. Но нужна помощь, как говориться ASAP.

У меня случилась ошибка терминала, он перестал подключать кастомные индикаторы и советники.

Лог типа такого

2017.04.20 18:18:59.764 Custom Indicator loading of AD (@Si,H1) failed

Это кастомный индикатор из папки Examples, что появляется после обновления начальной установки.

Всё остальное, что кастомное и индикаторы и советники - прекратили загружаться. Всё вдруг! (До этого работали и тестировались и торговали)

Уверен, что у кого-то что то подобное уже происходило.

Есть средство исправить?

к теме же:

2017.04.20 18:48:00.931 Experts loading of ExpertMACD (@Si,H1) failed

2017.04.20 18:48:42.786 Experts loading of ChartInChart (@Si,H1) failed


Ощущение) что не находит путь...

Что я упускаю?

Платформу переставил. Папку в AppsData/.../Terminal затирал перед переустановкой.  На другом компе с той же осью (W2008RC2) все работает.

Спасибо, проверил бильд.

Очень жду ответов...и советов. Что делать-то.

2017.04.21 10:53:54.329 Terminal MetaTrader 5 x64 build 1583 started (MetaQuotes Software Corp.)

2017.04.21 10:53:54.329 Terminal Windows Server 2008 R2 Enterprise (x64 based PC), IE 08.00, UAC, Intel Core i5

2017.04.21 10:53:54.329 Terminal C:\Users\Администратор\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

2017.04.21 10:55:07.320 Experts loading of MACD Sample (EURUSD,H1) failed

2017.04.21 10:55:45.669 Custom Indicator loading of AMA (EURUSD,H1) failed



Причина обращения: