Quantitative Trading

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.

Czy korzysztasz z zaawansowanych modeli matematycznych podczas tradingu?

tak
26
23%
nie
88
77%
 
Liczba głosów: 114

maariuszn
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 01 cze 2007, 22:25

Nieprzeczytany post autor: maariuszn »

Witam Wszystkich,

Temat wątku jest niezwykle dla mnie ciekawy, dlatego chciałem dopisać coś od siebie i poruszyć kilka kwestii.

Automatyzają tradingu zajmuję się już kilka lat. Niestety materia jest tak ogromna, że tak naprawdę w pojedynkę niewiele można zdziałać i wszystko idzie mi bardzo powoli.

Prognozowaniem finansowych szeregów czasowych zaintersowałem się na studiach. Początkowo były to modele ARIMA, poźniej ARFIMA oraz modele typu GARCH. Niestety nie byłem usatysfakcjonowany uzyskiwanymi wynikami dlatego szukałem czegoś innego. Pisząc pracę magisterską "natknąłem się" na fraktale a następnie poznałem sieci neuronowe oraz algorytmy genetyczne. Ostatecznienie moją pracę magisterską (Zdaje się, że jej tytuł brzmiał Strategia Inwestycyjna na rynku EUR/USD w oparciu o hybrydowy system transakcyjny) oparłem na NN i GA.

Od czasu zainteresowania sieciami neuronowymi ilość materiału i niezbędnych informacji wcale się nie zmniejszyła bo liczbna typów siec nie jest mała...

Piszę o tym wszystkim aby pokazać "moją drogę" w tym temacie i zainteresować tym, czym teraz się zajmuję, a mianowicie:
PROGRAMOWANIE GENETYCZNE (Genetic programming)
oraz
UCZENIE ZE WZMOCNIENIEM (Reinforcement learning)

Postanowiłem zatrzymać się na tych dwóch tematach, ponieważ po kilku latach "przygód" z różnymi modelami stwierdziłem, że prognozowanie i analiza finansowych szeregów czasowych nie wystarcza do stworzenia systemu, bo tak naprawdę trading to coś więcej.

Jeżeli chodzi o genetyczne programowanie to jest ono bardzo ściśle powiązane z algorytmami genetycznymi. Różnica sprowadza się do tego, że w przypadku GA "struktura" jest stała a optymalizowane są wyłącznie parametry. PG polega na tym, że całe program/system ewoluują. Więcej informacji polecam poszukać na google. Z mojej strony mogę polecić tylko http://www.rmltech.com oraz http://www.tradingsystemlab.com ("...Platforms are priced at $60,000. A maintenance fee of $20,000 per year after the first 2 years is required for continued operation...") Oczywiście jestem otwarty na wszelkie dyskusje i pytania.

Drugim algorytm, któremu poświęcam swoją uwagę i nad którym prację, to RL. Jest to bardzo popularny algorytm stosowany w robotyce i "machine learning". Pisząc w skrócie, polega on na nauce "agenta" podejmowania pewnych akcji w danym środowisku. Jeżeli akcja przyniosła zakładany efekt to agent jest nagradzany w przeciwnym przypadku jest karany. Według mnie RL świetnie się nadaje do zbudowania automatycznego systemu, ponieważ agent uczyłby się tradować na danym rynku a nie prognozować przyszłą zmianę cen. Moim bardzo ambitnym celem jest stworzenie takiego algorytmu, który uczyłby "wirtualnych agentów" tradingu w oparciu a price action.. Niestety to zadanie jest piekielnie trudne i wydaje się do zrealizowania w najbliższej przyszłości.

Na razie to tyle z mojej strony. Na koniec tego postu chciałem jeszcze zadać kilka pytań.

BAQ napisałeś:
"Udało mi się dotrzeć do informacji o kilku funduszach, które są wyłącznie funduszami algorytmicznymi. "

