Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как-то так
Дальше сами ловите что не так.
Спасибо за доработку, но индикатор в принципе и так рабочий был. У меня был вопрос не по индикатору, мне хотелось понять и разобраться, почему меняется размер массива после copybuffer. почему именно после copybuffer, вроде как бы не связанные между собой вещи (handle разных инструментов) в итоге получаются массивы этих инструментов одного размера.
Спасибо за доработку, но индикатор в принципе и так рабочий был. У меня был вопрос не по индикатору, мне хотелось понять и разобраться, почему меняется размер массива после copybuffer. почему именно после copybuffer, вроде как бы не связанные между собой вещи (handle разных инструментов) в итоге получаются массивы этих инструментов одного размера.
Ну зачем на каждом тике пересчитывать весь массив? Все равно то что прошло уже не измениться. Потом нужно отслеживать только последний бар.
P.S. Да не мешает еще очистить буферы перед копированием.
Ну зачем на каждом тике пересчитывать весь массив? Все равно то что прошло уже не измениться. Потом нужно отслеживать только последний бар.
P.S. Да не мешает еще очистить буферы перед копированием.
Я согласен с этим, просто на это пока не тратил время. Опять же повторюсь, вопрос совсем в другом. Изменение размера массива ведь происходит даже при первом запуске индикатора, это тогда, когда нам все равно нужно скопировать весь handle в массив.
Вот вот именно. А при работе с двумя инструментами у нас выходит, что изначально rates_total у двух инструментов разный, это можно увидеть через BarsCalculated().
Но именно после CopyBuffer с копированием разного количество баров (calculated1,2,3,4) в буффер, выходит что по обоим инструментам размер буфера становится одинаковым.
не, в индикаторе размер буфера = rates_total, и до и после CopyBuffer.
Таки для мультивалютника нужно копировать поэлементно, по времени, или будет рассинхронизация в момент нового бара и при отсутствующих свечах.
не, в индикаторе размер буфера = rates_total, и до и после CopyBuffer.
Таки для мультивалютника нужно копировать поэлементно, по времени, или будет рассинхронизация в момент нового бара и при отсутствующих свечах.
Чтоб не мудрить слишком, можно пересчитывать в последствие, последние 2 бара.
if(limit<2) limit=2;
И проблема с рассинхронизацией отпадет.
не, в индикаторе размер буфера = rates_total, и до и после CopyBuffer.
Таки для мультивалютника нужно копировать поэлементно, по времени, или будет рассинхронизация в момент нового бара и при отсутствующих свечах.
Все что выше было сказано все верно, только вы наверное меня не понимаете или не хотите понять. Я согласен что в индикаторе и до и после размер будет = rates_total, но я то говорю не про это а конкретно про массив, к примеру Fast1MABuffer. Вот он равен не тому количеству баров которые я в него копирую.
Все что выше было сказано все верно, только вы наверное меня не понимаете или не хотите понять. Я согласен что в индикаторе и до и после размер будет = rates_total, но я то говорю не про это а конкретно про массив, к примеру Fast1MABuffer. Вот он равен не тому количеству баров которые я в него копирую.
Не верно, и не должен быть равен, Fast1MABuffer - индикаторный буфер.
справка:
При этом необходимо иметь ввиду, что нельзя изменять размер для динамических массивов, назначенных в качестве индикаторных буферов функцией SetIndexBuffer(). Для индикаторных буферов все операции по изменению размера производит исполняющая подсистема терминала.
Не верно, и не должен быть равен, Fast1MABuffer - индикаторный буфер.
справка:
Вот тут не совсем ясно. Изначально я его идентифицирую
Но тут нигде не назначается размер. После уже я его заполняю процедурой CopyBuffer. и в ней уже устанавливаю размер который копирую.
Вот тут не совсем ясно. Изначально я его идентифицирую
Но тут нигде не назначается размер. После уже я его заполняю процедурой CopyBuffer. и в ней уже устанавливаю размер который копирую.
Для индикаторных буферов все операции по изменению размера производит исполняющая подсистема терминала.
Для индикаторных буферов все операции по изменению размера производит исполняющая подсистема терминала.
Немного дошло. Спасибо за ответ.