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

 
Roman:

Благодарю за пояснение, но поведение странное ))

Странно слышать от вас такие вопросы. В справочнике чётко написано


Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Всякая задача может быть разбита на подзадачи, каждую из которых можно либо непосредственно представить в виде кода, либо разбить на еще более мелкие подзадачи. Данный метод называется определения функции. Заголовок функции включает в себя описание типа возвращаемого значения, имени (идентификатора) и формальных параметров.  Количество...
 
Petros Shatakhtsyan:

Если на тестере тоже работает, это хорошо. Проверю.

нет, не работает.

серверное время, кстати, не останавливается в субботу. тут обратное: в терминале серверное время обновляется с приходом новой котировки. например, у вас в обзоре рынка открыт только один символ (не только в тестере, но и в реальности). а тиков нет секунд пять - все это время таймер серверного времени не сдвинется. к субботе это так относится: на сервере время идёт, но терминал об этом не знает, т.к. тиков нет. тестер просто пропустит этот период.

 
Petros Shatakhtsyan:

Но вот я не знаю как определить день субботний или нет. Ведь после закрытия рынка, серверное время останавливается.

С какой целью? Запустить авто-оптимизацию на выходных? Тогда подойдет установка таймера из ОнТик на отдалении в несколько минут. Если сработает, значит тики прекратились и можно оптимизировать.

Если для других целей, сформулируйте их.

 
Alexey Viktorov:

Странно слышать от вас такие вопросы. В справочнике чётко написано


Благодарю Алексей, как раз в справочник я и не заглядывал по этому вопросу ))
Так как умолчательные параметры редко использую, а тут понадобилось, вот и нарвался.
Всегда почему то думал, что параметры не имеют приоритет расстановки, ан нет, имеют.

 

Подскажите кто знает, как задать размер для матрицы, из переданных аргументов.
Что то на подобие этого

void MxResize(int row, int col)
{
   int A[][];      

   ArrayResizeRow(A, row);    
   ArrayResizeCol(A, col);      
}

запись ниже не проходит, - invalid index value

void MxResize(int row=1, int col=1)
{
   int A[row][col];    
      
}
 
Roman:

Подскажите кто знает, как задать размер для матрицы, из переданных аргументов.

https://www.mql5.com/ru/forum/328008/page2#comment_14166682

Размерность многомерных динамических массивов через ArrayResize
Размерность многомерных динамических массивов через ArrayResize
  • 2019.12.09
  • www.mql5.com
Добрый день. Такой вопрос волнует: как использовать ArrayResize для двумерных динамических массивов...
 

Здравствуйте!

Я хочу запустить несколько МТ4 пакетным файлом.

Подскажите, пожалуйста как это сделать и почему мой код не работает:

SET MY_PATH=C:\"Program Files (x86)"
%MY_PATH%\001\terminal.exe
TIMEOUT /T 160
%MY_PATH%\002\terminal.exe
TIMEOUT /T 160
%MY_PATH%\003\terminal.exe
TIMEOUT /T 160
%MY_PATH%\004\terminal.exe
TIMEOUT /T 160
%MY_PATH%\005\terminal.exe
TIMEOUT /T 160
%MY_PATH%\006\terminal.exe
TIMEOUT /T 160
%MY_PATH%\007\terminal.exe
TIMEOUT /T 160
%MY_PATH%\008\terminal.exe
TIMEOUT /T 160
%MY_PATH%\009\terminal.exe
TIMEOUT /T 160
%MY_PATH%\010\terminal.exe
TIMEOUT /T 160
%MY_PATH%\011\terminal.exe
TIMEOUT /T 160
%MY_PATH%\012\terminal.exe
TIMEOUT /T 160

В лучшем случае запускается несколько МТ4, потом зависает.

Разумеется, недостатка в оперативке нет.

Кроме того, я пробовал на разных компах

 
Igor Zakharov:

нет, не работает.

серверное время, кстати, не останавливается в субботу. тут обратное: в терминале серверное время обновляется с приходом новой котировки. например, у вас в обзоре рынка открыт только один символ (не только в тестере, но и в реальности). а тиков нет секунд пять - все это время таймер серверного времени не сдвинется. к субботе это так относится: на сервере время идёт, но терминал об этом не знает, т.к. тиков нет. тестер просто пропустит этот период.

Я уже проверил. На тестере  TimeLocal в выходные дни работает, TimeTradeServer тоже.  а TimeCurrent естественно нет. Тиков нет, а серверное время стоит.

int OnInit()
{
  Print(__FUNCTION__," TimeCurrent     ",TimeCurrent());
  Print(__FUNCTION__," TimeLocal       ",TimeLocal());
  Print(__FUNCTION__," TimeTradeServer ",TimeTradeServer());

    EventSetTimer(3*3600);
 return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTimer()
{
  Print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
  Print(__FUNCTION__," TimeCurrent     ",TimeCurrent());
  Print(__FUNCTION__," TimeLocal       ",TimeLocal());
  Print(__FUNCTION__," TimeTradeServer ",TimeTradeServer());
}
 
Igor Zakharov:

https://www.mql5.com/ru/forum/328008/page2#comment_14166682

Как всегда велосипеды.

Тут вопрос, почему не проходит такая запись.
Ведь переменные из параметров, имеют начальные значения.

void MxResize(int row=1, int col=1)
{
   int A[row][col];    
      
}

А если размер измерений указать числами

void MxSize(int row=1, int col=1)
{
   int A[1][1];    
      
}

То компилятор пропускает, в чём прикол?

Разработчик как то прокомментирует?

 
Andrey Khatimlianskii:

С какой целью? Запустить авто-оптимизацию на выходных? Тогда подойдет установка таймера из ОнТик на отдалении в несколько минут. Если сработает, значит тики прекратились и можно оптимизировать.

Если для других целей, сформулируйте их.

Нет, не для других целей.

Я не думал что в выходные дни TimeLocal работает и сделал так: на TimeCurrent прибавил несколько часов и проверил день недели. Если это суббота, то начать оптимизацию.

С этим конечно точно определить начало субботы нельзя, поскольку рынок в пятницу или в праздничные дни по разному закрывается.

Также нигде не нашел средство, чтобы определить: рынок закрыт или нет.