"Z tego co sam zdążyłem się dowiedzieć od ludzi z branży, których męczyłem na ten temat, nie do końca tędy droga. "

Co to za fundusze o których piszesz, skąd masz takie informacji i jak udało Ci się je uzyskać?
O jakich ludziach w branży piszesz? Jakich oni używają metod? Czy to dotyczy Polski?

Nie pytam o żadne szczegóły tylko o jakiekolwiek informacje.

Pozdrawiam wszystkich

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

maariuszn pisze:Drugim algorytm, któremu poświęcam swoją uwagę i nad którym prację, to RL. Jest to bardzo popularny algorytm stosowany w robotyce i "machine learning". Pisząc w skrócie, polega on na nauce "agenta" podejmowania pewnych akcji w danym środowisku. Jeżeli akcja przyniosła zakładany efekt to agent jest nagradzany w przeciwnym przypadku jest karany.
Zobacz wątek o szczurach:
http://www.forex.nawigator.biz/dyskusje ... highlight=
oni właśnie robią to samo - tylko z czym doskonalszym niż program komputerowy - bo raczej żaden nie dorówna inteligencji szczura .....
Green
Obrazek
Obrazek

StudenTM84
Stały bywalec
Stały bywalec
Posty: 53
Rejestracja: 07 maja 2009, 21:08

Nieprzeczytany post autor: StudenTM84 »

green7 pisze:StudenTM84 napisał:
Poza tym nie koduje się wskaźników a jedynie wyniki, które on daje co akurat nie jest chyba trudne
małe sprostowanie: nie wyniki a parametry.

AG zajmowałem się już jakiś czas temu i szybko się zniechęciłem więc moja wiedza jest dość ograniczona jednak wydaje mi się, że trochę inaczej rozumiem działanie tego algorytmu.
Obaj chyba trochę mieszamy różne pojęcia więc może napiszę jak ja to widzę z małą ściągawką :P.

