Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 617

 
Alexander Kharlamov:

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

В МТ4 есть команда if (IsTesting() 

в МТ5 есть аналог?

Спасибо. 

P.S. и еще - в обычном режиме у меня советник пишет  лог-файл, а если запускаю в тестере в МТ5, то не вижу его в привычной папке Tester, как было в М4.

Выбирайте, что именно нужно:

ENUM_MQL_INFO_INTEGER

Идентификатор

Описание

Тип свойства

MQL_MEMORY_LIMIT

Максимально возможный объём динамической памяти для MQL5-программы в MB

int

MQL_MEMORY_USED

Размер использованной памяти MQL5-программой в MB

int

MQL_PROGRAM_TYPE

Тип mql5-программы

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Разрешение на использование DLL для данной запущенной программы

bool

MQL_TRADE_ALLOWED

Разрешение на торговлю для данной запущенной программы

bool

MQL_SIGNALS_ALLOWED

Разрешение на работу с сигналами данной запущенной программы

bool

MQL_DEBUG

Признак работы запущенной программы в режиме отладки

bool

MQL_PROFILER

Признак работы запущенной программы в режиме профилирования кода

bool

MQL_TESTER

Признак работы запущенной программы в тестере

bool

MQL_OPTIMIZATION

Признак работы запущенной программы в процессе оптимизации

bool

MQL_VISUAL_MODE

Признак работы запущенной программы в визуальном режиме тестирования

bool

MQL_FRAME_MODE

Признак работы запущенного эксперта на графике в режиме сбора фреймов результатов оптимизации

bool

MQL_LICENSE_TYPE

Тип лицензии модуля EX5. Лицензия относится именно к тому модулю EX5, из которого делается запрос с помощью MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENSE_TYPE

Насчёт файлов: справка по FileOpen

Файл открывается в папке клиентского терминала в подпапке MQL5\Files (или каталог_агента_тестирования\MQL5\Files в случае тестирования). Если среди флагов указан FILE_COMMON, то файл открывается в общей папке всех клиентских терминалов \Terminal\Common\Files.

Например, каталог данных

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

тогда каталоги агентов тестирования (на примере агента №1) будут здесь:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files

 
Karputov Vladimir:

Выбирайте, что именно нужно:

ENUM_MQL_INFO_INTEGER

Идентификатор

Описание

Тип свойства

MQL_MEMORY_LIMIT

Максимально возможный объём динамической памяти для MQL5-программы в MB

int

MQL_MEMORY_USED

Размер использованной памяти MQL5-программой в MB

int

MQL_PROGRAM_TYPE

Тип mql5-программы

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Разрешение на использование DLL для данной запущенной программы

bool

MQL_TRADE_ALLOWED

Разрешение на торговлю для данной запущенной программы

bool

MQL_SIGNALS_ALLOWED

Разрешение на работу с сигналами данной запущенной программы

bool

MQL_DEBUG

Признак работы запущенной программы в режиме отладки

bool

MQL_PROFILER

Признак работы запущенной программы в режиме профилирования кода

bool

MQL_TESTER

Признак работы запущенной программы в тестере

bool

MQL_OPTIMIZATION

Признак работы запущенной программы в процессе оптимизации

bool

MQL_VISUAL_MODE

Признак работы запущенной программы в визуальном режиме тестирования

bool

MQL_FRAME_MODE

Признак работы запущенного эксперта на графике в режиме сбора фреймов результатов оптимизации

bool

MQL_LICENSE_TYPE

Тип лицензии модуля EX5. Лицензия относится именно к тому модулю EX5, из которого делается запрос с помощью MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENSE_TYPE

Насчёт файлов: справка по FileOpen

Файл открывается в папке клиентского терминала в подпапке MQL5\Files (или каталог_агента_тестирования\MQL5\Files в случае тестирования). Если среди флагов указан FILE_COMMON, то файл открывается в общей папке всех клиентских терминалов \Terminal\Common\Files.

Например, каталог данных

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

тогда каталоги агентов тестирования (на примере агента №1) будут здесь:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files

Спасибо, с заменой IsTesting сразу все понятно, а а лог файлом поразбираюсь, в режиме торговли пишется у меня файл, а в тесте нет. (
 
Alexander Kharlamov:
Спасибо, с заменой IsTesting сразу все понятно, а а лог файлом поразбираюсь, в режиме торговли пишется у меня файл, а в тесте нет. (
Чтобы не мудрить с поиском папки логов, достаточно в Тестере стратегий перейти на вкладку "Журнал", там кликнуть ПКМ и в открывшемся контекстном меню выбрать самый верхний пункт: "Открыть". Запустится Проводник, который сразу откроет папку с логами тестера.
 
Скажите, пожалуйста, если я ставлю один советник на 10 разных графиков или на 10 одинаковых графиков, но с разным ТФ, нужно ли на каждом графике заходить в свойства советника и менять Magic номер???

Спасибо
 
Ivan Butko:
Скажите, пожалуйста, если я ставлю один советник на 10 разных графиков или на 10 одинаковых графиков, но с разным ТФ, нужно ли на каждом графике заходить в свойства советника и менять Magic номер???

Спасибо
Если на разные графики - скорей всего все будет норм. а если на одинаковые графики с разными ТФ то скорей всего они не будут корректно работать, но для точного ответа на Ваш вопрос надо смотреть как написано в коде. 
 
BlackTomcat:
Чтобы не мудрить с поиском папки логов, достаточно в Тестере стратегий перейти на вкладку "Журнал", там кликнуть ПКМ и в открывшемся контекстном меню выбрать самый верхний пункт: "Открыть". Запустится Проводник, который сразу откроет папку с логами тестера.
я писал не про тот лог стандартный про который вы говорите. Создаю свой лог и пишу в него то что мне нужно. в торговле работает в тестере не создается файл.
 
Alexander Kharlamov:
я писал не про тот лог стандартный про который вы говорите. Создаю свой лог и пишу в него то что мне нужно. в торговле работает в тестере не создается файл.

Как бы Вы не пытались создавать файл - файлы будут созданы внутри песочницы. Как искать файлы:

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

Вопросы от начинающих

Karputov Vladimir, 2016.09.06 10:19

... 

Насчёт файлов: справка по FileOpen

Файл открывается в папке клиентского терминала в подпапке MQL5\Files (или каталог_агента_тестирования\MQL5\Files в случае тестирования). Если среди флагов указан FILE_COMMON, то файл открывается в общей папке всех клиентских терминалов \Terminal\Common\Files.

Например, каталог данных

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

тогда каталоги агентов тестирования (на примере агента №1) будут здесь:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files


Ещё поможет TERMINAL_DATA_PATH
 
Karputov Vladimir:

Как бы Вы не пытались создавать файл - файлы будут созданы внутри песочницы. Как искать файлы:


Ещё поможет TERMINAL_DATA_PATH

Вот оно как в МТ5!!! )) нашел! )) СПАСИБО!

Искал в папке терминал а он в папке ТЕСТЕР .. но не в той, что в папке Терминал!

 

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

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_color1  clrRed
#property indicator_type1   DRAW_LINE 

double Buffer[];

void OnInit()
{
  SetIndexBuffer(0, Buffer, INDICATOR_DATA); 
}

int OnCalculate( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[] )
{
  return(rates_total - prev_calculated + ::ArrayCopy(Buffer, close, prev_calculated, prev_calculated));
}
 
Подскажите пожалуйста, от чего такое может быть? :
//--- По отдельности

Fun_1();     // Работает
//----------------------
Fun_2();     // Работает

//--- Совместно

Fun_1();     // Работает
Fun_2();     // не Работает
//----------------------
Fun_2();     // Работает
Fun_1();     // не Работает
Функции Fun_1() и Fun_2() аналогичные.
Причина обращения: