Пожелания для МТ5 - страница 39

 
sergey1294:

Я вот написал для отлавливания такой ситуации такой код, но в тестере он категорически отказывается работать, на демо счете отлично работает

Позвольте Вам не поверить. Ваша функция всегда будет возвращать true. Можете проверить, оформите её в виде скрипта и запустите прямо сейчас (в выходной) на любом инструменте, получите true.

Чтобы она работала так как Вы хотите, надо заменить TimeCurrent() на TimeTradeServer(). Тогда и в тестере будет работать.

Но всё равно, это нет решает проблемы закрытого рынка, так как бывают ещё и праздники. А на чемпионате, например, первая неделя закончилась в 22:00, вторая в 23:00, а в спецификациях вообще стоит окончание торгов в 24:00.

 
Valmars:

Позвольте Вам не поверить. Ваша функция всегда будет возвращать true. Можете проверить, оформите её в виде скрипта и запустите прямо сейчас (в выходной) на любом инструменте, получите true.

Чтобы она работала так как Вы хотите, надо заменить TimeCurrent() на TimeTradeServer(). Тогда и в тестере будет работать.

Но всё равно, это нет решает проблемы закрытого рынка, так как бывают ещё и праздники. А на чемпионате, например, первая неделя закончилась в 22:00, вторая в 23:00, а в спецификациях вообще стоит окончание торгов в 24:00.

Согласен с вами, что полностью приведенный мною пример не решает проблемы с закрытым рынком. Конечно очень бы хотелось иметь стандартное свойство символа что рынок закрыт это облегчит написание проверок в этом направлении. Надеюсь что разработчики добавят это свойство.
 

Хотелось бы иметь возможность запускать несколько таймеров в одном эксперте.

Доработать EventSetTimer() так чтоб кроме частоты было ещё имя таймера, а OnTimer() бы имел параметр имя таймера.

Таким образом можно былоб вызывать несколько OnTimer().

 
Urain:

Хотелось бы иметь возможность запускать несколько таймеров в одном эксперте.

Доработать EventSetTimer() так чтоб кроме частоты было ещё имя таймера, а OnTimer() бы имел параметр имя таймера.

Таким образом можно былоб вызывать несколько OnTimer().


 

Баловство это. Установите таймер на 1 секунду и из OnTimer через любые нужные Вам промежутки времени раздавайте пользовательские события при помощи функции EventChartCustom

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
stringo:

 

Баловство это. Установите таймер на 1 секунду и из OnTimer через любые нужные Вам промежутки времени раздавайте пользовательские события при помощи функции EventChartCustom

Хм, спасибо за подсказку.
 
stringo:

 

Баловство это. Установите таймер на 1 секунду и из OnTimer через любые нужные Вам промежутки времени раздавайте пользовательские события при помощи функции EventChartCustom

Э нет, один OnTimer() будет обрабатыватся одним потоком а несколько несколькими,

туда можно будет запихать любые долгие расчёты и при этом распаралелить их.

 
Urain:

Э нет, один OnTimer() будет обрабатыватся одним потоком а несколько несколькими,

туда можно будет запихать любые долгие расчёты и при этом распаралелить их.

Не получится. Эксперт крутится в одном и том же потоке, выбирая события из очереди. В отличие от четвёрки, где каждый раз создавался поток, выполнялся start и потом поток убивался.

Распараллеливайте вычисления между разными экспертами. 

 

Например есть два независимых события, расчёт по одному идёт 10 сек по другому 15 сек.

Что прикажите одному событию ждать пока досчитается другое?

Можно конечно пихануть всё в индикатор, но индикатор не работает от таймера,

вот если б ввели возможность работы индикатора от таймера вопрос был бы закрыт.

ЗЫ вот идея выщелочелась, нужна возможность выбора в индикаторе работать от OnTick или от OnTimer.

 
Urain:

Можно конечно пихануть всё в индикатор, но индикатор не работает от таймера,

вот если б ввели возможность работы индикатора от таймера вопрос был бы закрыт.

 

Just do it. Попробуйте.
 
Urain:

Например есть два независимых события, расчёт по одному идёт 10 сек по другому 15 сек.

Что прикажите одному событию ждать пока досчитается другое?


 

Вообще-то синхронизацию никто не отменял. Выполнил работу - послал сообщение: "Шеу, усё готово"

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