Jak każdy algorytm optymalizacji AG składa się z optymalizowanych zmiennych (parametrów) - zakodowanych binarnie w chromosom, oraz funkcji celu - np. właśnie zysk. Genem jest pojedynczy element chromosomu czyli jak zakodujesz jakąś zmienną (parametr) w sposób: 01001110 to całość jest chromosomem a pojedynczy element jest genem. Długość chromosomu odnosi się do zakresu przyjmowanych wartości przez zmienną lub jej dokładności. Przykładowo chromosom składający się z siedmiu genów może oznaczać liczby z zakresu od 0 do 127 lub np. dokładność mniej więcej dwóch miejsc po przecinku (np. 1111111 = 127 - jak się to liczy? jest to suma: 2^6+2^5+2^4+2^3..2^0 = 64 + 32 + 16+8+4+2+1 = 127 :D czyli np oznaczałoby, że bierzemy pod uwagę MA ze 127 okresów, gdyby kod był: 01111111 = 0^6+...2^0 = 63) <- to dla tych mniej zorientowanych :D.
Zbiór chromosomów (zmiennych) to populacja. Przykładowo masz 2 zmienne, które w pierwszym losowaniu przyjęły następujące wartości: zmienna1 = 01001 zmienna2 = 0001000110 (chromosom jest dłuższy więc dobieramy albo parametr z większej grupy lub z większą dokładnością niż przy zmiennej nr 1) to populacja wygląda tak: 010010001000110 (czyli zakodowane dwie zmienne obok siebie w postaci kodu)
przy takich parametrach obliczana jest również funkcja celu. W następnych etapach zmienia się ten ciąg populacji przy pomocy krzyżowania w celu minimalizacji/maksymalizacji funkcji celu.
Natomiast wracając do zmiennych i ich kodowania możesz zrobić sobie dodatkowe zmienne/parametry, zakodowane w postaci jednego genu tzn. cały chromosom składa się z jednego elementu i dać go do populacji np.: zmienna3 = 1 gdy jakaś wartość jest nad wyznaczonym progiem (np. RSI>50) i 0 gdy RSI<=50; zmienna 4 = 1 np. gdy bierzemy w obliczeniach funkcji pod uwagę zmienną nr 2 i 0 gdy jej nie bierzemy (czyli wyrzucamy tą zmienną z naszej grupy - przy tym losowaniu ofc) itd. i nasza populacja w pierwszym losowaniu przyjmuje np. następującą postać: 01001000100011011 czyli odpowiednio zmienna nr 1,2,3,4 (01001 0001000110 1 1) i przy takich ustawieniach liczysz sobie funkcję celu...
Potem znowu losujesz i wychodzi ci inna kombinacja np.: 01111 011011000101 0 1 i znowu liczysz funkcję celu itd. a co oznaczają te liczby? pierwsze cztery geny odnoszą się do pierwszej zmiennej - to jakaś zakodowana liczba (np. 15), kolejne bodajże 13 to kolejna zakodowana zmienna tzn. zakodowana jej wartość natomiast ostatnie dowie mówią, że RSI <50 i że bierzemy pod uwagę zmienną nr 2 (gdybyśmy wykluczyli tą zmienną tzn. w jakimś losowaniu to populacja byłaby identyczna ale przy obliczeniu funkcji nie byłaby uwzględniana ta zmienna).
Reasumując cały problem sprowadza się do kodowania parametrów (z czego część może składać się z jednego genu i odnosić się jedynie do dwóch stanów pewnej zmiennej - np. przy doborze/eliminacji zmiennych (czy brać ją pod uwagę czy nie) lub znajdowania się jakiejś zmiennej na odpowiednim poziomie) i tworzenia z nich populacji oraz obliczania funkcji celu. Dopiero w następnych etapach masz krzyżowanie, mutacje itd. :). Oczywiście w obecnej sytuacji najtrudniej jest obliczyć funkcję celu, gdyż jednak nie będzie łatwo stworzyć własnego testera w EA - chyba, że będzie się on opierał jedynie o ceny open ;)
Algorytm ten jest ciekawy głównie z tego punktu widzenia, że funkcja celu nie musi być ciągła i możemy ją dowolnie obliczać (w przeciwieństwie do algorytmów gradientowych).

Do reszty postaram się ustosunkować jutro lub pojutrze - bo nie spałem całą noc i zapowiada się, że jeszcze dziś i jutro sobie również nie pośpię...
Pozdrawiam :D
Ostatnio zmieniony 14 gru 2009, 03:17 przez StudenTM84, łącznie zmieniany 1 raz.
Pewnych rzeczy nie można odkryć;
lecz tego nie stwierdzisz odgadywaniem ani snuciem domysłów;
nie, musisz być cierpliwy i przeprowadzić doświadczenia,
aż odkryjesz, że nie możesz czegoś poznać.
Mark Twain :)

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

StudenTM84 pisze:Genem jest pojedynczy element chromosomu czyli jak zakodujesz jakąś zmienną (parametr) w sposób: 01001110 to całość jest chromosomem a pojedynczy element jest genem
No tak to podstawy. W uproszczeniu z grubsza zgadza się. Ale nikt przecież nie zabroni Ci mieć genów składających się z wielu bitów. Wszystko zależy od tego jak to sobie zdefiniujesz w AG. Możesz więc np. zdefiniować pojedynczy gen który będzie miał przykładowo 16 bitów o postaci xxxxyyyyzzzzvvvvv - gdzie xxxx (4 bity) identyfikują wskaźnik który przedstawia gen, yyyy (kolejne 4 bity) to pierwszy z parametrów wskaźnika, zzzz drugi itd.
StudenTM84 pisze:Zbiór chromosomów (zmiennych) to populacja
Dla ścisłości: populacja to zbiór osobników. A osobnik posiada genotyp, który jest zakodowany w jego chromosomie :)

