Liczenie serii świec

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
felipeq
Bywalec
Bywalec
Posty: 11
Rejestracja: 10 sty 2010, 11:14

Liczenie serii świec

Nieprzeczytany post autor: felipeq »

Witam,
Mam problem z funkcją, która miałaby wyświetlać aktualną serię świec, bez znaczenia, czy to seria świec bull czy bear. Po zakończeniu serii funkcja "puszcza" długość tej serii dalej do programu. Oto, co mi się udało naskrobać:

Kod: Zaznacz cały

if ( NowaSwieca()==true)
  {
  if (bseria==true && TypSwiecy(1)==TypSwiecy(2)) seria++;
  if (bseria==true && TypSwiecy(1)!=TypSwiecy(2))
  { 
  Statystyka(seria);     <------ puszczamy długość serii dalej do programu
  seria=1;
  bseria=false;
  }
  if (bseria==false && TypSwiecy(1)==TypSwiecy(2))
  {
   bseria=true;
  seria++;
  }
Zamieszczam tylko fragment odp. za zliczanie, co robią inne funkcje idzie się domyślić po nazwach :) Teoretycznie wszystko działa ok, ale zdarza się, że np 12 świecową serię interpretuje jako 13, że nagle pokazuje 10 świecową serię itp. Aha, i świeczki doji traktujemy jako zakończenie serii. Pogmatwane, ale mam nadzieję, że zrozumieliście i pomożecie ;)

Pozdrawiam

Awatar użytkownika
xpep
Pasjonat
Pasjonat
Posty: 844
Rejestracja: 02 gru 2007, 11:50

Nieprzeczytany post autor: xpep »

a blad pewnie w tej czesci ktora nie podales :D

Awatar użytkownika
felipeq
Bywalec
Bywalec
Posty: 11
Rejestracja: 10 sty 2010, 11:14

Nieprzeczytany post autor: felipeq »

Oby nie :D Te, których nie podałem, właściwie tylko analizują długość serii, którą dostały z tej wadliwej funkcji :wink:

Nopik
Uczestnik
Uczestnik
Posty: 2
Rejestracja: 10 sie 2010, 08:42

Nieprzeczytany post autor: Nopik »

Po co tak? Nie lepiej zrobic funkcje ktora w dowolnym momencie poda Ci dlugosc aktualnej serii? Np. cos takiego:

int dlugosc()
{
int i = 1;
while( i<Bars )
{
if( (Open[ 0 ] < Close[ 0 ]) && (Open[ i ] > Close[ i ]) ) break;
if( (Open[ 0 ] > Close[ 0 ]) && (Open[ i ] < Close[ i ]) ) break;
i++;
}

return( i );
}

Pisane z glowy, wiec jeszcze cos moze byc nie tak.. ale ogolnie powinno byc prosciej..

ODPOWIEDZ