Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es geht hauptsächlich um Klassen, die für mich ein dunkler Wald sind. Aber es sind einige Gedanken aufgetaucht. Erstellen Sie ein Array mit getrennten Daten und Zahlen. Nur, wie erhält man die Indexnummer, in der sich die Daten nach der Sortierung befinden, d. h. wie erhält man das i, das sich in der zweiten Dimension befindet?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
Hat das Folgende getan:
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;
}
}
}
Es geht hauptsächlich um Klassen, die für mich ein dunkler Wald sind. Aber einige Gedanken sind aufgetaucht. Erstellen Sie ein Array mit getrennten Daten und Zahlen. Nur, wie erhält man die Indexnummer, in der sich die Daten nach der Sortierung befinden, d. h. wie erhält man das i, das sich in der zweiten Dimension befindet?
double d[215][2];
m[0][i]=Dat_DtTm;
d[i][0]=f1;
d[i][1]=f2;
Es ist viel einfacher als das. Angenommen, wir haben ein Datums-Array, zum Beispiel datetime m_date[4000] und eine Menge anderer Arrays beliebigen Typs: int, string, double ... und beliebiger Dimension.
Sie sind alle so miteinander verbunden, dass die Daten in der i-ten Zeile dieser Felder dem Datum m_date[ i ] entsprechen. Sie müssen alle diese Arrays nach Datum sortieren.
m_dim sei die Anzahl der Zeilen in diesen Arrays (Anzahl der Daten). Wir werden ArrayResize nicht als kostspielige Operation verwenden, sondern nur m_dim <= 4000, in unserem Beispiel.
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);
// Все
Jetzt nehmen wir aus der ersten Dimension das Datum und aus der zweiten Dimension den Index der Arrays, die diesem Datum entsprechen
Es ist viel einfacher als das. Angenommen, wir haben ein Array mit Daten, zum Beispiel datetime m_date[4000] und eine Reihe anderer Arrays beliebigen Typs: int, string, double ... und beliebiger Dimension
Sie sind alle so miteinander verbunden, dass die Daten in der i-ten Zeile dieser Felder dem Datum m_date[ i ] entsprechen. Sie müssen alle diese Arrays nach Datum sortieren.
m_dim sei die Anzahl der Zeilen in diesen Arrays (Anzahl der Daten). Wir werden ArrayResize nicht als kostspielige Operation verwenden, sondern nur m_dim <= 4000, in unserem Beispiel.
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);
// Все
Jetzt nehmen wir aus der ersten Dimension das Datum und aus der zweiten Dimension den Index der Arrays, die diesem Datum entsprechen