StudenTM84 pisze:Natomiast wracając do zmiennych i ich kodowania możesz zrobić sobie dodatkowe zmienne/parametry, zakodowane w postaci jednego genu tzn. cały chromosom składa się z jednego elementu i dać go do populacji np.: zmienna3 = 1 gdy jakaś wartość jest nad wyznaczonym progiem (np. RSI>50) i 0 gdy RSI<=50; zmienna 4 = 1 gdy bierzemy pod uwagę zmienną nr 2 i 0 gdy jej nie bierzemy itd. i nasza populacja w pierwszym losowaniu przyjmuje np. następującą postać: 01001000100011011 czyli odpowiednio zmienna nr 1,2,3,4 (01001 0001000110 1 1) i przy takich ustawieniach liczysz sobie funkcję celu..
Sorki ale tak to nic Ci z tego nie wyjdzie. Tutaj tak jak to opisałeś te dodatkowe zmienne to nic innego jak dodanie do populacji kolejnych 2 osobników mających opisywać to RSI. To nic nie da - zdaje się, że nie rozumiesz podstawowych rzeczy. To nie cała populacja koduje jedno możliwe rozwiązanie problemu - ale pojedynczy osobnik.
maariuszn pisze: Z mojej strony mogę polecić tylko http://www.rmltech.com oraz http://www.tradingsystemlab.com ("...Platforms are priced at $60,000. A maintenance fee of $20,000 per year after the first 2 years is required for continued operation...") Oczywiście jestem otwarty na wszelkie dyskusje i pytania.
Polecić ... a miałeś z nimi jakąś większą styczność ?
Ten drugi program jest bardzo interesujący - martwią mnie jednak trochę wyniki systemów które pokazują .... Wziąłem pierwszy z brzegu: 20 lat handlu wynik +7.68%, podczas gdy buy&hold 505% .... hmmmmm

StudenTM84
Stały bywalec
Stały bywalec
Posty: 53
Rejestracja: 07 maja 2009, 21:08

Nieprzeczytany post autor: StudenTM84 »

green7 pisze:No tak to podstawy. W uproszczeniu z grubsza zgadza się. Ale nikt przecież nie zabroni Ci mieć genów składających się z wielu bitów. Wszystko zależy od tego jak to sobie zdefiniujesz w AG. Możesz więc np. zdefiniować pojedynczy gen który będzie miał przykładowo 16 bitów o postaci xxxxyyyyzzzzvvvvv - gdzie xxxx (4 bity) identyfikują wskaźnik który przedstawia gen, yyyy (kolejne 4 bity) to pierwszy z parametrów wskaźnika, zzzz drugi itd.
aż tak daleko nie doszedłem w tym temacie ;D musiałbym to na trzeźwo przemyśleć... Chociaż to mi bardziej przypomina zahaczanie o algorytmy ewolucyjne, gdzie geny są w postaci liczb rzeczywistych a nie binarnych.
tak jak pisałem wcześniej nie wchodziłem w to aż tak głęboko ale temat zaczyna być interesujący :)
green7 pisze:Sorki ale tak to nic Ci z tego nie wyjdzie. Tutaj tak jak to opisałeś te dodatkowe zmienne to nic innego jak dodanie do populacji kolejnych 2 osobników mających opisywać to RSI.
ups, rzeczywiście coś skopałem - ale ten drugi przykład z eliminowaniem zmiennej chyba może być co? :]
maariuszn pisze:Piszę o tym wszystkim aby pokazać "moją drogę" w tym temacie i zainteresować tym, czym teraz się zajmuję, a mianowicie:
PROGRAMOWANIE GENETYCZNE (Genetic programming)
W sumie jak mamy taką osobowość w wątku to może szanowny kolega powiedziałby coś od siebie jak rozwiązać nasz problem i w którym kierunku podążać:).
Mianowicie:
jak zakodować system, który wybierałby najlepsze parametry we wskaźnikach a jednocześnie wywalałby najmniej istotne i najmniej przydatne z nich. W ogóle to chętnie dowiedziałbym się praktycznych zastosowań AG na rynkach finansowych :D
Pewnych rzeczy nie można odkryć;
lecz tego nie stwierdzisz odgadywaniem ani snuciem domysłów;
nie, musisz być cierpliwy i przeprowadzić doświadczenia,
aż odkryjesz, że nie możesz czegoś poznać.
Mark Twain :)

