Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Dostosowywanie

  1. Doradca i jego parametry
  2. Testowanie
  3. Parametry wejściowe
  4. Optymalizacja
  5. Instrument finansowy i jego okres
  6. Metody modelowania
  7. Zakres czasu

Optymalizacja jest sekwencyjnym uruchomieniem tego samego doradcy z różnymi parametrami wejściowymi dla tych samych danych. Jednocześnie możliwe jest wybranie parametrów, przy których skuteczność doradcy będzie maksymalna. Terminal ma wbudowane narzędzia do automatyzacji tego procesu. Przed przystąpieniem do optymalizacji parametrów doradcy konieczne jest skonfigurowanie. Oznacza to, że powinieneś:

Do testowania i optymalizacji doradców w terminalu stosowany jest specjalny. Okno testera . Wszystkie powyższe ustawienia są dokonywane w zakładce „Ustawienia” tego okna.

Doradca i jego parametry

W polu „Tester - Expert Advisors” powinieneś wybrać eksperta, którego parametry chcesz zoptymalizować. W tym polu nie można wybrać żadnego doradcy plików. W terminalu klienta mogą być dostępne tylko pliki. Aby to zrobić, muszą być skompilowane i umieszczone w folderze / EXPERTS.

Po wybraniu doradcy konieczne jest wykonanie dodatkowych konfiguracji i parametrów wejściowych. Można to zrobić, klikając przycisk „Właściwości zaawansowane”.

Pojawi się nowe okno z trzema zakładkami:

Testowanie

Ogólne parametry optymalizacji ustawia się w tej zakładce. Obejmują one wielkość i walutę początkowego depozytu, które są wskazane w polach o tej samej nazwie. To depozyt, na którym doradca będzie pracował podczas optymalizacji.

W tej zakładce wybierane są również typy pozycji do otwarcia: Tylko długie - otwieranie tylko długich pozycji; Tylko krótki - tylko krótki; Długie i krótkie - otwarte pozycje w obu kierunkach. Niezależnie od algorytmu doradcy, otworzy on tylko pozycje w określonych kierunkach.

Możesz także włączyć algorytm optymalizacji genetycznej. Szczegółowy opis tego algorytmu można znaleźć w artykule. „Algorytmy genetyczne - aparat matematyczny” .

Parametrem zoptymalizowanym jest pewien wskaźnik, którego wartość określa jakość testowanych parametrów wejściowych. Im większa wartość kryterium optymalizacji, tym lepszy wynik testu z danym zestawem parametrów. Do optymalizacji dostępne są następujące parametry:

  • Bilans - optymalizacja to maksymalna wartość salda;
  • Współczynnik zysku - wskaźnik jest maksymalną wartością współczynnika zysku;
  • Oczekiwana wypłata - wskaźnik jest maksymalną wartością oczekiwanej wypłaty;
  • Maksymalny spadek - wskaźnik to minimalna wartość wypłaty;
  • Procent Drawdown - wskaźnik to minimalna wartość względnego wypłaty (w procentach);
  • Niestandardowy - gdy ten parametr zostanie wybrany jako kryterium optymalizacji, zostanie uwzględniona wartość funkcji OnTester () eksperta. Ten parametr pozwala użytkownikowi na wykorzystanie dowolnych własnych wskaźników do optymalizacji.

Parametry wejściowe

Oto tabela z listą wszystkich parametrów wejściowych. Parametry wejściowe to zmienne, które wpływają na pracę eksperta i mogą być zmieniane bezpośrednio z terminala klienta. Aby zmienić te parametry, nie ma potrzeby zmiany kodu eksperta. Liczba zmiennych wejściowych może się różnić w zależności od eksperta.

Podczas optymalizacji parametry wejściowe doradcy są ustawiane w polach „Start”, „Krok” i „Stop”. W tych polach podane są wartości początkowe, krok zmiany i ostateczne wartości zmiennych zewnętrznych. Po lewej stronie nazw zmiennych znajdują się pola wyboru zawierające parametr w optymalizacji. Jeśli zmienna nie jest zaznaczona, nie uczestniczy w optymalizacji. Jego wartość nie zmienia się podczas procesu optymalizacji i używany jest parametr zapisany w polu „Wartość”. Liczba przebiegów eksperckich zależy bezpośrednio od tych parametrów. Dane zapisane w polu „Wartość” nie wpływają na optymalizację doradcy i są konieczne tylko dla jego testowanie .

Możliwe jest załadowanie już zapisanego zestawu parametrów wejściowych (w tym wartości „Start”, „Krok” i „Stop”). Można to zrobić, klikając przycisk „Wczytaj” i wybierając wcześniej zapisany zestaw parametrów. Możesz zapisać bieżący zestaw zmiennych zewnętrznych za pomocą tego samego przycisku.

Optymalizacja

