Centyl

O jezykach programowania w platformach i nie tylko.
tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

Witam, czy byłby mi ktoś w stanie pomóc z napisaniem kodu, który brałby wszystkie ceny (mogą być maksima z każdej świecy) z poprzedniego dnia, a później policzył centyl (którego wartość mogę sobie ustawić) i obliczył poziom dla którego np. 80% maximów jest powyżej tego poziomu. Zapewne trzeba utworzyć tablicę która będzie zawierała wszystkie maksima z poprzedniego dnia i jakoś z niej policzyć centyl.

Próbowałem coś pokombinować z tablicami, ale chyba nie za bardzo mi to wyszło :/

Kod: Zaznacz cały

int tablica()
{
int z;

for(z=0;z<=IloscSlupkowOtw;z++) 
{
int a =ArrayMaximum(High,IloscSlupkowOtw,1);
int b =ArrayMinimum(Low,IloscSlupkowOtw,1);
// Świeca indeksu max. ceny 
// Świeca indeksu min. ceny 
Maximum=High[a]; // Żądana max. cena
Minimum=Low[b]; // Żądana min. cena
}
}

W tym kodzie (o ile jest poprawny) problem polega na tym, że ręcznie muszę wpisywać liczbę słupków, a pozatym nie odnosi się ona (tablica) do poprzedniego dnia, tylko do słupków liczonych wstecz od danej świecy.

Jeżeli mógłby mi ktoś pomóc, byłbym wdzięczny.

Dodano po 12 minutach:

Do zliczania liczby świec z poprzedniego dnia, pewnie trzeba użyć

Kod: Zaznacz cały

iBars()
?

Kod: Zaznacz cały

iBars(0,PERIOD_M1)
tylko jak ustawić żeby liczyło je dla dnia poprzedniego???

Awatar użytkownika
redart
Stały bywalec
Stały bywalec
Posty: 75
Rejestracja: 06 lip 2008, 22:30

Nieprzeczytany post autor: redart »

tylko jak ustawić żeby liczyło je dla dnia poprzedniego???
np. jeśli zrobisz:

Kod: Zaznacz cały

int ileminut=Hour()*60 + Minute();
to będziesz miał ilość 1 minutowych słupków w dniu dzisiejszym możesz to potem wykorzystać w pętli tzn. nie liczyć od 0 tylko od
ileminut do ileminut + 24 x 60 )

Potem korzystaj lepiej z iHigh, iLow zamiast z iBars

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

tmkk90 pisze:tylko jak ustawić żeby liczyło je dla dnia poprzedniego???
składasz datę w strong - zamieniasz to na datetime i masz początek obecnego dnia, od tego odejmujesz 60*60*24 i masz początek dnia poprzedniego
no i iBarShift
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

Czy chodzi o coś takiego:

Kod: Zaznacz cały

int jakidzien()
{
string dzien;
dzien = Day();

datetime d1; 
d1 = StrToTime(dzien);
}
??

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

możesz też to zrobić tak jak to jest pokazane w skrypcie w załączniku ...

pozdrawiam
Andrzej Pierz
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

ODPOWIEDZ