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

 
Sergey Kruglov:
Проблема в том что когда скачиваю триал версию какого-нибудь советника на mt4, открывается нерабочий терминал, я его потом удалил и теперь вообще никакой терминал не открывается, хотя у меня их ещё штуки три установлено. Можно как-то указать чтобы программы скачивались в определённый терминал?
Проводите поиск сразу из нужного терминала - в правом верхнем углу MetaTrader 5 есть поле поиска.
 

Вопрос к знатокам.

Мне нужно понять, сколько памяти я могу использовать для запроса CopyTicks, чтобы не получать 'out of memory'.

К сожалению, я не могу через терминал узнать, сколько доступной памяти у меня на данный момент.

Использую простой скрипт для получения информации:

void OnStart()
  {
   int memory_physical=TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL);
   printf("Physical memory in the system: %d MB",memory_physical);

   int memory_total=TerminalInfoInteger(TERMINAL_MEMORY_TOTAL);
   printf("Memory available to the process of the terminal (agent): %d MB",memory_total);

   int memory_available=TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE);
   printf("Free memory of the terminal (agent) process: %d MB",memory_available);

   int memory_used=TerminalInfoInteger(TERMINAL_MEMORY_USED);
   printf("Memory used by the terminal (agent): %d MB",memory_used);
  }

2016.05.29 09:50:50.642    MemoryTest (EURUSD,H1)    Memory used by the terminal (agent): 319 MB
2016.05.29 09:50:50.632    MemoryTest (EURUSD,H1)    Free memory of the terminal (agent) process: 23963 MB
2016.05.29 09:50:50.621    MemoryTest (EURUSD,H1)    Memory available to the process of the terminal (agent): 24282 MB
2016.05.29 09:50:50.611    MemoryTest (EURUSD,H1)    Physical memory in the system: 12141 MB

Почему-то доступной памяти в два раза больше чем физической. Дело не в свопе, он у меня маленький (400 MB). Я ожидал, что значение будет как в диспетчере задач, доступной памяти примерно 7000 MB.

Кто подскажет, что это за странные числа?

 

Добрый вечер, подскажите как избавиться от ошибки 4059 в тестере. Очень хочется из советника работающего на одном инструменте, например LTCBTC получить цены по другому инструменту, например LTCUSD. 

void OnTick()
  {
//---
   {if(One)
   { 
      ResetLastError();
      Print("1. LTCBTC >>",MarketInfo("LTCBTC",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("2. LTCUSD >>",MarketInfo("LTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("3. BTCUSD >>",MarketInfo("BTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      One=false;
   }}

  }
 
Natalja Romancheva:

Добрый вечер, подскажите как избавиться от ошибки 4059 в тестере. Очень хочется из советника работающего на одном инструменте, например LTCBTC получить цены по другому инструменту, например LTCUSD. 

Не на МТ4. 
 
Andrey Voytenko:

Вопрос к знатокам.

Мне нужно понять, сколько памяти я могу использовать для запроса CopyTicks, чтобы не получать 'out of memory'.

К сожалению, я не могу через терминал узнать, сколько доступной памяти у меня на данный момент.

Использую простой скрипт для получения информации:


Почему-то доступной памяти в два раза больше чем физической. Дело не в свопе, он у меня маленький (400 MB). Я ожидал, что значение будет как в диспетчере задач, доступной памяти примерно 7000 MB.

Кто подскажет, что это за странные числа?

Это виртуальная память. Windows может увеличивать размер своп-файла при необходимости.
 
admoon:
По моему if()должно сработать только один раз, при истинности условия в скобках. А по факту срабатывает при каждой проверке условия и все выражения в {} выполняются на каждом шаге и жуют машинное время. А причем здесь глобальность W? Просто удобнее менять шаг из терминала чем из редактора.

Судя по всему у вас опечатка в коде, и хотели написать вот так:

int i;
//---
   int co=0;
   for(i=0;i<=w;i++)
     {
      if(i==10)
        {
         co++; 
         Alert(co);
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
 
Natalja Romancheva:

iClose + iBarShift. Тестер в МТ4 следит за корректностью текущей цены только тестируемого инструмента, корректность данных других инструментов вы должны обеспечить сами

И вряд ли у вас получится эффективно арбитражить в МТ4

 
Evgeniy Ilin:
Ребят тут вообще модераторы есть живые ? Отправил заявку на продавца , висит уже 3-4 суток . Сколько ждать придется кто знает ?
Ну и чего? Ответили. Моя тоже висит, правда меньшее время.
 
Alexey Navoykov:

Надо было так:

Подскажите, а разве шаблонные классы можно разделять на объявление и реализацию? MetaQuotes когда ввели шаблонные классы, давали разъяснение про это ограничение.
 

Баг с переменной 

Билд 1340 MT5 

Если в переменных поставить:

input bool test=false;

extern bool test=false;

то компилятор не выдаст ошибку, но в параметрах советника на графике - эти параметры исчезнут.


 то есть как будто две разные переменные, хотя они одинаковые. 

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