maariuszn
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 01 cze 2007, 22:25

Nieprzeczytany post autor: maariuszn »

green7 pisze:Polecić ... a miałeś z nimi jakąś większą styczność ?
Ten drugi program jest bardzo interesujący - martwią mnie jednak trochę wyniki systemów które pokazują .... Wziąłem pierwszy z brzegu: 20 lat handlu wynik +7.68%, podczas gdy buy&hold 505% .... hmmmmm
Większej styczności nie miałem. Podałem link ponieważ jeżeli ktoś jest zainteresowany tematem GP i sam nie umie dobrze programować to może popróbować na wersji demo.
Jeżeli chodzi o drugi link to dotyczy on sensu stricte tradingu. Bardziej niż wyniki systemów zaintersowała mnie cena tego produktu. Nie wiem, może to wskazywać na to, że GP jest bardzo dobrym algorytmem... albo to niezłe naciąganie.
Aby zobrazować "moc" GP podam jeszcze jeden link:
http://rogeralsing.com/2008/12/07/genet ... -mona-lisa
Przykład jest na grafice, ale chodzi o idee. Podajemy obraz, który chcemy uzyskać a program sam ewoluuje w ten sposób, żeby narysować obraz jak najbardziej podobny.
W odniesieniu do tradingu wyobrażam sobie to tak, że podajemy cel - np. max profit, podajemy podstawowe funkcje i tzw."terminale" i na zadanym okresie populacja systemów ewoluuje tak, aby zmaksymalizować zadaną funkcję celu.
StudenTM84 pisze:W sumie jak mamy taką osobowość w wątku to może szanowny kolega powiedziałby coś od siebie jak rozwiązać nasz problem i w którym kierunku podążaćSmile.
Mianowicie:
jak zakodować system, który wybierałby najlepsze parametry we wskaźnikach a jednocześnie wywalałby najmniej istotne i najmniej przydatne z nich. W ogóle to chętnie dowiedziałbym się praktycznych zastosowań AG na rynkach finansowych
Według mojej wiedzy to jest właśnie tak jak piszecie czyli, każde potencjalne rozwiązanie problemu to tzw "osobnik", który posiada własny chromosom, który z kolei złożony jest z genów. W genach zakodowane są (przy pomocy systemu binarnego) wartości parametrów. Dla przykładu, jeżeli chcemy zoptymalizować system oparty na przecięciu dwóch MA, o okresach od 1 do 15 robimy to w następujący sposób:
-tworzymy chromosom w postaci XXXXYYYY, x - oznaczają pierwszy gen, y- drugi gen. x i y mogą przyjmować wartości 0 lub 1.
Przykładowy chromosom 11111010 oznacza MA(15) MA(10)
- generujemy populację P0 złożoną z N osobników. Początkowo każdy może mieć losowo wygenerowany chromosom
- dekodujemy chromosom każdego osobnika i otrzymane wartości MA wstawiamy do systemu uzyskując pewien wynik
- na podstawie ustalonej tzw. funkcji przystosowania/celu (ang. fitness) i przyjetego sposobu wyboru osobników (np. proporcjonalnie do wyników) wybieramy osobniki do "rozmnożenia"
- przy pomocy odpowiednich operatorów (krzyżowanie, mutacja) tworzymy kolejną populację P1.

Cały algorytm powtarzamy aż do uzyskania porządanego rezultatu albo do momentu, gdy wcześniej ustalona liczba generacji(czyli liczba pokoleń) zostanie osiągnięta.

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