Ta karta umożliwia zarządzanie ograniczeniami podczas optymalizacji. Jeśli w procesie oddzielnego uruchomienia zostanie osiągnięty którykolwiek z warunków, to uruchomienie doradcy zostanie przerwane. Optymalizacja będzie kontynuowana przy następnym uruchomieniu.

Aby włączyć warunek ograniczający, musisz zaznaczyć pole po lewej stronie. Dwukrotne kliknięcie lewym przyciskiem myszy w polu „Wartość” pozwala zmienić istniejący parametr, a po wprowadzeniu nowej wartości nacisnąć klawisz „Enter”.

Ograniczające parametry obejmują:

  • Minimalne saldo - minimalna wartość salda w walucie depozytu;
  • Maksymalny zysk - maksymalny zysk w walucie depozytu;
  • Minimalny poziom marży% - minimalny poziom marży w procentach;
  • Maksymalny procent wypłaty - maksymalne wykorzystanie w procentach;
  • Strata ciągła - maksymalna łączna strata w jednej serii. Kolejne kolejne przegrane transakcje nazywane są seriami przynoszącymi straty;
  • Ciągła liczba nierentownych transakcji - maksymalna liczba nierentownych transakcji w jednej serii;
  • Ciągła wygrana - maksymalny łączny zysk w jednej serii. Seria dochodowych transakcji nazywana jest serią dochodową;
  • Ciągła liczba dochodowych transakcji - maksymalna liczba dochodowych transakcji w jednej serii.

Instrument finansowy i jego okres

Aby rozpocząć testowanie, nie wystarczy tylko wybrać doradcę i go skonfigurować. Musisz także wybrać instrument finansowy i okres (ramy czasowe) do testowania. Wszystkie testy zostaną przeprowadzone na tych danych. Podczas testowania możesz wybrać jedno z narzędzi dostępnych w terminalu lub użyć zewnętrznego pliku danych. Testy wykorzystują pliki danych historycznych w formacie * .FXT, które są zapisywane w katalogu / TESTER. Pliki te są tworzone automatycznie podczas testowania, jeśli wybrano narzędzie dostępne w terminalu.

Instrument finansowy jest ustawiony w polu „Symbol”, a przedział czasowy - w polu „Okres”. Jeśli plik danych dla tego narzędzia, okresu i metody modelowania nie istnieje, zostanie utworzony automatycznie. W przypadku braku danych historycznych dotyczących instrumentu i okresu, tester automatycznie pobiera 512 ostatnich pasków historii.

Uwaga: jeśli na instrumencie znajdują się jakieś dane poza ostatnimi 512 taktami, dane historyczne zostaną automatycznie pobrane na najnowszy dostępny pasek. Może to spowodować gwałtowny wzrost ruchu przychodzącego.

Metody modelowania

Dane historyczne w terminalu są przechowywane tylko w postaci pasków i reprezentują rekordy w postaci OHLC. Dane te można wykorzystać do symulacji ruchów cenowych przy optymalizacji doradców. W niektórych przypadkach nie wystarczy przetestować / zoptymalizować takie informacje. Na przykład w codziennych danych wahania cen w barze mogą prowadzić do eksperckiego doradcy. Jednocześnie optymalizacja odpowiedzi może nie nastąpić. Innymi słowy, optymalizacja doradcy wyłącznie na podstawie słupków jest czasami niedokładna i może dać fałszywe wrażenie skuteczności eksperta przy wybranych parametrach.

Terminal pozwala na optymalizację doradców przy użyciu różnych metod modelowania danych historycznych. Jednocześnie dynamika cen jest emulowana dokładniej. Wykorzystując dane historyczne z mniejszych okresów, można przedstawić wahania cen w obrębie pasków. Na przykład, optymalizując eksperta w zakresie danych godzinowych, dynamikę cen wewnątrz paska można modelować na podstawie danych minutowych. Dlatego modelowanie znacząco przybliża dane historyczne do rzeczywistych wahań cen i sprawia, że ​​optymalizacja doradców jest bardziej wiarygodna.

