1 (2022-09-05 17:49:28 отредактировано dark184)

Тема: Callback от индикатора

Всем доброго времени суток. У меня робот использует 3 индикатора, те, что штатно встроены в quik. Сейчас получаю данные от всех индикаторов в коллбэке OnQuote, но сами понимаете это не есть хорошо, ну как минимум я так считаю smile Самое смешное, что стакан мне даром не нужен smile Тем более там происходит и обработка всех данных индикатора, причем от всех трех sad Перерыл всю справку и не нашел коллбэков от каких либо индикаторов. Нужно получать данные исключительно при изменении свечи индикатора даже в одном таймфрейме. Причем получать нужно не только последнюю свечу, но и предыдущую. Всю таблицу получать только память забивать, в этом необходимости нет. В принципе все что мне нужно уже реализовано и работает, за исключением Callback от индикатора. Можете подсказать как обойти эту проблему с примером, или я опять где то слона то и не заметил?
В связи с этим еще пара вопросов.
1. Есть ли здесь приоритеты callback, т.е. если пришел один, то отработает ли первый полностью в случае прихода второго, третьего и т.д. или первый прерывается? Т.е. если первый еще не завершился, то остальные его смогут прервать или будут ждать своей очереди в порядке поступления?
2. Может ли коллбэк вернуть в тело программы переменную? Да, я сейчас в коллбэке работаю напрямую с глобальными переменными. НО! Проблема в том, что так можно нарваться на неприятности, т.к. невозможно предсказать когда будет коллбэк и какой... И если я буду работать напрямую с одной глобальной переменной в разных коллбэках это может привести к непредсказуемым последствиям. Или единственный выход строить логику таким образом, чтобы это исключить?

2

Re: Callback от индикатора

Dark184,

индикатор - это отдельная сущность и прямого обмена между ним и скриптом базово не предусмотрено.

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

3

Re: Callback от индикатора

dark184 пишет:

1. Есть ли здесь приоритеты callback, т.е. если пришел один, то отработает ли первый полностью в случае прихода второго, третьего и т.д. или первый прерывается? Т.е. если первый еще не завершился, то остальные его смогут прервать или будут ждать своей очереди в порядке поступления?
2. Может ли коллбэк вернуть в тело программы переменную? Да, я сейчас в коллбэке работаю напрямую с глобальными переменными. НО! Проблема в том, что так можно нарваться на неприятности, т.к. невозможно предсказать когда будет коллбэк и какой... И если я буду работать напрямую с одной глобальной переменной в разных коллбэках это может привести к непредсказуемым последствиям. Или единственный выход строить логику таким образом, чтобы это исключить?

1. Колбеки не потеряются, сначала будет отработан более ранний, потом придет следующий. Один другого не прервет
2. Стройте логику из расчета, что колбеки приходят в непредсказуемом порядке (так оно и есть)