Testowanie kodów kreskowych w systemach handlowych, rozwiązywanie problemów i optymalizacja. Teraz, gdy masz system handlu opracowany i zakodowany, nadszedł czas, aby go przetestować, aby upewnić się, że kodowanie nie zawiera logicznych i technicznych błędów. Spojrzymy też na coś zwanego optymalizacją - a w niektórych programach handlowych, które pozwalają dostosować reguły handlowe do zasobów planowanych na trading. Testing Your Trading System Zdecydowana większość aplikacji handlowych, które wspierają języki programowania, również wspierają narzędzia do testowania Te narzędzia są podzielone na dwie kategorie. 1 Techniczne narzędzia testowania technicznego wyszukują błędy techniczne w kodzie Na przykład, jeśli pominiesz średnik po oświadczeniu, narzędzie testowania technicznego powiadomi Cię, że Twoje oświadczenie jest nieprawidłowe. Lokalizacja narzędzia testowania technicznego zależy od handlu używana aplikacja MetaTrader wyświetla błąd lub błędne wyniki przy próbie skompilowania kodu, podczas gdy aplikacje takie jak Tradecision ha narzędzie do sprawdzania kodu wbudowane w interfejs, który umożliwia sprawdzenie kodu przed błędami przed użyciem go.2 Logiczne narzędzia do testowania logicznego wyszukują błędy logiczne w kodzie Na przykład, jeśli zdarzyło się używać znaku większego niż zamiast mniej znak, który nie jest błędem technicznym, logiczne narzędzie do testowania pokaże Ci, że Twoje wyniki nie mają sensu. Najpopularniejszym narzędziem testowania logotypu jest narzędzie do sprawdzania danych. To narzędzie umożliwia przejęcie przeszłych danych i zastosowanie systemu handlu do tych danych. daje pojęcie o tym, niezależnie od tego, czy system handlu jest opłacalny. Jakie warunki okażą się najbardziej opłacalne. Gdzie błędy w regułach mogą istnieć. Aby uzyskać więcej informacji, zobacz temat Backtesting Interpreting The Past. Rozwiązywanie problemów z systemem handlowym Jak w przypadku innych programów, rozwiązywanie problemów może być żmudnym i trudnym zadaniem. Znajdując błędy w kodzie, systematycznie sortuje swój kod, aby zidentyfikować błędy składniowe, które choć często nieznaczne , może doprowadzić Twój program do zatrzymania. Jest kilka popularnych błędów szukać. Znaki średnie po wypowiedziach - muszą być po każdym oświadczeniu. Zdefiniowane zmienne - pamiętaj, że musisz zadeklarować je przed użyciem. wszystkie nazwy lub funkcje są niepoprawnie pisane, aplikacja handlowa zwróci błąd podany poniżej przykład. Niewłaściwe użycie - pamiętaj, że przypisuje jedną wartość do innej wartości, a równa jest równa. Nieprawidłowe wykorzystanie wbudowanych funkcji - skonsultuj się z aplikacjami handlowymi dokumentacji lub interfejsu API programowania aplikacji, aby upewnić się, że używasz poprawnej składni. Niektóre aplikacje handlowe zawierają fe ature, które pozwoli Ci przetestować kod przed użyciem lub skompilowaniem go Ta funkcja pozwala zobaczyć, co to jest błąd i na jakiej linii można znaleźć np. Take Tradecision. Tutaj możemy zobaczyć, że Tradecision daje linię lokalizacji i kolumnę błąd, opis błędu i typ błędu w tym przypadku jest syntaktyczny Jeśli spojrzymy na wyrażenie, możemy zobaczyć, że w kolumnie 8 xrossBelow nie jest prawidłową funkcją Jeśli zastąpimy x, który znajduje się w kolumnie 8 z AC, wtedy będziemy mieć ważny kod. Jeśli spojrzymy na MetaTrader, możemy zobaczyć, że błędy pojawiają się podczas próby skompilowania programu. Tutaj można zobaczyć, że w opisie mówi się, że zmienna BuyNow nie została zdefiniowana Double click w tym komunikacie o błędzie przeniesie nas do określonej lokalizacji błędu w kodzie. Jak widać, większość aplikacji handlowych umożliwia łatwe zlokalizowanie błędów technicznych i ich naprawienie Naprawianie błędów polega na systematycznym przeanalizowaniu każdego komunikatu o błędzie oraz następnie rekom przesunięcie kodu i zastosowanie systemu transakcyjnego do wykresów. Optymalizacja systemu obrotu Niektóre aplikacje handlowe umożliwiają wybór zmiennych do zoptymalizowania Tradecision, na przykład pozwala łatwo wybrać zmienną i zastąpić ją kodem, po prostu proces, który ustala optymalną wartość dla danego elementu systemu obrotu w oparciu o poprzednie wyniki i wyniki Zauważ, że zbyt optymalizacja wyników w systemach obrotu, które nie są w stanie dostosować się do warunków rynkowych, ważne jest, aby tylko zoptymalizować kilka istotnych zmiennych, nie każda zmienna. Tutaj, jak wygląda funkcja optymalizacji w Tradecision. You widzi, że zadeklarowaliśmy dwie nowe zmienne i ustawić je na równe. Po prostu oznacza, że program handlowy zastąpi to numerem optymalnym. Następnie zobaczysz, że wykorzystaliśmy nowe zmienne w ramach naszej strategii handlowej W końcu ustalamy zakres numerów, aby program nie przeszukiwał do nieskończoności. Niektóre inne programy handlowe mają takie funkcje, które działają w podobny sposób, co pozwala na zastąpienie wartości liczbowej a i poinformowanie aplikacji handlowej, aby ją zoptymalizować. Konkluzja Teraz należy stworzyć funkcjonujący system handlowy, w którym możesz mieć zaufanie następna część tej serii dowiesz się, jak zastosować system handlu do wykresów i jak go używać do podejmowania decyzji handlowych. Otylizacja Automatyzowanego Systemu Handlowego S Interakcja z rynkiem. Ten artykuł jako Tucnik P 2017 Optymalizacja automatycznego systemu obrotu s Interaction with Market Environment W Forbrig P Gnther H eds Perspektywy w Informatyce Biznesowej BIR 2017 Notatki z Notacji Wywozowej w Przetwarzaniu Informacji o Przedsiębiorstwie, tom 64 Springer, Berlin, Heidelberg. Praca ta koncentruje się na automatycznym systemie handlu ATS i optymalizacji W fazie przygotowawczej przed użyciem należy przeprowadzić optymalizację interakcji takich systemów z jej planowanym otoczeniem rynkowym. Techniczne wskaźniki analizy są najczęściej stosowane w optymalizacji ATS poprzez testowanie różnych ustawień wskaźnika MACD, a optymalne ustawienia zależą od parametrów rynkowych. Planowane wykorzystanie ATS polega na wykonywaniu niezależnych czynności w zależności od preferencji użytkownika. Głównym celem jest zwiększenie skuteczności automatycznego systemu obrotu, w celu poprawy jego przydatności i akceptowalności dla użytkownika Papier będzie koncentrować się na rynkach futures tylko Chicago i Nowy Jork, ale wyniki mają zastosowanie również do innych obszarów handlowych, jak również. Udokumentowane techniki wykorzystywania zysków z intraday i swing Trading Setup McGraw-Hill, New York 2006 Google Scholar. Kaufman, PJ nowe systemy i metody obrotu, 4th edn John Wiley Sons, New Jersey 2005 Google Scholar. Murphy, JJ Analiza techniczna rynków finansowych a Kompleksowy przewodnik po metodach i aplikacjach handlowych New York Institute of Finance, Nowy Jork 1999 Google Scholar. Nison, S japońska świeca Techniki analizy graficznej, Druga edycja serii Prentice Hall, New Jersey 2001 Google Scholar. Pesavento, L Jouflas, L Handel Jak widzisz jak zysk z rozpoznawania wzorów John Wiley Sons, New Jersey 2007 Google Scholar. Tinghino, M Narzędzia analizy technicznej Tworzenie System handlu przynoszĘ ... cymi do zysku Bloomberg Press, Nowy Jork 2008 Google Scholar. Tucnik, P Automatyczny system handlu uprawnieniami do dystrybucji w Godara, wersja Vespa dla technologii i trendów biznesowych IGI Global, Sydney 2017 Google Scholar. Tucnik, P Automatyczny efekt handlu kontraktami futures na decyzję Dokonywanie niedawnych postępów w naukach komputerów stosowanych w ramach 9. Międzynarodowej Konferencji WSEAS na temat Informatyki Stosowanej Światowej Akademii Nauk i Inżynieria i Towarzystwa, Ateny 2009 Google Scholar. Copyright information. Springer-Verlag Berlin Heidelberg 2017. Inżynierowie i filie. Petr Tucnik.1 Wydział Technologii Informacyjnych, Wydział Informatyki i Zarządzania Uniwersytet w Hradec Kralove Hradec Kralove Republika Czeska. About this. How do zoptymalizowania systemu handlowego. NOTE Jest to dość zaawansowany temat Przeczytaj najpierw poprzednie ćwiczenia z zakresu AFL. Ideą optymalizacji jest prosta. Trzeba najpierw mieć system handlu, może to być prosta przecięcia średniej ruchomej. Na przykład w prawie każdym systemie istnieją pewne parametry jako okres uśredniania, który decyduje o zachowaniu danego systemu tj. dobrze sprawdza się w perspektywie długoterminowej lub krótkoterminowej, jak reaguje na wysoce niestabilne zapasy itd. Optymalizacja to proces znalezienia optymalnych wartości tych parametrów dających największy zysk z systemu danego symbolu lub portfela symboli AmiBroker jest jednym z niewielu programów, które pozwalają na optymalizację systemu na wielu symbolach jednocześnie. Aby zoptymalizować system, musisz zdefiniować f rom z jednym do dziesięciu parametrów do zoptymalizowania Zdecydujesz, co jest minimalną i maksymalną dopuszczalną wartością parametru iw jakich krokach wartość ta powinna zostać zaktualizowana AmiBroker wykonuje wiele testów wstecznych systemu przy użyciu WSZYSTKICH kombinacji wartości parametrów Gdy ten proces zostanie zakończony AmiBroker wyświetla listę wyników posortowanych według zysku netto Możesz zobaczyć wartości parametrów optymalizacji, które dają najlepszy wynik. Zarządzanie formuła AFL. Optymalizacja w testerze wstecznym jest obsługiwana za pomocą nowej funkcji zwanej optymalizacją Składnia tej funkcji jest następująca. zmienna optymalizacja Opis, domyślnie min maks. step. variable - to zwykła zmienna AFL, która przyporządkowuje wartość zwracaną przez optymalizację funkcji Przy normalnych testach wstecznych, skanowania, eksploracji i sekwencji optymalizacja zwraca wartość domyślną, więc powyższe wywołanie funkcji jest równoważne zmiennej default. In optymalizacji optymalizacji funkcji zwraca kolejne wartości od min do max włącznie z krokiem. Opis jest ciągiem, który jest używany do identyfikacji zmiennej optymalizacyjnej i jest wyświetlany jako nazwa kolumny w wynikach wyszukiwania. Lista. default jest wartością domyślną, która optymalizuje funkcje zwracane w poszukiwaniu, wskaźniku, komentarzach, skanowaniu i normalnym badaniu wstecznym modes. min jest minimalną wartością zmiennej zoptymalizowanej. max jest maksymalną wartością zmiennej zoptymalizowanej. step jest interwałem służącym do zwiększania wartości z min na maksimum. AmiBroker obsługuje maks. 64 wywołania w celu optymalizacji funkcji, a więc do 64 optymalizacji zmienne, pamiętaj, że jeśli używasz wyczerpującej optymalizacji to naprawdę dobry pomysł, aby ograniczyć liczbę zmiennych optymalizacyjnych do zaledwie kilku. Każdy zadzwonić, aby zoptymalizować optymalizację maksimum kroków optymalizacji pętli i wiele połączeń w celu optymalizacji mnożenia liczby uruchomionych potrzeb Na przykład optymalizacja dwóch parametrów przy użyciu 10 kroków wymaga 10 10 100 optymalizacji pętli. Call optymalizacji funkcji tylko ONCE na zmienną na początku Twojej formuły jak każde wywołanie generuje nowe pętle optymalizacyjne. Większość optymalizacji symboli jest w pełni obsługiwana przez AmiBroker. Maksymalna przestrzeń wyszukiwania to 2 64 10 19 10 000 000 000 000 000 kombinacji.1 Jedna zmienna optymalizacja. sigavg Optymalizacja średniej sygnału 9 2 20 1. Kup Cross MACD 12 26, Sygnał 12 26 sigavg Sprzedaj sygnał krzyżowy 12 26 sigar, MACD 12 26.2 Optymalizacja na 2 5 50 1 Poziom Optymalizuj poziom 2 2 150 4.Buy Krzyż CCI na, Poziom sprzedaży Cross Level, CCI per.3 Wielokrotna 3 zmienna optymalizacja. mfast Optymalizacja MACD Fast 12 8 16 1 mslow Optymalizacja MACD Powolny 26 17 30 1 sigavg Optymalizacja Średnica sygnału 9 2 20 1. Kup TransDrive MACD, mslow Sygnał mfast, mslow, sigavg Sprzedaj Cross Signal mfast, mslow, sigavg, MACD mfast, mslow. Po wpisaniu formuły wystarczy kliknąć przycisk Optymalizuj w oknie analizy automatycznej AmiBroker rozpocznie testowanie wszystkich możliwych kombinacji zmiennych optymalizacyjnych i przedstawi wyniki na liście Po zakończeniu optymalizacji lista wyników została przedstawiona posortowana przez zysk netto Jak można sortować wyniki według dowolnej kolumny na liście wyników, łatwo uzyskać optymalne parametry dla najniższego wypłatu, najniższą liczbę transakcji, największy współczynnik zysku, najniższy rynek ekspozycja i najwyższy stopień ryzyka skorygowany roczny wynik Ostatnie kolumny listy wyników przedstawiają wartości zmiennych optymalizacyjnych dla danego testu. Kiedy zdecydujesz, która kombinacja parametrów odpowiada Twoim potrzebom, wystarczy zastąpić wartości domyślne w celu optymalizacji połączeń funkcji z optymalnymi wartościami Na obecnym etapie należy wpisać je ręcznie w oknie edycji formuły drugi parametr optymalizacji funkcji call. Displaying 3D animowane wykresy optymalizacji. Aby wyświetlić wykres optymalizacji 3D, należy najpierw zoptymalizować dwie zmienne dwie zmienne optymalizacja potrzebuje formuły, która ma 2 Zoptymalizować wywołania funkcji Przykładowa dwu zmienna formuła optymalizacyjna wygląda następująco :. Optymalizuj na 2 5 50 1 Optymalizuj poziom poziom 2 2 150 4.Buy Krzyż CCI za każdy poziom sprzedaży, CCI na każdy. Po wprowadzeniu formuły należy kliknąć przycisk Optymalizuj. Po zakończeniu optymalizacji kliknij strzałkę rozwijaną przycisku Optymalizuj i wybierz opcję Wyświetl 3D wykres optymalizacji W ciągu kilku sekund na wykresie wykresu 3D pojawi się kolorowa, trójwymiarowa powierzchnia wykresu Przykładowy wykres 3D generowany przy użyciu powyższej wzoru przedstawiono poniżej. Domyślnie wykresy 3D przedstawiają wartości zysku netto względem zmiennych optymalizacyjnych Wykres powierzchni 3D dowolnej kolumny w tabeli wyników optymalizacji Kliknij nagłówek kolumny, aby go posortować, niebieska strzałka wskazuje, że wyniki optymalizacji są sortowane według wybranej kolumny, a następnie wybierz opcję Wyświetl wykres optymalizacji 3D. Bądź wizualizowany, jak wpływają parametry systemu dzięki czemu można łatwiej zdecydować, które wartości parametrów powodują delikatne wrażenia i które zapewniają solidną wydajność systemu. Solidnymi ustawieniami są regiony w grach 3D ph, które wykazują stopniowe, a nie gwałtowne zmiany wykresów optymalizacji 3D powierzchni są świetnym narzędziem zapobiegania krzywej dopasowania dopasowania krzywej lub nadmiernej optymalizacji, gdy system jest bardziej złożony niż musi być, a ta złożona koncentracja była skupiona na warunki rynkowe, które mogą się nigdy nie powtórzyć Zmiany radialne lub skoki na wykresach optymalizacji 3D pokazują wyraźnie obszary nadoptymalizowania Należy wybrać region parametrów, który wytwarza szeroki i szeroki płaskowyż na wykresie 3D dla Twojego prawdziwego życia Zestawy parametrów powodujące skoki zysku nie będą działać rzetelnie w prawdziwym handlu. Przeglądarka wykresów 3D. Przeglądarka wykresów 3DAmiBroker s oferuje całkowite możliwości wyświetlania z pełnym obracaniem i animacją wykresu Teraz można wyświetlać wyniki systemu z każdej możliwej perspektywy Możesz kontrolować pozycję i inne parametry wykresu za pomocą myszy , pasek narzędzi i skróty klawiaturowe, niezależnie od tego, co Ci się łatwiej znajdziesz Poniżej znajdziesz listę.- do Obróć - przytrzymaj LEFT mous e i poruszaj się w kierunkach XY - w celu powiększenia, oddalenia - przytrzymaj prawy przycisk myszy i poruszaj się w kierunkach XY - aby przenieść translację - przytrzymaj lewy przycisk myszy i klawisz CTRL i poruszaj się w kierunku XY - aby animować - przytrzymaj dół lewy przycisk myszy, przeciągnij szybko i zwolnij przycisk podczas przeciągania. SPACE - animacja automatycznego obracania STRZAŁKA W LEWO - obrót pionka Lewa STRZAŁKA W GÓRĘ - obracanie w prawo w prawo STRZAŁKA W GÓRĘ - obracanie w górę STRZAŁKA W GÓRĘ - obróć oczarowanie NUMPAD PLUS - Blisko powiększenia NUMPAD - MINUS - Daleko odejmij NUMPAD 4 - przesuń w lewo NUMPAD 6 - przesuń w prawo NUMPAD 8 - przesuń w górę NUMER 2 - przesuń w dół PAGE UP - poziom wody w górę STRZAŁKA W GÓRĘ - poziom wody w dół. sprytna wyczerpująca optymalizacja. AmiBroker teraz oferuje inteligentną, niewyczerpującą optymalizację w uzupełnieniu regularnych, wyczerpujących wyszukiwań Niewyczerpujące wyszukiwanie jest użyteczne, jeśli liczba wszystkich kombinacji parametrów danego systemu obrotu jest po prostu zbyt duża, aby możliwe było wyczerpujące wyszukiwanie. Wyczerpujące wyszukiwanie jest w porządku, jeśli tylko jest reasona Będziemy mówić, że masz 2 parametry w zakresie od 1 do 100 kroku 1 To 10000 kombinacji - idealnie OK dla wyczerpujących poszukiwań Teraz z 3 parametrami masz milion kombinacji - wciąż jest to możliwe do wyczerpującego wyszukiwania, ale może być długotrwałe Z 4 parametrami masz 100 milionów kombinacji i 5 parametrów 1 100 masz 10 miliardów kombinacji W takim przypadku byłoby to zbyt czasochłonne, aby sprawdzić wszystkie z nich, a jest to obszar, w którym niewyczerpujące metody wyszukiwania inteligentnego mogą rozwiązać problem problem, który nie jest rozwiązany w rozsądnym czasie przy użyciu wyczerpujących wyszukiwań. Tutaj jest to prosta instrukcja, jak używać nowego niedokładnego optymalizatora w tym przypadku CMA-ES.1 Otwórz swoją formułę w edytorze formuł. 2. Dodaj tę pojedynczą linię u góry z formuły. OptimizerSetEngine cmae można również użyć spso lub trib here.3 Opcjonalny Wybierz cel optymalizacji w sekcji Automatyczna analiza, zakładka Ustawienia, zakładka Walk-Forward, pole Target optymalizacji Jeśli pominiesz ten krok, zoptymalizujesz Związek CAR MDD roczny zysk podzielony przez maksymalne wycofanie. Teraz, jeśli uruchomisz optymalizację przy użyciu tej formuły, użyjesz nowego ewolucyjnego niewyczerpującego optymalizatora CMA-ES. Jak to działa. Optymalizacja jest procesem określania minimalnej lub maksymalnej podanej funkcji Każdy system obrotu może być traktowany jako funkcja pewnej liczby argumentów Wejścia są parametrami i danymi kwotowania, których wyjście jest Twoim celem optymalizacji CAR MDD I szukasz maksymalnej danej funkcji. Mania inteligentnych algorytmów optymalizacji opierają się na naturze zwierząt zachowanie - algorytm PSO lub proces biologiczny - algorytmy genetyczne, a niektóre opierają się na pojęciach matematycznych pochodzących od ludzi - CMA-ES. Te algorytmy są stosowane w wielu różnych dziedzinach, w tym finansach Wprowadź finansowanie PSO lub finansowanie CMA-ES w Google i Ty znajdzie wiele informacji. Niepełne lub inteligentne metody znajdą globalne lub lokalne optymalne Cel jest oczywiście znaleźć globalne, ale jeśli jest pojedynczy ostry szczyt zilu lwy kombinacji parametrów, niewyczerpujące metody mogą nie znaleźć tego pojedynczego szczytu, ale biorąc to z perspektywy przedsiębiorcy, znalezienie pojedynczego ostrego szczytu jest bezużyteczne dla handlu, ponieważ ten wynik byłby niestabilny zbyt delikatny i nie replikowalny w prawdziwym handlu W procesie optymalizacji raczej poszukują obszarów płaskowzgórzowych o stabilnych parametrach i są to obszary, w których inteligentne metody świecą. Jako algorytm użyty w wyniku niewyczerpującego wyszukiwania, wygląda następująco: optymalizator generuje zazwyczaj losową populację początkową zestawów parametrów b baza danych zwrotnych jest wykonywana przez AmiBroker dla każdego zestawu parametrów z populacji c wyniki testów wstecznych są oceniane zgodnie z logiką algorytmu a nowa populacja jest generowana w oparciu o ewolucję wyników, d jeśli zostanie znaleziona nowa - zapisz ją i przejdź do kroku b, aż kryteria zatrzymania są spełnione. Nie przykładowe kryteria zatrzymania mogą obejmować osiągnięcie określonego maksymalnego iteracji b stop, jeśli zakres najlepszych obiektywnych wartości ostatnich X pokoleń jest zerowy stop c, jeśli dodanie 0 1 wektora odchylenia standardowego w dowolnym kierunku osi głównej nie zmienia wartości obiektywnej wartości d innych. Aby użyć dowolnego inteligentnego niewyczerpującego optymalizatora w AmiBroker, musisz określić silnik optymalizatora, którego chcesz używać w AFL z wykorzystaniem funkcji OptimizerSetEngine. Funkcja wybiera zewnętrzny silnik optymalizacji określony przez nazwę. AmiBroker jest obecnie wyposażony w 3 silniki Standardowe cząstki Swarm Optimizer spso, plemię plemienną i CMA-ES cmae - nazwy w nawiasach klamerkowych mają być użyte w wywołaniach OptimizerSetEngine. wybierając silnik optymalizatora, który chcesz ustawić niektóre z jego parametrów wewnętrznych W tym celu należy użyć funkcji OptimizerSetOption. OptimizerSetOption, funkcji wartości. Funkcja ustawia dodatkowe parametry dla zewnętrznego silnika optymalizacji Parametry zależą od silnika Wszystkie trzy optymalizatory dostarczane z AmiBroker SPSO, Trib , CMAE obsługuje dwa parametry Uruchamia liczbę przebiegów i maksymalne testy oceny MaxEval na pojedynczą jazdę Zachowanie każdego parametru jest uzależnione od silnika, więc takie same wartości mogą i zwykle przynoszą różne wyniki przy użyciu różnych silników. Różnica między biegami a MaxEval jest następująca Ocena lub test to pojedynczy test wsteczny lub ocena obiektywnej wartości funkcji RUN jest jednym pełnym biegiem algorytm znalezienia optymalnej wartości - zazwyczaj zawierającej wiele testów. Każda operacja po prostu RESTARTS cały proces optymalizacji z nowej początkowej nowej początkowej losowej populacji Każda bieżąca droga może prowadzić do znalezienia lokalnego maksimum min, jeśli nie znajdzie globalnego parametru So Runs liczba kolejnych algorytmów uruchamianych MaxEval to maksymalna liczba bactestsów ewaluacyjnych w każdym pojedynczym ruchu. Jeśli problem jest stosunkowo prosty i 1000 testów wystarczy, aby znaleźć globalne maks., 5x1000 jest bardziej prawdopodobne, aby znaleźć globalny maksymalny, ponieważ istnieje mniejsze prawdopodobieństwo zablokowania w lokalnym maks., ponieważ kolejne runy zaczynają się od początkowej początkowej losowej populacji. Wybór wartości parametru może być trudne zależy od problemu w trakcie testu, jego złożoności itd. itd. Każda stochastyczna metoda nie wyczerpująca nie gwarantuje znalezienia globalnego maksimum min, niezależnie od liczby testów, jeśli jest mniejsza niż wyczerpująca Najprostsza odpowiedź polega na określeniu dużej liczby testy, które są rozsądne pod kątem czasu wymaganego do wykonania Inna prosta rada to pomnożenie przez 10 liczby testów z dodaniem nowego wymiaru Może to prowadzić do przecenienia wymaganych testów, ale jest to całkiem bezpieczne Wysyłane silniki są zaprojektowane do być proste w obsłudze, dlatego rozsądne domyślne wartości automatyczne są używane, więc optymalizacja może być zwykle wykonywana bez podania niczego akceptującego wartości domyślne. Ważne jest, aby zrozumieć, że wszystkie inteligentne metody optymalizacji działają najlepiej w przestrzeniach parametrów ciągłych i względnie gładkich funkcjach celu Jeśli obszar parametrów jest dyskretny algorytmy ewolucyjne mogą mieć kłopoty ze znalezieniem optymalnej wartości Jest to szczególnie prawdziwe dla binarnych parametrów off - nie są to uited dla dowolnej metody wyszukiwania, która używa gradientu obiektywnej zmiany funkcji jak najbardziej inteligentnych metod zrobić Jeśli system obrotu zawiera wiele binarnych parametrów, nie należy używać inteligentnego optymalizatora bezpośrednio na nich Zamiast tego staraj się optymalizować tylko ciągłe parametry za pomocą inteligentnego optymalizatora i przełączać parametry binarne ręcznie lub za pomocą zewnętrznego skryptu. SPSO - Standardowa cząstka Swarm Optimizer. Standard Particle Swarm Optymalizator oparty jest na kodzie SPSO2007, który ma przynieść dobre wyniki, pod warunkiem, że dla konkretnego problemu są określone prawidłowe parametry tj. Runy, MaxEval Wybieranie poprawnych opcji dla optymalizatora PSO może być trudne, dlatego też wyniki mogą znacznie różnić się w zależności od przypadku. jest dostarczany z pełnym kodem źródłowym wewnątrz podkatalogu ADK. Przykładowy kod dla Standardowego Cząstki Swarm Optimizer znalezienie optymalnej wartości w 1000 testów w obszarze wyszukiwania 10000 kombinacji. NarzędzieSetEngine spso OptymalizatorSetOption Runs, 1 OptimizerSetOption MaxEval, 1000.sl Optymalizacja s, 26, 1, 100, 1 fa Zoptymalizuj f, 12, 1, 100, 1.Buy Cross MACD fa, sl, 0 Sprzedaj Cross 0, MACD fa, sl. TRIBES - Adaptive Parameter-less Particle Swarm Optymalizator. Trybry są adaptacyjne, bez parametrów bez wersji PSO optymalizator roju cząstek Nie wyczerpujący optymalizator Dla naukowego tła patrz. W teorii powinien on być lepszy niż zwykły PSO, ponieważ może automatycznie dostosować rozmiary roju i strategię algorytmu do problemu, który zostanie rozwiązany. Praktyka wskazuje, że jej wydajność jest dość podobna do PSO. Wtyczka implementuje Tribes-D tj. Bezwymiarowy wariant Na podstawie Maurice Clerc Oryginalnych kodów źródłowych używanych za zgodą autora. jest dostarczany z pełnym kodem źródłowym wewnątrz folderu ADK. Powiadomione parametry MaxEval - maksymalna liczba testów wstecznych na każde uruchomienie domyślne 1000. Należy zwiększyć liczbę ocen z rosnącą liczbą wymiarów parametrów paramsów optymalizacji Domyślna wartość 1000 jest dobra dla 2 lub maksymalnie 3 wymiary. Runs - liczba uruchomień restartuje domyślnie 5 Możesz pozostawić liczbę przebiegów na domyślną wartość 5.By domyślna liczba uruchomień lub restartów jest ustawiona na 5. Aby użyć optymalizatora Tribes wystarczy dodać jedną linię do swojego kodu. OptymalizatorSetOption MaxEval, 5000 5000 ocen max. CMA-ES - Adaptacja matrycy kowariancji Optymalizacja strategii ewolucyjnej. CMA-ES Współczynnik kowariancji adaptacja Strategia ewolucyjna jest zaawansowanym niewyczerpującym optymalizatorem Dla naukowego kontekstu Zgodnie z naukowymi kryteriami przewyższają dziewięć innych najpopularniejszych strategii ewolucyjnych, takich jak PSO, ewolucja genetyczna i różnicowa. Wtyczka implementuje globalny wariant wyszukiwania z kilkoma restartami z rosnącym popem rozmiar przydziału pochodzi z pełnego kodu źródłowego wewnątrz folderu ADK. Domyślna liczba uruchomień lub restartów jest ustawiona na 5 Zalecane jest pozostawienie domyślnej liczby restartów. Możesz to zmienić za pomocą OptymalizatoraSetOption Runs, N call, gdzie N powinien znajdować się w zasięgu 1 10 Określenie więcej niż 10 przebiegów nie jest zalecane, choć możliwe Należy pamiętać, że każda kolejna operacja wykorzystuje TWICE wielkość populacji poprzedniego cyklu, więc wzrasta wykładniczo W związku z tym z 10 biegami kończy się liczba ludności 2 10 większa niż 1024 razy niż pierwsza bieg. jest innym parametrem MaxEval Domyślną wartością jest ZERO, co oznacza, że wtyczka automatycznie obliczy MaxEval. Nie zaleca się definiowania MaxEval przez siebie, ponieważ domyślnie działa poprawnie. Algorytm jest wystarczająco inteligentny, aby zminimalizować liczbę wymaganych ocen i zbiegać się bardzo szybko do rozwiązania punktu, więc często znajdzie rozwiązania szybciej niż inne strategie. Jest normalnie, że plugin pominie niektóre etapy ewaluacji, jeśli wykryje, że rozwiązanie zostało znalezione, to e nie należy się dziwić, że pasek postępu optymalizacji może poruszać się bardzo szybko w niektórych punktach wtyczka ma również możliwość zwiększenia liczby kroków powyżej pierwotnie oszacowanej wartości, jeśli jest potrzebna do znalezienia rozwiązania Ze względu na jego adaptacyjny charakter, szacowany czas pozostały i lub liczba kroków wyświetlanych w oknie dialogowym postępu jest najlepiej przypuszczalna w danej chwili i może różnić się w trakcie kursu optymalizacji. Aby użyć narzędzia do optymalizacji CMA-ES, wystarczy dodać jedną linię do swojego kodu. Spowoduje to uruchomienie optymalizacji z ustawieniami domyślnymi, które są w porządku dla większości przypadków. Należy zauważyć, podobnie jak w przypadku wielu algorytmów wyszukiwania przestrzeń kosmicznego, że zmniejszający się parametr kroku w funkcjach Optymalizuj funciton nie wpływa znacząco na czasy optymalizacji Jedyną rzeczą, która ma znaczenie, jest wymiar problemu, tzn. liczba różnych parametrów liczba funkcji zoptymalizowania funkcji Liczba kroków na jeden parametr może być ustawiona bez wpływu na czas optymalizacji, więc użyj najlepszej rozdzielczości, jaką chcesz w teście y algorytm powinien być w stanie znaleźć rozwiązanie w co najwyżej 900 testach N 3 N 3, w których N jest wymiarem W praktyce zbiegnie się szybciej Z LOTA Przykładowo, rozwiązanie w przestrzeni parametrów 3 N trójwymiarowych mówi 100 100 100 1 miliona wyczerpujących kroków można znaleźć w zaledwie 500-900 kroków CMA-ES. Indiogwintowana indywidualna optymalizacja. Uruchamianie z AmiBroker 5 70 oprócz wielowątkowego wielowątkowego można wykonać wielowątkową optymalizację wielostanowiskową Aby uzyskać dostęp do tej funkcji, kliknij przycisk upuść strzałkę w dół obok przycisku Optymalizuj w oknie Nowa analiza i wybierz opcję Indywidualne optymalizowanie. Opcja Optymalizacja indywidualna będzie korzystać z wszystkich dostępnych rdzeni procesora w celu przeprowadzenia optymalizacji pojedynczego symbolu, co znacznie przyspiesza jej wyniki niż regularna optymalizacja. W trybie bieżącego symbolu będzie on optymalizowałby się na jednym symbolu We wszystkich symbolach i trybach Filtr przetwarza wszystkie symbole kolejno, tj. Pierwszą pełną optymalizację dla pierwszego symbolu, a następnie optymalizację na drugim symbolu itp. Określenia 1 Custo m backtester nie jest jeszcze obsługiwany 2 Inteligentne silniki optymalizacyjne nie są obsługiwane - działa tylko optymalizacja EXHAUSTIVE. W międzyczasie możemy pozbyć się ograniczeń 1 - gdy AmiBroker zostanie zmieniony, więc niestandardowy backtester nie używa już OLE Ale 2 prawdopodobnie tu pozostać na długo.
No comments:
Post a Comment