Nieprzeczytany post autor: Tig3r »

Panowie, to co opisujecie MT4 ma już wbudowane przy optymalizacji. Sam wykorzystanie AG pokaże mam najlepszy wynik - czyli najlepsze ustawienia w za dany okres. Tester strategii wykorzystuje właśnie AG w taki sposób aby nie przeszukiwać całej przestrzeni rozwiązań. Zapewne chcieliście pokazać działanie algorytmu. Najważniejsze w tym wszystkim jest odpowiednie dobranie funkcji celu, która nie powinna się składać z samego profitu. Odpowiedniejsza aby była taka która sprawdza kilka istotnych parametrów na raz jak np.: profit, maxDD, Sl/TP, sharp ratio etc..
Co do ceny programu to jakaś lipa. Takie rzeczy można mieć w obecnych czasach za free (ino trzeba ciut trochę więcej pracy włożyć ale za to bardziej elastyczny on będzie). Wystarczy spojrzeć na program R i dodatki do niego: http://r.meteo.uni.wroc.pl/
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

StudenTM84
Stały bywalec
Stały bywalec
Posty: 53
Rejestracja: 07 maja 2009, 21:08

Nieprzeczytany post autor: StudenTM84 »

maariuszn pisze:Dla przykładu, jeżeli chcemy zoptymalizować system oparty na przecięciu dwóch MA, o okresach od 1 do 15 robimy to w następujący sposób:
-tworzymy chromosom w postaci XXXXYYYY, x - oznaczają pierwszy gen, y- drugi gen. x i y mogą przyjmować wartości 0 lub 1.
Przykładowy chromosom 11111010 oznacza MA(15) MA(10)
- generujemy populację P0 złożoną z N osobników. Początkowo każdy może mieć losowo wygenerowany chromosom
- dekodujemy chromosom każdego osobnika i otrzymane wartości MA wstawiamy do systemu uzyskując pewien wynik
- na podstawie ustalonej tzw. funkcji przystosowania/celu (ang. fitness) i przyjetego sposobu wyboru osobników (np. proporcjonalnie do wyników) wybieramy osobniki do "rozmnożenia"
- przy pomocy odpowiednich operatorów (krzyżowanie, mutacja) tworzymy kolejną populację P1.
Czyli dużo się nie pomyliłem :) (tylko przy RSI zwaliłem ^^ :) ). Doszło również do mnie, że parametry o wartości 0 (zero) działają tak, jakby wskaźnika w ogóle nie było więc proces eliminacji najsłabszych wskaźników jest tak jakby z automatu w AG :)

Zastanawiam się również, czy wersja greena z kodem typu "xxxxyyyyzzzzvvvvv" jest poprawna ale używa innych pojęć niż przedstawionych przeze mnie czy mówimy w ogóle o czymś innym. Poza tym ja coś takiego nazwałbym populacją składającą się z 4 chromosomów a każdy z nich z 4 genów (poza ostatnim, który ma ich 5). No cóż... temat nawet ciekawy ale jakoś trudno mi sobie wyobrazić użycie AG z prostymi MA czy RSI... ale narzędzie jako takie nawet ciekawe :).
No i pozostaje problem z funkcją przystosowania/celu w postaci zysku... - jak ją stworzyć posiadając jedynie informacje o cenie HOCL... no chyba, że zostaniemy przy standardowej funkcji (y-d)^2 :)
Tig3r pisze:Panowie, to co opisujecie MT4 ma już wbudowane przy optymalizacji. Sam wykorzystanie AG pokaże mam najlepszy wynik - czyli najlepsze ustawienia w za dany okres. Tester strategii wykorzystuje właśnie AG w taki sposób aby nie przeszukiwać całej przestrzeni rozwiązań.
To samo mówiłem :D
Tig3r pisze:Odpowiedniejsza aby była taka która sprawdza kilka istotnych parametrów na raz jak np.: profit, maxDD, Sl/TP, sharp ratio etc..
No tak ale ciężko wykorzystać kilka funkcji w jednym algorytmie... chyba, że je wystandaryzujesz i będziesz sumował i stworzysz z tego jedną funkcję sklejoną z kilku :)
Ostatnio zmieniony 14 gru 2009, 10:22 przez StudenTM84, łącznie zmieniany 1 raz.
Pewnych rzeczy nie można odkryć;
lecz tego nie stwierdzisz odgadywaniem ani snuciem domysłów;
nie, musisz być cierpliwy i przeprowadzić doświadczenia,
aż odkryjesz, że nie możesz czegoś poznać.
Mark Twain :)

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