Podczas optymalizacji strojenia można wybrać jedną z trzech metod modelowania danych historycznych:

  • Poprzez otwarcie cen (szybka metoda na prętach formowanych)
    Niektóre mechaniczne systemy transakcyjne nie zależą od cech modelowania wewnątrzbarkowego, handlują na uformowanych prętach. Fakt, że obecny pasek cen jest w pełni ukształtowany, można rozpoznać po pojawieniu się następujących elementów. To właśnie dla takich ekspertów przeznaczony jest ten tryb modelowania.
    W tym trybie najpierw symulowane jest otwarcie pręta (Open = High = Low = Close, Volume = 1), co pozwala ekspertowi dokładnie zidentyfikować koniec formowania poprzedniego paska cen. Na tym rodzącym się pasku uruchamia się testowanie eksperta. W następnym kroku jest już w pełni ukształtowany pasek bieżący, ale nie wykonuje się na nim testów!
  • Punkty kontrolne (przy użyciu najbliższego przedziału czasowego + interpolacja fraktalna)
    Metoda modelowania punktów kontrolnych ma na celu przybliżoną ocenę ekspertów prowadzących handel w barze. Ta metoda wymaga dostępności danych historycznych z najbliższego mniejszego okresu (przedziału czasowego). W większości przypadków dostępne dane o mniejszych ramach czasowych nie pokrywają w pełni zakresu czasowego badanych ram czasowych. W przypadku braku danych o mniejszym przedziale czasowym, rozwój pręta jest generowany na podstawie cen zamknięcia 12 poprzednich pasków. Oznacza to, że ruch wewnątrz paska powtarza ruch cen w ciągu ostatnich 12 okresów. To jest interpolacja fraktalna.
    Gdy tylko pojawią się dane historyczne o mniejszym przedziale czasowym, interpolacja fraktalna jest już stosowana do tych danych. Jednak nie 12, ale tylko 6 poprzednich pasków. Oznacza to, że rzeczywiste ceny są odtwarzane: Otwarte, Wysokie, Niskie, Zamknij, oraz dwie kolejne generowane ceny. Wartość i lokalizacja tych dwóch wygenerowanych cen zależy od ruchu ceny na 6 poprzednich słupkach.
  • Wszystkie kleszcze (w oparciu o wszystkie najmniejsze okresy dostępne przy interpolacji fraktalnej każdego kleszcza)
    Ten tryb pozwala najdokładniej symulować ruch cenowy wewnątrz paska. W przeciwieństwie do „punktów kontrolnych”, metoda „każdy tyk” wykorzystuje do generowania danych nie tylko z najbliższego, mniejszego przedziału czasowego, ale ze wszystkich dostępnych mniejszych ram czasowych. Jednocześnie, jeśli dane dla więcej niż jednego przedziału czasowego istnieją jednocześnie dla pewnego przedziału czasowego, dane z najmniejszego przedziału czasowego są wykorzystywane do generowania. Tak jak w poprzedniej metodzie, punkty kontrolne są generowane fraktalnie. Interpolacja fraktalna służy również do generowania ruchu cenowego między punktami kontrolnymi. Możliwe, że kilka identycznych znaczników jest generowanych z rzędu. W takim przypadku duplikaty cudzysłowu są filtrowane, a objętość ostatniego z tych cytatów jest rejestrowana.
    Konieczne jest uwzględnienie bardzo dużej ilości wygenerowanych danych kleszczy. Może to mieć wpływ na zużycie zasobów systemu operacyjnego i szybkość testowania.

Uwaga:

    • Nie zaleca się przeprowadzania testów kleszczy przy braku mniejszych ram czasowych, które całkowicie pokrywają badany okres, w przeciwnym razie testowanie będzie niedokładne;
    • Symulacja za pomocą punktów kontrolnych wykorzystywana jest głównie do optymalizacji doradców i symulacji wszystkich tików do dokładnych testów.

W terminalu klienta tylko ceny ofertowe są zapisywane w historii danych ceny. Aby symulować ceny Ask w testerze strategii, domyślnie używany jest bieżący spread instrumentu w momencie rozpoczęcia optymalizacji. Użytkownik może jednak ustawić własną wartość spreadu dla optymalizacji w polu „Spread”.

Zakres czasu

Zakres dat pozwala testować doradców nie na wszystkich dostępnych danych, ale tylko w wybranym przedziale czasu. Jest to wygodne, gdy jest to konieczne do zbadania oddzielnej części danych historycznych. Ograniczenie zakresu dat może być używane nie tylko podczas testowania eksperta, ale także podczas generowania sekwencji testowej słupków (symulowany plik danych używany do testowania). Bardzo często nie ma potrzeby generowania całych danych historycznych, zwłaszcza podczas modelowania kleszczy, gdy ilość nieużywanych danych może być bardzo duża. Dlatego, jeśli podczas początkowej generacji sekwencji testowej uwzględniono możliwość użycia zakresu dat, pręty, które wykraczają poza określony zakres, nie są generowane, ale są po prostu przepisywane do sekwencji wyjściowej. Dane nie są wykluczone z sekwencji, dzięki czemu możliwe jest prawidłowe obliczenie wskaźników w całej historii. Należy zauważyć, że pierwszych 100 taktów również nie jest generowanych. To ograniczenie nie zależy od ustawionego zakresu dat.

Aby włączyć limit dat, zaznacz pole wyboru „Użyj dat” i określ wymagane wartości w polach „Od” i „Do”. Po dokonaniu wszystkich ustawień możesz kliknąć przycisk „Start” i rozpocząć testowanie. Po rozpoczęciu testów można zobaczyć szacowany czas zakończenia tego procesu na dole okna.

Uwaga:

  • jeśli pole wyboru „Optymalizacja” nie jest zaznaczone, zamiast optymalizacji zostanie naciśnięty przycisk „Start” testy eksperckie ;
  • podczas optymalizacji, tak jak w testowaniu, możesz użyć własnego pliki historii .