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

 
Andrey Dik #:

MQL_VISUAL_MODE частный случай MQL_TESTER?

MQL_OPTIMIZATION частный случай MQL_TESTER?

то есть,  MQL_TESTER включает в себя и  MQL_VISUAL_MODE и  MQL_OPTIMIZATION?

мне нужно, что бы советник выполнял некоторые действия при работе на чарте и в визуальном режиме, но не делал этого во всех остальных случаях. не соображу, как подобрать правильно для такого случая флаги при проверке MQLInfoInteger()?

я бы мог сделать очень просто, например так:

if (MQLInfoInteger(MQL_VISUAL_MODE) || MQLInfoInteger(MQL_CHART_MODE))

{

  //выполняем некоторые действия

}

но флага  MQL_CHART_MODE  в mql5 не предусмотрено.

У меня вся графика вот так работает:

if (!MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_VISUAL_MODE))
{
  //выполняем некоторые действия
}
 
Andrey Dik #:
текущие флаги признака работы не описывают все возможные варианты, нет флага работы на чарте. 
как нужно выбрать флаги, что бы код работал только на чарте и в визуальном режиме тестера? 

Получается, что код не должен работать в простом тестере.

Если не тестер или (если тестер и визуал), то работаем

 
Artyom Trishkin #:

Получается, что код не должен работать в простом тестере.

Если не тестер или (если тестер и визуал), то работаем

короче, выяснилось, что действительно нужен флаг  MQL_CHART_MODE.

и, так же выяснилось (частично подтвердилось), что логики флагов пересекаются, к примеру, в визуальном режиме тестирования флаги тестера и визуал true

в таком случае напрашивается логичная просьба к разработчикам:

1. добавить флаг  MQL_CHART_MODE

2. разделить сущности MQL_TESTER и MQL_VISUAL_MODE, потому что эти флаги оба true в визуальном режиме

 
Violetta Novak #:

короче, выяснилось, что действительно нужен флаг  MQL_CHART_MODE.

и, так же выяснилось (частично подтвердилось), что логики флагов пересекаются, к примеру, в визуальном режиме тестирования флаги тестера и визуал true

в таком случае напрашивается логичная просьба к разработчикам:

1. добавить флаг  MQL_CHART_MODE

2. разделить сущности MQL_TESTER и MQL_VISUAL_MODE, потому что эти флаги оба true в визуальном режиме

Не надо пожалуйста ничего менять. Это создаст доп. проблемы для тех кто этим пользуется давно - нужно будет переделывать. Чем вариант ниже не подходит?

if (!MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_VISUAL_MODE))
{
  //выполняем некоторые действия
}
 
Violetta Novak #:

короче, выяснилось, что действительно нужен флаг  MQL_CHART_MODE.

и, так же выяснилось (частично подтвердилось), что логики флагов пересекаются, к примеру, в визуальном режиме тестирования флаги тестера и визуал true

в таком случае напрашивается логичная просьба к разработчикам:

1. добавить флаг  MQL_CHART_MODE

2. разделить сущности MQL_TESTER и MQL_VISUAL_MODE, потому что эти флаги оба true в визуальном режиме

Всё верно там с флагами.

Визуал - это тестер? Да.
Тестер - это тестер? Да.
Тестер - это визуал? Не всегда.
Чарт - это тестер? Нет.

 
Artyom Trishkin #:

Всё верно там с флагами.

Визуал - это тестер? Да.
Тестер - это тестер? Да.
Тестер - это визуал? Не всегда.
Чарт - это тестер? Нет.

а одиночный прогон? проще иметь отдельные сущности чем пересекающиеся.

 
Andrey Miguzov #:

Не надо пожалуйста ничего менять. Это создаст доп. проблемы для тех кто этим пользуется давно - нужно будет переделывать. Чем вариант ниже не подходит?

потому что это сработает при оптимизации, что не соответствует поставленной задаче.

 
Violetta Novak #:

потому что это сработает при оптимизации, хотя этого не нужно.

Это не сработает при оптимизации. Потому что оптимизация - это не визуальный режим.

Потратьте 5 минут - вставьте код к себе в эксперта и сможете в этом убедиться.

Добавлено:

Возможно выше задача сформулирована не до конца...

Напишите список - в каких режимах должно работать, а в каких нет - я Вам скину код прямо сюда. 

 
Andrey Miguzov #:

Это не сработает при оптимизации. Потому что оптимизация - это не визуальный режим.

Потратьте 5 минут - вставьте код к себе в эксперта и сможете в этом убедиться.

да, Вы правы, так работает.

 
Violetta Novak #:

а одиночный прогон? проще иметь отдельные сущности чем пересекающиеся.

Не одиночный прогон это MQL_OPTIMIZATION

Есть же список всех флагов:

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
  • www.mql5.com
Информация о запущенной MQL5-программе - Состояние окружения - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5