Nieprzeczytany post autor: Tig3r »

StudenTM84 pisze:Doszło również do mnie, że parametry o wartości 0 (zero) działają tak, jakby wskaźnika w ogóle nie było więc proces eliminacji najsłabszych wskaźników jest tak jakby z automatu w AG Smile
Tak, tylko lepiej wykorzystać jakąś filtrację z wykorzystaniem kryterium informacyjnego. Czyli jak najmniejsza liczba zmiennych jak najlepszy rezultat.
trzeba wyrzucić nawet te >0 ale bardzo do niego zbliżone.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Dakhr
Stały bywalec
Stały bywalec
Posty: 76
Rejestracja: 14 lis 2009, 11:05

Nieprzeczytany post autor: Dakhr »

green7 pisze:
StudenTM84 pisze:Natomiast jeśli dobrze Cię zrozumiałem to celem Twojego systemu jest właśnie dobór optymalnych narzędzi (wskaźników) z jakiejś ich grupy przy pomocy AG. Pytanie tylko jakie narzędzia wrzucić do tego Twojego programu? (przecież AG również muszą z czegoś wybierać).
Zapewne idea jest taka: wrzucasz do AG wszystko. Co tylko nawinie pod rękę. Resztą powinien zająć się AG wyszukując w tym co wrzuciłeś jakieś obiecujące kombinacje. Jeśli odpowiednio skonstruujesz AG to będzie on w stanie nawet określać złożone punkty wejścia (w stylu np: MA 5 przecina MA 30, RSI powyżej 70, MACD przecina 0 itd).
Kiedyś mam zamiar się do tego zabrać - ale wymaga to sporo pracy, brak do tego narzędzi, na początek należałoby napisać własny tester ...
Witam
Kolega green7 dobrze kombinuje,wlasnie to moj system robi.Moze z wyjatkiem tego "wszystko co sie nawinie") po prostu, wrzucam popularne wskazniki,bez udziwnien.AG nie wykonuje optymalizacji parametrow wskaznikow(m.in zeby uniknac przeoptymalizowania), interesuja mnie tylko ogolne sygnaly wejscia " (w stylu np: MA 5 przecina MA 30, RSI powyżej 70, MACD przecina 0 itd)."Tester mam wbudowany w EA ,uzywa on tylko OHLC.Moje oprogramowanie to na razie wersja robocza ,mialem zamiar przekonac sie najpierw czy takie podejscie ma sens ,a pozniej pomyslec ewentualnie na przejscie na jakis powazniejszy jezyk programowania i rozbudowanie calosci.
Generalnie inspiracja do calej tej zabawy, bylo wyeliminowanie koniecznosci zmudnego poszukiwania sygnalow wejscia "na piechote" np:biore przeciecia srednich ,jakies filtry RSI, Williams itp odpalam tester testuje system jest ok, odpalam... jest okej jakis czas,a po tem przestaje dawac spodziewane rezultaty i znowu szukam itd itp. A tak szybko mam sygnaly wejscia i mam wiecej czasu na szlifowanie wyjsc ,MM czyli na cale 75% reszty pracy tradera :wink:
Ostatnio zmieniony 14 gru 2009, 10:46 przez Dakhr, łącznie zmieniany 1 raz.

ODPOWIEDZ