Ошибки, баги, вопросы - страница 1546
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если скриптом, то можно (реализация совсем иная - без изменения ТФ) вызывать OnCalculate уже какого-то конкретного индикатора на чарте, либо всех сразу.
Но такой (скрипт) вариант тоже не подходит, если индикатор должен заставить терминал вызвать свой же OnCalculate (MT5).
OnCalculate(параметры);Так не пробовали?Так не пробовали?
Пробовал (CLASS::FullOnCalculate()), бестолку.
Не могу найти, где то на форуме видел
именно из сторонней функции вызывается OnCalculate(с параметрами);
int ваша функция()
{
OnCalculate(с параметрами);
}
Чтото наподобие
Не могу найти, где то на форуме видел
Это и привел.
Нет , это не то
индюк пересчитывается в OnCalculate , только по приходу новой котировки
Сова видит только буферы индикатора, которые заполняются в OnCalculate
т.е если вызвать OnCalculate между приходами котировок
и передать в буферы индикатора значения из другой функции
ну и т.д
Теперь внимание вопрос -- как заставить терминал тотчас же перерисовать данные которые были рассчитаны таким образом?
Теперь внимание вопрос -- как заставить терминал тотчас же перерисовать данные которые были рассчитаны таким образом?
У него рисует данные из буферов, которые находятся не в OnCalculate
в OnCalculate минимальное время отрисоки 1 минута
Тиковые индикаторы рисуют каждый тик
Похоже, никак.
Хотя, в четверке ChartRedraw 100% сделает то, что надо.
Да и в пятерке, как оказалось, нормально.
Так что ChartRedraw в обеих платформах отработает норм.
Когда приходит CHARTEVENT_CHART_CHANGE, делаю расчет, длящийся иногда секунду/другую. Если во время расчета, например, подвинуть чарт, то после расчета будет вызван из очереди снова CHARTEVENT_CHART_CHANGE.
А можно ли во время расчета узнать, что в событийной очереди что-то имеется? Тогда бы мог не делать уже не актуальный расчет, прерывать его и начинать новый расчет?
Например, если даже в очень тяжелую расчетную часть запихнуть всюду проверку на IsStopped(), то закрытие советника будет происходить мгновенно - не дожидаясь расчета.
Вот бы что-то подобное, но не с событие закрытия, а с ChartEvent.