Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это мт4 требуется и ветка так же для мт4
Суть не в перевороте расчёта,
а происходит пересчёт буфера на каждом тике
и пока линии не встанут ровно как положено, идёт перерисовка.
Естественно, происходит перерасчёт на каждом тике. Причина - автомасштабирование подвала. Уберите его в настройках МТ и проблемы не станет. Другого способа нет.
Естественно, происходит перерасчёт на каждом тике. Причина - автомасштабирование подвала. Уберите его в настройках МТ и проблемы не станет. Другого способа нет.
Вопрос уже решён самостоятельно, всё работает как требовалось.
Подскажите как в индикаторе сместить цикл в новую точку для расчёта
Например расчёт по барам начинается с одной даты
и если наступило событие то надо продолжать расчёт с новой даты
Если я принудительно меняю дату старта, то всё работает не корректно
Подскажите как в индикаторе сместить цикл в новую точку для расчёта
Например расчёт по барам начинается с одной даты
и если наступило событие то надо продолжать расчёт с новой даты
Если я принудительно меняю дату старта, то всё работает не корректно
Шо за start в коде?)
Щас же так не модно...
void start()
Посмотрите как устроены индикаторы. Там уже встроенные функции имеют параметры необходимые вам. Например, для индикатора, после прихода тика, запускается следующая функция:
OnCalculate
Функция OnCalculate() вызывается только в пользовательских индикаторах при необходимости произвести расчет значений индикатора по событию Calculate. Обычно это происходит при поступлении нового тика по символу, для которого рассчитывается индикатор. При этом индикатор не обязательно должен быть прикреплен к какому-нибудь ценовому графику данного символа.
Функция OnCalculate() должна иметь тип возвращаемого значения int.
int OnCalculate (const int rates_total, // размер входных таймсерий
const int prev_calculated, // обработано баров на предыдущем вызове
const datetime &time[], // Time
const double &open[], // Open
const double &high[], // High
const double &low[], // Low
const double &close[], // Close
const long &tick_volume[], // Tick Volume
const long &volume[], // Real Volume
const int &spread[] // Spread
);
Шо за start в коде?)
Щас же так не модно...
Классический, работает везде и всегда
Подскажите как в индикаторе сместить цикл в новую точку для расчёта
Например расчёт по барам начинается с одной даты
и если наступило событие то надо продолжать расчёт с новой даты
Если я принудительно меняю дату старта, то всё работает не корректно
int limit в глобальные
в init() limit посчитайте
когда надо пересчитайте limit ,
start() сам наступит на новом тике и произойдет пересчет
или гораздо проще