Библиотеки: Expert - страница 9

 
vek_y4icb:
Классная библиотека!  Я бы не додумался так реализовать открытие эксперта. А Вы еще не подскажете, как определить активный график средствами mql без использования dll. Я тут накодил на winapi, получилось слишком громоздко:

Может быть знаете, как это дело реализовать на mql или хотя бы с dll, но попроще?

Если дочернее окно в терминале максимизировано, то оно такое одно (остальные не считаются максимизированными). За счет этого можно в цикле ChartFirst/ChartNext проверять ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value), и там где value будет 1 - это и есть активное окно.

 
Stanislav Korotky:

Если дочернее окно в терминале максимизировано, то оно такое одно (остальные не считаются максимизированными). За счет этого можно в цикле ChartFirst/ChartNext проверять ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value), и там где value будет 1 - это и есть активное окно.

Это немного не то, то что мне нужно. Но, все-равно, спасибо!!!

 
fxsaber:

Небольшой лайфхак - запуск советников/скриптов на OBJ_CHART-объектах.

Так запущенные советники висят мертво - никак не выполняются. А вот скрипты работают отлично. Поэтому это открывает некоторые возможности.

Например, можно использовать Order-функции из индикаторов на чартах, где уже есть запущенный советник. И при этом никаких новых вспомогательный чартов открывать не требуется.


Компилируем скрипт Scripts\OrderSend.mq5


И запускаем индикатор, который "умеет торговать"

Доброго времени суток. Столкнулся с такой проблемой. При запуске эксперта на OBJ_CHART, он отказывается работать с OnTick. Не знаете, есть ли какое решение, чтобы OnTick заработал? 

 
vek_y4icb:

Доброго времени суток. Столкнулся с такой проблемой. При запуске эксперта на OBJ_CHART, он отказывается работать с OnTick. Не знаете, есть ли какое решение, чтобы OnTick заработал? 

Вы же сами процитировали сообщение про мертвые советники на OBJ_CHART. Это ограничение MT5.

 
fxsaber:

Вы же сами процитировали сообщение про мертвые советники на OBJ_CHART. Это ограничение MT5.

OnTimer ведь работает на них.

 
vek_y4icb:

OnTimer ведь работает на них.

Вам быстрее проверить, не помню.

 
fxsaber:

Вам быстрее проверить, не помню.

Не, это был не вопрос) OnTimer работает на таких экспертах, в том то и дело. А вот OnTick напрочь отказывается.

 
В общем, как я понял, OnTick принципиально невозможно включить на таком эксперте и обходных путей для этого не существует? 
 
vek_y4icb:
В общем, как я понял, OnTick принципиально невозможно включить на таком эксперте и обходных путей для этого не существует? 

Нет обходных путей включений On-функций. Можно эмулировать, вызывая OnTick в высокочастотном OnTimer и добирая (если нужно) пропущенные тики через CopyTicks.

 
fxsaber:

Нет обходных путей включений On-функций. Можно эмулировать, вызывая OnTick в высокочастотном OnTimer и добирая (если нужно) пропущенные тики через CopyTicks.

Ну я так делаю. Спасибо за то, что откликнулись!