Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Первое что прихоит в голову выставить явно всем буферам одинаковое свойство AsSeries
Неа. ArraySetAsSeries всем трём буферам ничего не изменило.
Код.
ВНИМАНИЕ! Запускать на W1 или MN! Так как распечатываются индикаторные буферы ПОЛНОСТЬЮ!
ds
ошибки в коде
1.
если уж тут делаете
то и тут надо
так как массивы ведь не сериализованные
2.
если надо 10 элементов, то тут надо
ошибки в коде
1.
если уж тут делаете
то и тут надо
так как массивы ведь не сериализованные
2.
если надо 10 элементов, то тут надо
Это вообще не важно, пусть в одном случае 10, а в другом 11 запрашивает. Здесь важно ПОЧЕМУ один вариант CopyBuffer копирует в начало массива, а другой вариант копирует в конец.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
CopyBuffer: 1-й и 3-й вариант функции копирует по разному?
Vladimir Karputov, 2017.10.09 15:31
У CopyBuffer есть три варианта:
Обращение по начальной позиции и количеству требуемых элементов
int CopyBuffer(
int indicator_handle, // handle индикатора
int buffer_num, // номер буфера индикатора
int start_pos, // откуда начнем
int count, // сколько копируем
double buffer[] // массив, куда будут скопированы данные
);
Обращение по начальной дате и количеству требуемых элементов
int CopyBuffer(
int indicator_handle, // handle индикатора
int buffer_num, // номер буфера индикатора
datetime start_time, // с какой даты
int count, // сколько копируем
double buffer[] // массив, куда будут скопированы данные
);
Обращение по начальной и конечной датам требуемого интервала времени
int CopyBuffer(
int indicator_handle, // handle индикатора
int buffer_num, // номер буфера индикатора
datetime start_time, // с какой даты
datetime stop_time, // по какую дату
double buffer[] // массив, куда будут скопированы данные
);
Параметры
Массив из 128 элементов, копирование 10-ти элементов, но разными вариантами функции CopyBuffer:
Копирование при помощи 1-го варианта даёт такой результат:
Копирование при помощи 3-го варианта даёт такой результат:
Обратите внимание куда пишутся элементы при 1-м и при 3-м варианте.
Это вообще не важно, пусть в одном случае 10, а в другом 11 запрашивает. Здесь важно ПОЧЕМУ один вариант CopyBuffer копирует в начало массива, а другой вариант копирует в конец.
ответ дан в моем первом пункте.
вы неверно сделали указание индексов какие копировать.
Это вообще не важно, пусть в одном случае 10, а в другом 11 запрашивает. Здесь важно ПОЧЕМУ один вариант CopyBuffer копирует в начало массива, а другой вариант копирует в конец.
Может в третьем варианте функции поменять местами даты начала и конца периода? Индексация массивов от самого нового элемента к самому старому(по умолчанию), но функции, учитывающие дату(вторая, третья), просто игнорируют данный порядок и де-факто копируют в обратном порядке.
Может в третьем варианте функции поменять местами даты начала и конца периода? Индексация массивов от самого нового элемента к самому старому(по умолчанию), но функции, учитывающие дату(вторая, третья), просто игнорируют данный порядок и де-факто копируют в обратном порядке.
Утро вечера мудренее, воистину :) .
Правильный ответ дан в:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
CopyBuffer: 1-й и 3-й вариант функции копирует по разному?
o_o, 2017.10.09 18:44
ошибки в коде
1.
если уж тут делаете
то и тут надо
так как массивы ведь не сериализованные
2.
если надо 10 элементов, то тут надо
То есть хоть вариант #1, хоть вариант #2, хоть вариант #3 - главное запрашивать данные С ОДНОЙ СТОРОНЫ ГРАФИКА: с левой стороны или с правой. А не так как я сделал: один вариант запрашивал данные с левой стороны, а другой вариант запрашивал данные с право стороны.