Не могу найти в справке про "Указатели на функции" - страница 5

 
Dr.Trader 2017.01.07 01:20      RU
Renat Fatkhullin:

Это будет являться основой для написания независимых датафидов, а также позволит использовать дополнительные расчетные потоки.

Спасибо, просто шикарно. 
А если будет еще и межсервисное взаимодействие с объектами синхронизации, а-ля потоки в Windows, будет шикарно в квадрате! И чтобы OpenCL в сервисах работал, само собой.
 
Alexey Volchanskiy:
А если будет еще и межсервисное взаимодействие с объектами синхронизации, а-ля потоки в Windows, будет шикарно в квадрате! И чтобы OpenCL в сервисах работал, само собой.
Будет.
 
Alexey Volchanskiy:
Во первых, код нерабочий, даже с исправленными ошибками. Во вторых, давно неинтересно ковырятся в кишочках ОС, если это не связано с конкретной задачей. А задача ясная и простая - выйти в 2017 на стабильные 100%/мес. Наверное, у меня уже совсем закончилось детство в одном месте))
GetCurrentThreadId(), "d" было в апперкейсе сорри. Компилятор ведь не скажет что это ошибка при импорте.
Суть не в том, я лоханулся сам конкретно. У меня сейчас проект тянется, где сова с индюком общаются большими массивами данных. 
OnChartEvent и OnTimer толкаются с разных контекстов, а их два - у совы и индюка. У меня голова и болела с вопросами синхронизации.
Типо как отдать управление по кастомному событию OnChartEvent из индюка в сову так, чтобы сова смогла взять данные, отработать, послать кастомное событие назад.
Ну и прочие радости где один поток может затыкать другой, а перфоманс страдать не должен.
Вобщем сорри за дэзу, поток один на каждый модуль, будь то эксперт будь то индикатор. Сам запутался из-за своего текущего ТЗ, где за потоками реально следить надо.
 
Renat Fatkhullin:

Кстати, мы через некоторое время введем понятие сервисов.

В терминале можно будет запускать независимо множество сервисов, не привязанных к чартам/счетам и работающих постоянно вне зависимости от подключений/переключений к счетам.

Это будет являться основой для написания независимых датафидов, а также позволит использовать дополнительные расчетные потоки.

 

Вот бы требующих мультипотоков и прямых указателей схлестнуть с теми, для кого 'MT4 - наше все" и "MQL5 сложнее".

О , круто,  это интересно.

 
alexsis78:
Индикатор вообще в потоке чарта работает. Поэтому если его сделать тяжелым (или ждать ответа от кого-то Sleep-ом), то терминал будет висеть.
 
Andrey Khatimlianskii:
Индикатор вообще в потоке чарта работает. Поэтому если его сделать тяжелым (или ждать ответа от кого-то Sleep-ом), то терминал будет висеть.

Это только в четверке.

В пятерке не так - для каждого символа есть собственный поток, в котором считаются все индикаторы этого символа. Поэтому тормоза одного индикатора тормозят расчеты индикаторов только этого символа и не трогают остальных.

 
Renat Fatkhullin:

Это только в четверке.

В пятерке не так - для каждого символа есть собственный поток, в котором считаются все индикаторы этого символа. Поэтому тормоза одного индикатора тормозят расчеты индикаторов только этого символа и не трогают остальных.

Спасибо за уточнение.

Но и в пятерке все чарты инструмента, на котором висит "мертвый" индикатор, тоже висят. Верно? 

 
Andrey Khatimlianskii:


Но и в пятерке все чарты инструмента, на котором висит "мертвый" индикатор, тоже висят. Верно? 

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

То есть, гуй не морозится никогда.

 
Ну во первых, Sleep в индикаторах не работает, т.е. просто холостой колл. Если нужна "тормозилка" для индикатора, то нужно тянуть API.
А насчет калбэков OnTimer, OnCalculate - новые события скипаются на этапе их подачи с обработчика, если калбэк занят.
В OnChartEvent - ситуация другая. Чуть поэксперементировав, я там нашел priority quaue. События адпейта чарта, репит клавиш и кнопок мыши - могу скипаться.
События кликов и клавы пресс/релиз, кастомные события, отрабатываются в обязательном порядке. Т.е. можно заставить тормозить все окно графика или подокна с одним ChartId, но не GUI всего терминала естессно.
При, с OnChartEvent, это касается и экспертов тоже.
Я правильно нашел суть?
 
alexsis78:
Ну во первых, Sleep в индикаторах не работает, т.е. просто холостой колл. Если нужна "тормозилка" для индикатора, то нужно тянуть API.
А насчет калбэков OnTimer, OnCalculate - новые события скипаются на этапе их подачи с обработчика, если калбэк занят.
Вроде, разрабы говорили, что не скипаются. Даже сравнивали тиковую историю, собранную реал-тайм, с CopyTicks.
Причина обращения: