Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это будет являться основой для написания независимых датафидов, а также позволит использовать дополнительные расчетные потоки.
А если будет еще и межсервисное взаимодействие с объектами синхронизации, а-ля потоки в Windows, будет шикарно в квадрате! И чтобы OpenCL в сервисах работал, само собой.
Во первых, код нерабочий, даже с исправленными ошибками. Во вторых, давно неинтересно ковырятся в кишочках ОС, если это не связано с конкретной задачей. А задача ясная и простая - выйти в 2017 на стабильные 100%/мес. Наверное, у меня уже совсем закончилось детство в одном месте))
Суть не в том, я лоханулся сам конкретно. У меня сейчас проект тянется, где сова с индюком общаются большими массивами данных.
OnChartEvent и OnTimer толкаются с разных контекстов, а их два - у совы и индюка. У меня голова и болела с вопросами синхронизации.
Типо как отдать управление по кастомному событию OnChartEvent из индюка в сову так, чтобы сова смогла взять данные, отработать, послать кастомное событие назад.
Ну и прочие радости где один поток может затыкать другой, а перфоманс страдать не должен.
Вобщем сорри за дэзу, поток один на каждый модуль, будь то эксперт будь то индикатор. Сам запутался из-за своего текущего ТЗ, где за потоками реально следить надо.
Кстати, мы через некоторое время введем понятие сервисов.
В терминале можно будет запускать независимо множество сервисов, не привязанных к чартам/счетам и работающих постоянно вне зависимости от подключений/переключений к счетам.
Это будет являться основой для написания независимых датафидов, а также позволит использовать дополнительные расчетные потоки.
Вот бы требующих мультипотоков и прямых указателей схлестнуть с теми, для кого 'MT4 - наше все" и "MQL5 сложнее".
О , круто, это интересно.
Индикатор вообще в потоке чарта работает. Поэтому если его сделать тяжелым (или ждать ответа от кого-то Sleep-ом), то терминал будет висеть.
Это только в четверке.
В пятерке не так - для каждого символа есть собственный поток, в котором считаются все индикаторы этого символа. Поэтому тормоза одного индикатора тормозят расчеты индикаторов только этого символа и не трогают остальных.
Это только в четверке.
В пятерке не так - для каждого символа есть собственный поток, в котором считаются все индикаторы этого символа. Поэтому тормоза одного индикатора тормозят расчеты индикаторов только этого символа и не трогают остальных.
Спасибо за уточнение.
Но и в пятерке все чарты инструмента, на котором висит "мертвый" индикатор, тоже висят. Верно?
Но и в пятерке все чарты инструмента, на котором висит "мертвый" индикатор, тоже висят. Верно?
Не висят в понимании замороженности интерфейса, а просто новые данные(которые должны досчитаться) у индикатора не показываются.
То есть, гуй не морозится никогда.
А насчет калбэков OnTimer, OnCalculate - новые события скипаются на этапе их подачи с обработчика, если калбэк занят.
В OnChartEvent - ситуация другая. Чуть поэксперементировав, я там нашел priority quaue. События адпейта чарта, репит клавиш и кнопок мыши - могу скипаться.
События кликов и клавы пресс/релиз, кастомные события, отрабатываются в обязательном порядке. Т.е. можно заставить тормозить все окно графика или подокна с одним ChartId, но не GUI всего терминала естессно.
При, с OnChartEvent, это касается и экспертов тоже.
Я правильно нашел суть?
Ну во первых, Sleep в индикаторах не работает, т.е. просто холостой колл. Если нужна "тормозилка" для индикатора, то нужно тянуть API.
А насчет калбэков OnTimer, OnCalculate - новые события скипаются на этапе их подачи с обработчика, если калбэк занят.