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

 
Vladislav Andruschenko:
Такое мнение, что на разном символе, разные тики загружаются. 

Ну там например: тестируем gbpusd, значит по ней загружает все, а по остальным парам фильтрует тики для загрузки, чтобы меньше памяти использовать. 

Ну так проверьте, это же элементарно. Запишите все тики в файлы и сравните.

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

 
Andrey Khatimlianskii:

Ну так проверьте, это же элементарно. Запишите все тики в файлы и сравните.

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


Спасибо буду искать. 
А какая у вас частота ?
 
Konstantin Gruzdev:

Используете таймер? Проверьте идентичность событий таймера от прохода к проходу.

Через таймер да, 
Скорее надо повысить частоту таймера ...... 
Пропускает какое то количество тиков. От этого и разность результатов. Разность очень маленькая. Но хватит 1 тика пропустить и все переворачивается с ног на голову. 
 
Stanislav Korotky:

Я прекрасно знаю, что главный модуль должен быть без папок - так оно и есть, папку по-умолчанию они сами "дорисовывают" выпадающими опциями справа от кнопок загрузки.

Не прокатывает.

Файл mql5pack-ico.zip в архиве переместите в папку.

 
Anton:

Могли бы посмотреть и эту проблему?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: HistoryTicks

fxsaber, 2020.01.09 14:43

К сожалению, обновить не получается. Автомат КБ выдает такое
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
В ME все компилируется без ошибок.

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

 
Vladislav Andruschenko:
А какая у вас частота ?

По тикам всех используемых инструментов.

 
Подскажите, где баг, в MQL4 или MQL5?
struct A
{
  static const int Array[];
};

static const int A::Array[] = {0};

struct B : public A
{  
  int i[sizeof(B::Array)]; // MQL5 - ok, MQL4 - ok.
  int j[sizeof(A::Array)]; // MQL5 - ok, MQL4 - error.
};
Строка для поиска: Oshibka 004.
 
fxsaber:

Могли бы посмотреть и эту проблему?


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

Исправлено.

 
Anton:

Исправлено.

Вижу, спасибо.

 
Andrey Khatimlianskii:

По тикам всех используемых инструментов.


вот мой код проверки новых тиков:

void OnTimer()
  {
//+------------------------------------------------------------------+
// Перебор всех символов, которые указаны в внешних переменных
// Recursion of all symbols that are specified in external variables
//+------------------------------------------------------------------+
   string SymbolToTick="";
   for(int si=0; si<12; si++)
     {
      if(si==0)
         SymbolToTick=PAIR1;
      if(si==1)
         SymbolToTick=PAIR2;
      if(si==2)
         SymbolToTick=PAIR3;
      if(si==3)
         SymbolToTick=PAIR4;
      if(si==4)
         SymbolToTick=PAIR5;
      if(si==5)
         SymbolToTick=PAIR6;
      if(si==6)
         SymbolToTick=PAIR7;
      if(si==7)
         SymbolToTick=PAIR8;
      if(si==8)
         SymbolToTick=PAIR9;
      if(si==9)
         SymbolToTick=PAIR10;
      if(si==10)
         SymbolToTick=PAIR11;
      if(si==11)
         SymbolToTick=PAIR12;
     
      if(SymbolToTick=="" && si==0)
        {
         SymbolToTick=Symbol();
        }
      if(SymbolToTick=="")
         continue;
      //|#############################################################################################+
      // проверяем текущий Бид Аск
      MqlTick last_tickSymbol;
      SymbolInfoTick(SymbolToTick,last_tickSymbol);
      double currentBid=last_tickSymbol.bid;
      double currentAsk=last_tickSymbol.ask;

      //|#############################################################################################+
      // Если тик изменился, запускаем тик этого символа
      if(currentBid!=LastBid[si] || currentAsk!=LastAsk[si])
        {
         // Запускаем исполнение тика
         OnTickSymbol(si,SymbolToTick);
         LastBid[si]=currentBid;
         LastAsk[si]=currentAsk;
         TicksAllNumbers[si]++;
        }
      //|#############################################################################################+
     }
  }


создал для проверки массив с подсчетом количества тиков. 


Тестирую две пары EURUSD GBPUSD

Запускаю тест на GBPUSD:

2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS EURUSD TicksAllNumbers=621120
2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS GBPUSD TicksAllNumbers=1143002


Запускаю тест на EURUSD:

2020.02.18 14:01:37.129 Core 1  2020.02.16 23:59:58    TICKS EURUSD TicksAllNumbers=621120
2020.02.18 14:01:37.129 Core 1  2020.02.16 23:59:58    TICKS GBPUSD TicksAllNumbers=1143002


Тиков вроде одинаково. ... ... ... значит где-то я что-то упустил.....

Спасибо буду копать дальше



РЕШЕНО: В коде завалялся _Digit , наверно неглядя его добавил в окружение.....

комментарии излишни :-)