wojnowy pisze:AG jedynie optymalizuje. Czyli kolejność jest taka:
tworzysz swoją strategię (która korzysta z jakiś zmiennych)

zmienne, które chcesz optymalizować (a które mają wpływ na przyjętą przez Ciebie funkcję celu) kodujesz np. do postaci binarnej

optymalizujesz

i cieszysz się (zazwyczaj) z przeoptymalizowanej strategii.
Od AG oczekuję, że strategię to mi znajdzie, a nie zoptymalizuje (choć jak już znajdzie, to niech od razu ją zoptymalizuje).
Ok. To załóżmy, że mam prymitywną strategię przecinania "czegoś" z "czymś" i chcę, żeby AG mi znalazło co najlepiej z czym się przecina, po czym daje zysk.
To do genu wrzucam:
- SMA
- EMA
- WMA
- cenę
- interwał czasowy, M1, M5, M15, M30, H1, H4, D1, MN1
- parametr nr 1 dla wskaźnika (okres)
- parametr nr 2 dla wskaźnika (close/open/high/low)
Czyli:
2 bity na rodzaj wskaźnika (00 = cena, 01 = SMA, 10=EMA, 11=WMA)
3 bity na rodzaj interwału (001 = M1, 010 = M5, 011 = M15, 100 = M30, 101 = H1, 110 = H4, 111=D1, 000=MN1)
8 bitów na okres (parametr 1 do wskaźnika)
2 bity na część świeczki (00=close, 01=open, 10=high, 11=low)
15 bitów na zdefiniowanie samego wskaźnika z jego parametrami.
Mniej więcej w tą stronę należy iść?
No i teraz chcę sobie zoptymalizować:
- ile jakich wskaźników ma się przeciąć z jakimi wskaźnikami, żeby był zysk
Jak parować ze sobą wskaźniki w genach.
Lepiej zrobić gen składający się z 10 * 15 bitów i miałbym do 10 wkaźników w genie?
Dodano po 3 minutach:
Ale kurcze, znowu się robią schody, bo może:
kupuj gdy:
- SMA(45) przetnie się dołem na interwale M5 z SMA(100)
AND
- wcześniej było przecięcie SMA(14) z EMA(45) na M30
czyli dochodzi tu jeszcze sekwencja w czasie, czyli nie tylko ilość, ale również kolejność genów w chromosomie byłaby ważna.