Vorstab gefolgt von Innenstäben
void ArrayFuellen() // |
{ //0 |
double low1, high1, opn2, cls2, low3, high3 ;// locale Variable |
//------------------------------------------------------------------------------------------------+
// |
for(int i = 1 ; i <= Min1[0][0] ; i++) {//1 |
// |
Min1[i][0] = iTime(Markt,1,i) ;// Eintragen des jeweiligen Bar |
Min1[i][1] = iOpen(Markt,1,i) ;// |
Min1[i][2] = iLow(Markt,1,i) ;// |
Min1[i][3] = iHigh(Markt,1,i) ;// |
Min1[i][4] = iClose(Markt,1,i) ;// |
Min1[i][5] = iVolume(Markt,1,i) ;// |
Min1[i][6] = iBars(Markt,1)-1 ;}//1 |
// |
for ( i= Min1[0][0]; i>1 ; i--) {//1Innenstäbe suchen |
low1 = Min1[i][2] ; high1 = Min1[i][3] ;// Low & High des möglichen Vorstab |
// |
for ( int j= i-1; j>0 ; j--) {//2die folgenden Stäbe vergleichen |
opn2 = Min1[j][1];cls2 = Min1[j][4] ;// Open und Close des möglichen Innenstabes |
if ((( low1 < opn2) && (low1 < cls2)) && // wenn Open und Close des untersuchten Stabes |
(( high1 > opn2) && (high1 > cls2))) {//3zwischen Hgh und Low des Referenzstabes, dann |
// ist es ein Innenstab zu (i) |
Min1[i][7] = 1;Min1[j][8] = 1 ;// Flag für Vorstab und Innenstab eintragen |
}//3 |
if (!((( low1 < opn2) && (low1 < cls2)) && // wenn Open und Close des untersuchten Stabes |
(( high1 > opn2) && (high1 > cls2)))) {//3zwischen Hgh und Low des Referenzstabes, dann |
i = j+1 ;// Zeiger nachziehen |
break ;}//3 |
}//2"for j" es handelt sich um einen NormalBar |
}//1"for i" |
// |
//------------------------------------------------------------------------------------------------+
return ;// |
} //0 |
//------------------------------------------------------------------------------------------------+
In Min1[0][0] ist die Adresse der letzten Zeile enthalten .
Es wird ein Array gefüllt und anschliessend nach Innenstäben durchsucht . Der erste Stab, dem dann
die Innenstäber folgen, wird in der Spalte [7] markiert, die Innenstäbe dann in der Spalte [8] .
Lobo
2 Comments
Recommended Comments