
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Там в основном все на классах, которые для меня темный лес. Но, кое-какие мысли пришли. Сделать массив с датами и числами по отдельности. Только, как получить номер индекса на котором находятся даты после сортировки, то есть получить i, который во втором измерении?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
Сделал так:
datetime m2[215];
double d[215][4];
m1[i]=Dat_DtTm;
m2[i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=0.0;
d[i][2]=f2;
d[i][3]=0.0;
ArraySort(m1,WHOLE_ARRAY,0,MODE_DESCEND);
for (int y=214;y>=0;y--)
{
for (int a=214;a>=0;a--)
{
if (m1[y]==m2[a])
{
d[y][1]=d[a][0];
d[y][3]=d[a][2];
Print("m1[y]=",m1[y],"d[y][1]=",d[y][1],"d[y][3]=",d[y][3],"y=",y);
break;
}
}
}
Там в основном все на классах, которые для меня темный лес. Но, кое-какие мысли пришли. Сделать массив с датами и числами по отдельности. Только, как получить номер индекса на котором находятся даты после сортировки, то есть получить i, который во втором измерении?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
Все много проще. Пусть у нас есть массив дат, например datetime m_date[4000] и куча других массивов любого типа: int, string, double .. и любой размерности
Все они связаны тем, что данные в i-ой строке этих массивов соответствуют дате m_date[ i ]. Требуется отсортировать все эти массивы по дате.
Пусть m_dim число строк в этих массивах (число дат). Мы не будем использовать ArrayResize, как затратную операцию, просто m_dim <= 4000, в нашем примере.
int m_index[ 4000, 2 ];
// Заполняем массив индексов:
for ( int i = 0; i < m_dim; i ++ )
{
m_index[ i, 0 ] = m_date[ i ];
m_index[ i, 1 ] = i;
}
// Сортируем индексный массив
ArraySort( m_index, m_dim, 0, MODE_DECEND);
// Все
Теперь из первого измерения берем дату, а из второго - индекс массивов, соответствующий этой дате
Все много проще. Пусть у нас есть массив дат, например datetime m_date[4000] и куча других массивов любого типа: int, string, double .. и любой размерности
Все они связаны тем, что данные в i-ой строке этих массивов соответствуют дате m_date[ i ]. Требуется отсортировать все эти массивы по дате.
Пусть m_dim число строк в этих массивах (число дат). Мы не будем использовать ArrayResize, как затратную операцию, просто m_dim <= 4000, в нашем примере.
int m_index[ 4000, 2 ];
// Заполняем массив индексов:
for ( int i = 0; i < m_dim; i ++ )
{
m_index[ i, 0 ] = m_date[ i ];
m_index[ i, 1 ] = i;
}
// Сортируем индексный массив
ArraySort( m_index, m_dim, 0, MODE_DECEND);
// Все
Теперь из первого измерения берем дату, а из второго - индекс массивов, соответствующий этой дате