ArraySetAsSeries(ExtOpenBuffer,true) применить забыли ...
ArraySetAsSeries(ExtOpenBuffer,true) применить забыли ...
А это надо делать в OnInit или каждый раз перед вызовом?
А это надо делать в OnInit или каждый раз перед вызовом?
Это нужно делать сразу после объявления массива.
А это надо делать в OnInit или каждый раз перед вызовом?
Этого делать не надо никогда. Достаточно понять какой индекс какому бару соответствует. Вам какая разница написать 0 или 2 для получения значения текущего бара?
Этого делать не надо никогда. Достаточно понять какой индекс какому бару соответствует. Вам какая разница написать 0 или 2 для получения значения текущего бара?
Мнения разделились...
Мнения разделились...
Нет не разделились. Просто разные подходы к решению простейшей задачи. Внимательно почитайте и посмотрите рисунки в документации. Таких наглядных рисунков я не встречал нигде.
Нет не разделились. Просто разные подходы к решению простейшей задачи. Внимательно почитайте и посмотрите рисунки в документации. Таких наглядных рисунков я не встречал нигде.
Все решилось после ArraySetAsSeries .
Все решилось после ArraySetAsSeries .
Я не сомневался что решится. Я только сомневаюсь в необходимости этого.
Если CopyBuffer() вернул массив с индексацией 0-1-2, то после применения ArraySetAsSeries этот массив будет иметь индексацию 2-1-0
Именно это я и пытался до вас донести. Какая разница какой индекс читать 0 или 2. Главное получить то значение которое нужно. И САМОЕ главное это понять, а не просто тупо применить.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть индикатор который ищет пересечение 2х МА и он работает верно, и вовремя показывает на графике места пересечений. Но советник, который использует этот индикатор, реагирует на уже готовый сигнал с опозданием еще на 2 бара:
Как видно на рисунке советник пропустил не только бар на котором сигнал был уже готов, но и еще 1 бар. Хотя в советнике я достаю нулевой индекс индикатора, и для MA-ев используется цена закрытия.
Для копирования данных я использую
Как я понимаю copyTotal и создает задержку когда я ставлю значение 1, то задержка пропадает, и открытие происходит на том же баре что и сигнал.
Но как мне получить более ранние значения не получив при этом задержку, и почему параметр на против которого написано "сколько копируем" сдвигает вперед а не назад?
У меня есть логика согласно которой, я должен получать не только текущее состояние индикатора, но и данные которые соответствуют предыдущим барам.
Я могу скопировать сразу несколько значений используя CopyBuffer так что-бы я мог (на пример) по индексу 0 получить текущее значение, а по индексу 1 значение предыдущего бара?
Конечная цель, - получать необходимое кол-во данных из буфера, используя один вызов CopyBuffer.