Как отличить бек- и форвард- проход из функции Init() ? - страница 2

 
Georgiy Merts:

Эх, Лёх... да я и рад бы...  Но только не нужен я двести лет бабам... А комп - он всегда будет делать то, что от него требуется...

))) заниженная самооценка  - восьмой смертный грех

 
Georgiy Merts:

Всех приветствую.

Вопрос вынесен в заголовок. 

Надо внутри функции Init() узнать, запущен ли режим оптимизации, и если запущен - какой это проход - бэк-тестирование или форвард-тестирование.

Никто с подобной задачей не сталкивался ?

В следующем билде будет доступна константа MQL_FORWARD

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_FORWARD

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

bool

MQL_OPTIMIZATION

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

bool


 
Rashid Umarov:

В следующем билде будет доступна константа MQL_FORWARD

О !

Премного благодарен.

 

Признака компиляции нет. Например, что программа откомпилирована в Debug/Release-режиме.

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

 
fxsaber:

Признака компиляции нет. Например, что программа откомпилирована в Debug/Release-режиме.

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

   #ifdef __MQL5__ 
      #ifdef _DEBUG 
         Print("Hello from MQL5 compiler [DEBUG]"); 
      #else 
        #ifdef _RELEASE 
           Print("Hello from MQL5 compiler [RELEASE]"); 
        #endif 
     #endif 
   #else 
      #ifdef __MQL4__ 
         #ifdef _DEBUG 
           Print("Hello from MQL4 compiler [DEBUG]"); 
        #else 
           #ifdef _RELEASE 
              Print("Hello from MQL4 compiler [RELEASE]"); 
           #endif 
        #endif 
     #endif 
   #endif 
 
Andrey Khatimlianskii:

Спасибо, про макросы в курсе и использую. Профайлинг - это еще один режим компиляции?

Сталкивался с ситуациями, когда нужны были _SCRIPT, _INDICATOR, _EXPERT.
 
fxsaber:

Спасибо, про макросы в курсе и использую. Профайлинг - это еще один режим компиляции?

Сталкивался с ситуациями, когда нужны были _SCRIPT, _INDICATOR, _EXPERT.

https://www.mql5.com/ru/docs/constant_indices

PROGRAM_EXPERT

Эксперт

MQLInfoInteger

PROGRAM_INDICATOR

Индикатор

MQLInfoInteger

PROGRAM_SCRIPT

Скрипт

MQLInfoInteger

Документация по MQL5: Список констант языка MQL5
Документация по MQL5: Список констант языка MQL5
  • www.mql5.com
Сигнатура функции, в теле которой расположен макрос. Вывод в лог полного описания функции с типами параметров может пригодиться при идентификации перегруженных функций Уровень залоговых средств, при котором требуется пополнение счета (Margin Call). В зависимости от установленного ACCOUNT_MARGIN_SO_MODE выражается в процентах либо в...
 
Rashid Umarov:

https://www.mql5.com/ru/docs/constant_indices

PROGRAM_EXPERT

Эксперт

MQLInfoInteger

PROGRAM_INDICATOR

Индикатор

MQLInfoInteger

PROGRAM_SCRIPT

Скрипт

MQLInfoInteger

На уровне компиляции. В СД об этом говорили хорошо когда-то. Приводил там хороший довод, согласились. Но потом все уничтожили... инфы не осталось.