Albo ja czegoś nie rozumiem albo coś tu jest nie tegez... Jak wśród zmiennych optymalizowanych mogą być "zmienne" podejmujące decyzję?!? Co to znaczy, że:
bit 1: 0 nie rób nic, 1 kupuj (ewentualnie dodajesz jeszcze 1 bit oznaczający sprzedaj)
Decyzje o ewentualnym otwarciu/zamknięciu pozycji powinna być wpisana w funkcję celu. Przykładowo, gdy funkcją celu jest zysk to żeby go obliczyć trzeba najpierw opisać kiedy otwieramy a kiedy zamykamy pozycję (czyli najpierw tworzymy jakąś strategię). Oczywiście te decyzje (ta strategia) powinny zależeć w dużym stopniu od zmiennych, które optymalizujemy.
Innymi słowy funkcja celu jest zależna od zmiennych, które optymalizujemy (f(X1,X2,X3...) a otwarcie/zamknięcie pozycji jest częścią funkcji.
Druga sprawa to takie podejście jest bez sensu. Jeśli strategia opiera się tylko na wiedzy czy dany słupek wzrósł czy zmalał to sytuacja, kiedy jeden słupek wzrósł o 5 pipsów a drugi spadł o 100 pipsów jest równoważna z sytuacją, gdy jeden słupek wzrósł o 50 pipsów a drugi spadł o 3 pipsy

konsekwencja waszego kodowania. Wówczas rzeczywiście liczba kombinacji jest tak banalnie krótka, że nawet na kalkulatorze można sobie wszystko policzyć :]
Jeżeli to ma mieć jakiś sens to może zastanów się czy nie lepiej kodować swoich zmiennych liczbami rzeczywistymi a nie binarnymi (lub przeznaczać większą liczbę bitów na dany słupek - np. 10). Pominę już fakt, że kodowanie liczbami rzeczywistymi nie dość, że jest bardziej praktyczne (wygodniej się tym operuje) to jest do tego bardziej wydajne w większości przypadków.
Większości wypowiedzi nie rozumiem - strasznie mieszasz pojęcia, których widać, że sam nie do końca rozumiesz - ale jeśli chodzi jedynie o szukanie formacji na rynku to zastanów się czy np. mapa Kohonena (jedna z odmian SSN) nie byłaby lepszym rozwiązaniem? Do tego sam sobie ustalisz liczbę wzorców, które sieć będzie mogła odnaleźć.
Algorytm Kohonena również jest bardzo prosty a w dodatku jest stosunkowo szybki.
Natomiast jak chcesz, żeby komputer za ciebie zrobił całą strategię to możesz się wgłębić w zagadnienie "programowania genetycznego". Niestety nie jest to już takie proste a w dodatku przydałaby Ci się dość duża moc obliczeniowa
Sigmalko pisze:Podejrzewam, że można to ugryźć bez tego całego teoretycznego tłuszczu.
Niestety tak się nie da! Do puki nie zrozumiesz idei AG masz małe szanse, że uda Ci się je wykorzystać w praktyce. Pomijam już pisanie takich dziwolągów jak to:
Sigmalko pisze:Np. mamy chromosom z 10 genami:
- kupuj jeśli świeczka (current-1) jest [wzrostowa]
- kupuj jeśli świeczka (current-2) jest [wzrostowa]
- kupuj jeśli świeczka (current-3) jest [wzrostowa]
Zacznij może od próby zrozumienia tej terminologii. Nie chcę bardziej namieszać bo różni autorzy różni to definiują ale to korzystając ze słów, które tu zostały wykorzystane to:
bit może reprezentować jakąś zmienną (binarną - 1/0) lub część zmiennej (patrz gen)
gen - zmienna zakodowana większą ilością bitów

przykładowo zmienną, która przyjmuje kilka wartości możesz zakodować np. 3 bitami zaczynając od 0,0,0 a kończąc na 1,1,1. Jak masz jakąś zmienną która powinna być bardzo dokładna (np. przyjmująca wartości z zakresu (-10,10) z dokładnością do n-tego miejsca po przecinku to taką zmienną (gen) możesz kodować np. 30 bitami.
chromosom - to wszystkie zmienne (geny). Najczęściej się to obrazuje przez narysowanie każdej zmiennej koło siebie.
Teraz tak: jeśli masz strategię, która korzysta tylko z informacji o 10 słupkach z przeszłości to będziesz miał chromosom składający się z 10 genów a każdy gen będzie się składał z iluś tam bitów. Jak chcesz brać pod uwagę tylko informację czy słupek wzrósł czy spadł to każdy gen będzie się składał z 1 bit-u. Natomiast jak chcesz np. uwzględnić, że np. słupek wzrósł >= 0 i < 5 pipsów lub, że wzrost był >5 <= 10 pipsów lub >10 pipsów i analogicznie ze spadkami to będziesz musiał to zakodować przynajmniej 3 bitami.
Sposób kodowania oraz liczenie ile jest możliwości przy danej ilości bitów również jest banalnie prosty. Radziłbym Ci jednak zakupić jakiś podręcznik i jednak poświęcić trochę czasu na zbadanie tematu bo inaczej nic z tego nie wyjdzie...
Aha, i AG nic Ci nie mówią

nie powiedzą Ci kiedy kupić a kiedy sprzedać! One jedynie optymalizują. Czyli jak masz już jakąś strategię, która Ci mówi kiedy kupić a kiedy sprzedać i jest ona zależna od iluś tam zmiennych to AG może ją tak zoptymalizować, że będzie Cię trafniej informować kiedy kupić a kiedy sprzedać.
Pozdrawiam