Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я имел в виду что при передаче данных в массив он будет сам последовательно заполняться т.е. array1[] = x; в какую ячейку запишется значение x если номер ячейки прямо не указан?
Нет. Если нужно заполнить все ячейки одим и тем же значением , используйте ArrayInitialize().
Если нужно записать разные значения, то в цикле последовательно. Если нужно в определённую ячейку записать, то указывайте адрес ячейки.
Нет. Если нужно заполнить все ячейки одим и тем же значением , используйте ArrayInitialize().
Если нужно записать разные значения, то в цикле последовательно. Если нужно в определённую ячейку записать, то указывайте адрес ячейки.
Спасибо,
Ещё вот такой вопрос: через ArrayCopy я смогу создать новый массив размером равным количеству заполненных ячеек предыдущего? Или надо сначала создать второй массив и только потом копировать?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
Спасибо,
Ещё вот такой вопрос: через ArrayCopy я смогу создать новый массив размером равным количеству заполненных ячеек предыдущего? Или надо сначала создать второй массив и только потом копировать?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
Сначала создать, естественно.
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
Вот примерно так, я записываю значение Spread в массив ExtSpread[] и по завершении минутного бара перекидываю в другой массив - который по идее должен дожить до следующего бара.
Размер ExtSpread[1000]
Так, а такой вопрос нумерация в массиве идёт с нуля и тогда при размере 1000 его последняя ячейка будет 999 ?
Тогда правильно будет : x++ и if ( x > 999 ) x=0;
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
Вот примерно так, я записываю значение Spread в массив ExtSpread[] и по завершении минутного бара перекидываю в другой массив - который по идее должен дожить до следующего бара.
Размер ExtSpread[1000]
Так, а такой вопрос нумерация в массиве идёт с нуля и тогда при размере 1000 его последняя ячейка будет 999 ?
Тогда правильно будет : x++ и if ( x > 999 ) x=0;
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[];ArrayInitialize (Spread2,EMPTY_VALUE); ArrayResize( Spread2,x,0);
ArrayCopy( Spread2,ExtSpread,0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 999) x = 0;
Перенесено:
scomoroh, 2016.12.04 18:58
При компилировании вылезает ошибка. В чем дело? Помогите решить!Перенесено:
scomoroh, 2016.12.04 18:58
При компилировании вылезает ошибка. В чем дело? Помогите решить!ArrayInitialize(max,0) => ArrayInitialize(arr,0);
for(int a=1;a<=pr;a++) => for(int a=1;a<pr;a++)
Очень-очень неоптимальный код, повесит терминал на несколько минут при запуске, да и потом тормозить жестко будет, а если уж на нескольких графиках запускать то вообще
ArrayInitialize(max,0) => ArrayInitialize(arr,0);
for(int a=1;a<=pr;a++) => for(int a=1;a<pr;a++)
Очень-очень неоптимальный код, повесит терминал на несколько минут при запуске, да и потом тормозить жестко будет, а если уж на нескольких графиках запускать то вообще