![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A maior parte das aulas, que para mim são uma floresta escura. Mas, algumas reflexões surgiram. Faça uma matriz com datas e números separadamente. Somente, como obter o número índice onde estão as datas após a classificação, ou seja, obter o i que está na segunda dimensão?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
Fez o seguinte:
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;
}
}
}
A maior parte das aulas, que para mim são uma floresta escura. Mas, algumas reflexões surgiram. Faça uma matriz com datas e números separadamente. Somente, como obter o número índice onde estão as datas após a classificação, ou seja, obter o i que está na segunda dimensão?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
É muito mais simples do que isso. Suponha que tenhamos uma matriz de datas, por exemplo, datetime m_date[4000] e muitas outras matrizes de qualquer tipo: int, string, double ... e qualquer dimensão.
Todos eles estão relacionados de tal forma que os dados na i-ésima fila dessas matrizes correspondem à data m_date[ i ]. Você precisa ordenar todas essas matrizes por data.
Deixe m_dim ser o número de filas nessas matrizes (número de datas). Não usaremos o ArrayResize como uma operação cara, apenas m_dim <= 4000, em nosso exemplo.
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);
// Все
Agora da primeira dimensão tomamos a data e da segunda dimensão tomamos o índice das matrizes correspondentes a esta data
Tudo é muito mais simples. Suponha que temos uma série de datas, por exemplo, datatime m_date[4000] e um monte de outras matrizes de qualquer tipo: int, string, double ... e qualquer dimensão
Todos eles estão relacionados de tal forma que os dados na i-ésima linha dessas matrizes correspondem à data m_date[ i ]. Você precisa ordenar todas essas matrizes por data.
Deixe m_dim ser o número de filas nessas matrizes (número de datas). Não usaremos o ArrayResize como uma operação cara, apenas m_dim <= 4000, em nosso exemplo.
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);
// Все
Agora da primeira dimensão tomamos a data e da segunda dimensão tomamos o índice das matrizes correspondentes a esta data