Testowanie koncepcji transakcyjnych
___________________________________________________________________________
Co to jest system testujący?
System testujący związany jest z ulepszaniem i sprawdzaniem systemów transakcyjnych w celu ustalenia zysku na podstawie danych historycznych. System testujący pomaga w uzyskaniu odpowiedzi na pytanie, „Jeśli przeprowadzałbym transakcje na tym papierze wartościowym, stosując takie reguły transakcyjne, to jaki miałbym zysk lub stratę?”.
Programu MetaStock możesz użyć do:
pisania systemów transakcyjnych, wykorzystując swoje własne reguły,
testowania systemów transakcyjnych,
sprawdzania rezultatu testu za pomocą kreślenia strzałek kupna/sprzedaży i linii równowagi oraz za pomocą sprawdzania informacji w tabeli,
automatycznej optymalizacji parametrów w obrębie reguły transakcyjnej, w celu zwiększenia efektywności,
porównywania systemów transakcyjnych, w celu określenia, który system transakcyjny jest najlepszy dla określonego papieru wartościowego.
Przed rozpoczęciem tworzenia własnych systemów transakcyjnych, jest bardzo ważne, abyś przeczytał podrozdział System Tutorial, który rozpoczyna się na poniższych stronach.
Z powodu naturalnej komplikacji przy projektowaniu i tworzeniu wskaźników, systemów transakcyjnych, eksploracji i porad eksperta, Equis nie udziela bezpłatnej pomocy w tych przypadkach. Jednakże, pomoc techniczna jest dostępna za niewielką opłatą. Dzwoń do Equis pod numer 801-265-9998 po szczegóły lub wypełnij formularz FORMULA HELP.DOC znajdujący się w folderze MetaStock. Plik ten można obejrzeć za pomocą Wordpad.
Reguły systemu transakcyjnego wykorzystują tę samą składnię co wskaźniki. Jeśli niezbyt dokładnie zapoznałeś się z językiem MetaStocka, patrz str. 257.
Gdy ulepszasz system transakcyjny pamiętaj proszę, że analiza techniczna jest narzędziem dynamicznym (może sztuką) i jako taka, nie jest mechanicznym systemem bez skazy. Nie pozwól sobie wpaść w pułapkę „przesterowania” twojego systemu do ściśle określonych danych liczbowych. Uwagi o ulepszaniu systemów, znajdziesz na str. 398.
Informacje o programie Equis Solution Provider oraz MetaStock Developer's Kit, znajdziesz pod adresem www.equis.com.
___________________________________________________________________________
Opis systemu testującego
Ten krótki opis przedstawia kilka określeń i pojęć, odnoszących się do systemów testujących. Przed tworzeniem swoich własnych wskaźników, jest bardzo ważne, byś przeczytał ten opis. Powinieneś także dokładnie zapoznać się z językiem MetaStocka (patrz str. 257) i wskaźnikami (patrz str. 325).
Szybkie uruchamianie (podstawy)
System testujący rozwija się za pomocą poniższych kroków podstawowych. Są one wyjaśnione szczegółowo w tym opisie (nie próbuj wykonać ich teraz).
Krok 1
Utwórz system transakcyjny za pomocą określonych reguł (warunków), które muszą określać otwarcie/zamknięcie długiej i krótkiej pozycji.
Krok 2
Zaznacz stop (nieobowiązująco) w obrębie systemu transakcyjnego, który będzie automatycznie zamykać pozycję na podstawie zysku/straty z pozycji.
Krok 3
Przetestuj system transakcyjny. Podczas testowania, system może zajmować długą/krótką pozycję lub być poza rynkiem. Gdy system jest poza rynkiem, chroni zdobyty zysk. Program MetaStock wykorzystuje reguły transakcyjne i zamyka pozycję stosownie do określonego przez ciebie zysku/straty z aktualnej pozycji. Gdy system otworzył pozycję, to znaczy, że jest to zgodne z regułami, które ustaliłeś.
Krok 4
Zapoznaj się z wynikami testu. Podczas testowania, program MetaStock przechowuje wszystkie informacje odnoszące się do zawartych transakcji. Możesz je wyświetlić i sprawdzić wszystkie transakcje generowane przez twój system.
Krok 5
Dokonaj optymalizacji twoich parametrów (opcjonalnie). Optymalizacja pomoże w dobraniu najlepszych parametrów twojego systemu transakcyjnego.
Możesz wyświetlić wartość swojego kapitału jako wskaźnik na wykresie. Możesz także wyświetlić strzałki kupna/sprzedaży na wykresie. Możesz również porównać odmienne systemy transakcyjne, by znaleźć ten, który jest najlepszy dla danego papieru wartościowego (patrz str. 374).
Wszystkie szczegóły dotyczące systemu transakcyjnego, testów i raportów można wydrukować lub zapisać na dyskietce.
Okienko dialogowe System Tester
Przed zapoznaniem się z dalszą częścią rozdziału, otwórz wykres zawierający dane co najmniej 200 okresów czasowych dla papieru wartościowego, który chcesz przetestować. System testujący przeprowadza obliczenia na podstawie aktualnego wykresu papieru wartościowego.
Wybierz System Tester z menu Tools lub kliknij na przycisku System Tester w pasku narzędzi. Systemy testujące, które ukażą się w twoim okienku dialogowym, mogą być inne niż pokazane poniżej.
Okienko dialogowe System Tester pozwala na tworzenie, testowanie, porównywanie, drukowanie i raportowanie systemów testujących.
Tworzenie nowego systemu testującego
W wyświetlonym okienku dialogowym System Tester, kliknij przycisk New.
Okienko dialogowe System Editor posiada pola do wpisywania nazwy systemu, uwag i reguł. Otwarcie/zamknięcie długiej/krótkiej pozycji definiują cztery reguły.
Wprowadź nazwę systemu, np. „My First System” (nie używaj cudzysłowu w tym i następnych przykładach).
Kliknij przycisk Enter Long i wprowadź poniższą regułę transakcyjną dla otwarcia długiej pozycji.
cross(close,mov(close,25,simple))
Powyższą regułę, która jest najczęstszą regułą transakcyjną w programie MetaStock, można przeczytać jako „Otwórz długą pozycję, gdy cena zamknięcia przetnie od dołu 25-okresową prostą średnią ruchomą cen zamknięcia”. (Podobnie jak we wskaźnikach, możesz użyć skrótów, tj. zamiast „close” i „simple” można użyć „c” i „s”).
Reguły transakcyjne (patrz str. 361) są bardzo podobne do wskaźników (patrz str. 325).
Wprowadź poniższe informacje dla trzech pozostałych reguł transakcyjnych. Pamiętaj o kliknięciu odpowiednich przycisków (tj. Close Long, Enter Short i Close Short) przed wprowadzeniem każdej z tych reguł.
Close Long: cross(mov(close,25,simple),close)
Enter Short: cross(mov(close,25,simple),close)
Close Short: cross(close,mov(close,25,simple))
Gdy wprowadziłeś dokładnie cztery reguły transakcyjne, kliknij przycisk OK.
Jeśli w twoich regułach transakcyjnych będzie zła składnia, to wyświetli się komunikat wyjaśniający na czym polega błąd. Kliknij przycisk OK oznaczający, że zapoznałeś się z komunikatem. System Editor umieści kursor w miejscu, w którym występuje błąd. Powinieneś poprawić błąd i ponownie nacisnąć OK.
Testowanie systemu
Gdy ponownie ukaże się okienko dialogowe System Tester (oraz „My First System” będzie nadal podświetlony), kliknij przycisk Test aby rozpocząć testowanie.
Czas przeprowadzania testu zależy ilości załadowanych danych oraz wydajności komputera.
Wyświetlanie raportu
Gdy wyświetli się wiadomość „System Test Completed”, kliknij przycisk Reports. Ukaże się okienko Summary Report.
Raport pokazuje sumaryczny wynik testu. Jeśli przeprowadziłeś optymalizację dotyczącą kilku testów, każdy z tych testów będzie wyszczególniony w tym raporcie.
Kliknij przycisk Reports aby wyświetlić okienko dialogowe System Report.
W okienku dialogowym System Report są dostępne trzy raporty, umieszczone na stronach Results, Trades i Equity. Strona Results (patrz str. 384) pokazuje niepowodzenia w zwiększaniu zysku, straty i transakcje zawarte przez system jako całość. Strona Trades (patrz str. 390) pokazuje szczegóły każdej transakcji zawartej przez system. Strona Equity (patrz str. 392) pokazuje dzień po dniu rozliczenie z zawartych transakcji.
Gdy skończyłeś przeglądanie raportów, zwróć uwagę na nowe okienko wewnętrzne otwarte na wykresie, w którym została wykreślona krzywa kapitału. Krzywa kapitału pokazuje zmianę twojego kapitału w czasie (patrz str. 400).
Strzałki, które są wykreślone na wykresie papieru wartościowego, pokazują kiedy została otwarta długa lub krótka pozycja. Strzałka skierowana do góry jest sygnałem zajęcia długiej pozycji; strzałka skierowana do dołu jest sygnałem zajęcia krótkiej pozycji; znak „exit” jest sygnałem zamknięcia pozycji; znak „stop” jest sygnałem zamknięcia pozycji wynikającym z ustalonego poziomu strat lub zysku.
Optymalizacja
Optymalizacja dotyczy zmieniania składników reguł transakcyjnych lub stopów w zmiennej „OPT” i następnie kolejnej wymianie tych wartości do testowania. Następnie MetaStock przeprowadza wiele testów, zmieniając zmienną OPT na wartości, które zostały wybrane.
„My First System” w tym opisie testował sygnały kupna/sprzedaży generowane przez 25-okresową średnią ruchomą. Teraz możemy przystąpić do optymalizacji naszych reguł transakcyjnych, w celu określenia optymalnej liczby okresów czasowych używanych przez średnią ruchomą.
Wprowadzanie zmiennej w celu jej optymalizacji
Podświetl „My First System” w okienku dialogowym System Tester i kliknij przycisk Edit. We wszystkich czterech regułach transakcyjnych, zamień „25” na „OPT1” (dla optymalizacji pierwszej zmiennej). Pokazane jest to dla reguły Enter Long na poniższej ilustracji.
Kliknij przycisk Optimize. Ukaże się okienko dialogowe Optimization Variables.
Kliknij przycisk Edit. Ukaże się okienko dialogowe Variable Properties.
Chcemy przetestować średnią ruchomą od 10-okresów do 50-okresów, zwiększając okresy co 5 (tj. 10, 15, 20, itd.).
Wprowadź w polu Description słowa „Moving average periods” jako opis OPT1. W polu Minimum wpisz wartość 10, w polu Maximum wpisz wartość 50, w polu Step wpisz wartość 5 (tak jak to pokazano na poniższej ilustracji).
Kliknij przycisk OK.
Spójrz na wartość Total Tests w lewym dolnym rogu okienka dialogowego Optimization Variables. Wartość ta pokazuje całkowitą liczbę testów (w tym przypadku dziewięć), która będzie przeprowadzona. Zawsze sprawdź tę wartość, ponieważ bardzo łatwo można stworzyć system, który będzie generować tysiące testów.
Kliknij przycisk Close.
Kliknij przycisk OK w okienku dialogowym System Editor aby powrócić do okienka dialogowego System Tester.
Testowanie systemu poddanego optymalizacji
Mając nadal podświetlony „My First System”, kliknij przycisk Test. W czasie optymalizowania systemu, program MetaStock wyświetla informacje odpowiadające liczbie przeprowadzonych testów, liczba godzin, która upłynęła od zainicjowania testowania, spodziewany czas zakończenia testowania oraz największy zysk/strata.
Możesz wybrać przycisk Minimize aby zredukować okienko dialogowe System Test Optimization do jednej ikony. W tym wypadku, proces optymalizacji będzie odbywać się w tle, zwalniając komputer do innych prac.
Wyświetlanie raportów z optymalizacji
Gdy ukaże się wiadomość „System Test Completed”, kliknij przycisk Reports. Ukaże się okienko Summary Report.
Raport zawiera zapisy z każdego testu, który był przeprowadzony. Ponieważ przeprowadziliśmy dziewięć testów (tj. system był testowany przez dziewięć średnich ruchomych o różnych okresach), w raporcie powinno być dziewięć testów.
Testy są rozmieszczone w kolejności otrzymanego zysku netto, począwszy od największego. Chcąc zmienić kolejność, użyj przycisku Sort.
Przewiń raport, aż ukaże się kolumna OPT1.
Wartość pokazana w górnym rzędzie, w kolumnie OPT1, jest wartością optymalną średniej ruchomej dla aktualnie załadowanego papieru wartościowego. Na ilustracji powyżej, optymalną wartością dla średniej ruchomej jest liczba „10” (twoja liczba może być inna, ponieważ testujesz inny papier wartościowy).
Kliknij przycisk Reports aby poznać więcej informacji o zaznaczonym teście.
Podsumowanie opisu
Zapoznałeś się z całym opisem systemu testującego. Próbując przedstawić ten opis, tak zwięźle jak to możliwe, nie wykorzystaliśmy wszystkich możliwości testowania systemów w programie MetaStock. Jednakże, powinieneś teraz być bardziej oswojony z procesem tworzenia systemu transakcyjnego. Dalsza część tego rozdziału dostarczy bardziej szczegółowych informacji o systemie testującym.
Jeśli będziesz testować kontrakty terminowe lub towary, na str. 404 znajdziesz specjalne instrukcje.
___________________________________________________________________________
Okienko dialogowe System Tester
Okienko dialogowe System Tester zawiera listę nazw wszystkich systemów testujących. Możesz utworzyć do 1000 systemów testujących. Zaznaczony system testujący można edytować, kopiować, kasować, drukować i testować. Można także zaznaczyć kilka systemów testujących dla porównania ich ze sobą (patrz str. 396). System testujący, który za nazwą posiada literę „R” zawiera raporty z ostatnich testów.
New
Wyświetla okienko dialogowe System Editor, gdzie można wpisać nazwę i reguły nowego systemu testującego. Więcej informacji o tworzeniu nowego systemu testującego, znajdziesz na str. 359.
Edit
Wyświetla okienko dialogowe System Editor, gdzie można edytować zaznaczony system testujący.
Copy
Kopiuje zaznaczony system testujący. Udostępnia także okienko dialogowe System Editor, gdzie możesz edytować skopiowany system testujący. Więcej informacji o kopiowaniu systemu testującego, znajdziesz na str. 368.
Delete
Kasuje zaznaczony system testujący(e). Możesz zaznaczyć kilka systemów testujących jednocześnie, podtrzymując klawisz CTRL i klikając myszą na kilku systemach testujących. Więcej informacji o kasowaniu systemu testującego, znajdziesz na str. 368.
Drukuje zaznaczony system testujący(e). Więcej informacji o drukowaniu systemu testującego, znajdziesz na str. 368.
Organize
Wyświetla Formula Organizer Wizard, z którego możesz pobierać i wysyłać systemy eksploracyjne, systemy testujące, wskaźniki i porady eksperckie. Używane gdy kupujesz programy z Equis lub od innych osób. Więcej informacji o Formula Organizer Wizard, znajdziesz na str. 271.
Test
Inicjuje testowanie zaznaczonego systemu. Pamiętaj, że przycisk ten jest nieaktywny jeśli zaznaczyłeś kilka systemów testujących i nie zaznaczyłeś pola Compare. Przycisk ten jest także nieaktywny, gdy żaden wykres nie został otwarty. Więcej informacji o testowaniu, znajdziesz na str. 369.
Reports
Wyświetla okienko Summary Report lub (Compare Report gdy pole Compare zostało zaznaczone) dla zaznaczonego systemu testującego. Przycisk ten jest nieaktywny aż do momentu, gdy obok nazwy systemu pojawi się litera „R” (oznacza „raport dostępny”). Więcej informacji o raportach, znajdziesz na str. 380.
Options
Wyświetla okienko dialogowe System Testing Options, gdzie możesz ustawiać zmienne oraz raporty. Więcej informacji o dostępnych opcjach, znajdziesz na str. 371.
Compare
Po zaznaczeniu tego pola możesz porównać kilka systemów testujących. Więcej informacji o porównywaniu systemów testujących, znajdziesz na str. 396.
___________________________________________________________________________
Tworzenie systemu testującego
Każdy system testujący zawiera cztery reguły transakcyjne. Reguły testujące określają, kiedy powinna być otwarta/zamknięta długa/krótka pozycja. System testujący może także optymalizować zmienne i stop.
Chcąc utworzyć nowy system, kliknij przycisk New w okienku dialogowym System Tester. Program MetaStock może przechowywać do 1000 systemów testujących.
Po wybraniu New, wyświetli się okienko dialogowe System Editor.
Okienko dialogowe System Editor
Okienko dialogowe System Editor pozwala wpisać nazwę systemu, przechowywać adnotacje odnoszące się do systemu oraz definiować cztery reguły transakcyjne.
Reguły transakcyjne wykorzystują składnie formuł wyjaśnione w rozdziale „Język MetaStocka” (patrz str. 257). Składnia jest bardzo podobna do składni używanej do wprowadzania wzorów w arkuszach kalkulacyjnych. Każda reguła transakcyjna może zawierać do 1024 znaków. Jeśli niezbyt dokładnie zapoznałeś się z językiem MetaStocka, powinieneś zajrzeć na str. 257.
Pamiętaj, że system testujący może zajmować długą/krótką pozycję lub być poza rynkiem. Gdy jest poza rynkiem, w okienku dialogowym System Testing Options (patrz str. 371), łatwo można określić wypracowany zysk.
Za pomocą klawiszy Enter Long, Close Long, Enter Short, Close Short możesz dokonać wyboru reguły, którą chcesz wyświetlić i edytować.
Enter Long
Reguła ta określa, kiedy system powinien zająć długą pozycję. Długa pozycja może być otwarta tylko wtedy, gdy system zajmuje krótką pozycję lub jest poza rynkiem. Gdy system aktualnie zajmuje długą pozycję, reguła ta jest ignorowana.
Close Long
Reguła ta określa, kiedy system powinien zamknąć długą pozycję. Gdy system aktualnie zajmuje krótką pozycję lub jest poza rynkiem, reguła ta jest ignorowana.
Enter Short
Reguła ta określa, kiedy system powinien otworzyć krótką pozycję. Krótka pozycja może być otwarta tylko wtedy, gdy system zajmuje długą pozycję lub jest poza rynkiem. Gdy system aktualnie zajmuje krótką pozycję, reguła ta jest ignorowana.
Close Short
Reguła ta określa, kiedy system powinien zamknąć krótką pozycję. Gdy system aktualnie zajmuje długą pozycję lub jest poza rynkiem, reguła ta jest ignorowana.
Składnia reguły transakcyjnej
Reguły transakcyjne są wprowadzane za pomocą języka MetaStocka (patrz str. 257). Składnia ta jest bardzo podobna do składni używanej przy wprowadzaniu wzorów do arkuszy kalkulacyjnych. Każda reguła transakcyjna może zawierać do 1024 znaków.
Reguła transakcyjna zawsze zwraca sygnał „prawda” lub „fałsz”. Gdy reguła transakcyjna zwraca prawdę, zostanie zawarta odpowiednia transakcja (tj. zostanie otwarta/zamknięta długa/krótka pozycja). Gdy zwracany jest fałsz, nie jest zawierana żadna transakcja.
Poniższy przykład ilustruje regułę transakcyjną:
Enter Long: cross(CLOSE,mov(CLOSE,12,Simple))
Jeśli została ona wprowadzona jako reguła Enter Long, system powinien zająć długą pozycję, gdy cena zamknięcia znajdzie się powyżej 12-okresowej średniej ruchomej cen zamknięcia.
Podobnie, poniższa reguła transakcyjna powinna zostać uruchomiona, gdy MACD jest większy niż zero. (macd( ) w powyższej regule jest funkcją, patrz str. 289).
Enter Long: macd( )>0
Wszystkie wskaźniki, będące funkcją (np. macd( )) mogą być używane w regułach transakcyjnych. Konkretny wskaźnik może być oznaczony za pomocą wzoru fml( ) (patrz str. 282), tak jak pokazano poniżej:
Enter Short: fml(„My Formula”)>0
Możesz używać kilka funkcji w obrębie reguły transakcyjnej, używając operatorów AND oraz OR, tak jak pokazano poniżej:
Enter Long: macd( )>0 AND CLOSE>mov(CLOSE,12,S)
Powyższa reguła wymaga aby MACD był powyżej zera i cena zamknięcia była powyżej swojej 12-okresowej średniej ruchomej.
Poniższa reguła używa operatora OR do generowania transakcji, gdy MACD spada poniżej od zera lub gdy cena zamknięcia spada poniżej swojej średniej ruchomej.
Close Long: macd( )<0 OR CLOSE<mov(CLOSE,12,S)
W obrębie reguły transakcyjnej można użyć kilka AND lub OR. Najlepszym sposobem określania kolejności działań (tj. kolejności wykonywania operacji) w regule transakcyjnej zawierającej kilka operatorów AND oraz OR jest użycie nawiasów, tak jak pokazano w poniższej regule transakcyjnej:
Enter Long: (macd( )>0 AND C>100) OR H-L>5
Powyższa reguła transakcyjna będzie generować transakcję, gdy spełniony będzie jeden z poniższych warunków:
MACD jest powyżej zera i zamknięcie jest powyżej 100 (muszą być spełnione jednocześnie dwa powyższe warunki),
Maksimum minus minimum jest większe od pięciu.
Gdy edytujesz regułę transakcyjną, możesz kliknąć przycisk Functions (patrz str. 332) (musi być edytowana reguła transakcyjna, a nie nazwa lub uwagi). Wyświetli się okienko dialogowe Paste Functions zawierające listę dostępnych funkcji. Podwójne kliknięcie na nazwie funkcji spowoduje wstawienie jej do reguły transakcyjnej, w miejscu aktualnej lokalizacji kursora.
Pole przeznaczone na wpisanie reguły transakcyjnej Enter Long, Close Long, Enter Short, Close Short, może być nie zapisane. Jednakże, puste pole reguły transakcyjnej nigdy nie będzie generować transakcji.
Reguły transakcyjne mają dostęp tylko do danych liczbowych cen papierów wartościowych (tj. maksimum, minimum, zamknięcie, itp.) oraz wskaźników będących funkcjami (patrz str. 274). Reguły transakcyjne nie mogą zawierać w sobie systemów transakcyjnych (np. liczba dni, które przeszły od momentu ostatniej transakcji). Jednakże, wprowadzenie kilku stopów (patrz str. 363), poprawi jego funkcjonalność.
Specjalna zmienna, zwana zmienną „P”, może być używana do oznaczania każdego zaznaczonego wykresu ceny lub wskaźnika. Więcej informacji o zmiennej „P”, znajdziesz na str. 268.
Zmienne mogą być używane w obrębie reguły transakcyjnej systemu testującego (patrz str. 265). Wzory wielowykresowe (tj. takie wzory, których rezultatem jest kilka wykresów) są dozwolone, ale tylko ostatni wykres będzie przyjęty przez system testujący.
Używanie funkcji Alert( )
Funkcja alert( ) jest używana w połączeniu z innymi funkcjami do wyrażenia sygnału prawda dla określonej liczby okresów czasowych. Sygnał jest generowany nawet wtedy, gdy generowana jest inna transakcja.
Poniższy przykład ilustruje metodę używania funkcji alert( ):
Enter Long: RSI(14)<30 AND alert(VOLUME>500,3)
Jeśli reguła ta została wprowadzona jako reguła Enter Long, system powinien otworzyć długą pozycję, gdy RSI było mniejsze niż 30 oraz wolumen był większy niż 500 za każdym razem, gdy od tego momentu minęły trzy okresy czasowe. Warunek „VOLUME>500” będzie wyrażał prawdę nawet wtedy, gdy wolumen spadł poniżej 500 w czasie następnych trzech okresów czasowych.
Jeśli usuniesz funkcję alert( ) z powyższego przykładu, obydwa warunki (tj. RSI(14)<30 i VOLUME>500) muszą być równocześnie spełnione, aby wygenerować sygnał Enter Long. Używając funkcji alert( ), warunek prawda generowany przez „VOLUME>500” jest generowany dopiero po upływie trzech okresów czasowych.
Wprowadzanie stopów
Dodatkowo, oprócz reguł transakcyjnych, każdy system transakcyjny może zawierać do pięciu „stopów”. Stopy są ustalane po kliknięciu przycisku Stops w okienku dialogowym System Editor. Stopy są używane do zamykania długiej i/lub krótkiej pozycji na podstawie straty/zysku z pozycji. Na przykład, stop Maximum Loss zamknie pozycję, jeśli strata z tej pozycji będzie większa niż wyznaczona wartość.
Gdy stop został uruchomiony, pozycja jest zamykana bez względu na aktualny stan reguł transakcyjnych. Cena przy której zamykana jest pozycja, jest aktualną ceną stop lub oznaczoną ceną wyjścia. Jeśli zaznaczysz pole „Exit at Stop Price” w okienku dialogowym Stops, pozycja jest zamykana dokładnie przy poziomie cen wyznaczonym przez stop, nawet jeśli była zaznaczona transakcja opóźniona. Opóźniona transakcja jest ignorowana jeśli jest zaznaczone pole Exit at Stop Price.
Jeśli cena spada poniżej poziomu stop w czasie długiej pozycji, program MetaStock zamyka pozycje przy cenie otwarcia następnego słupka. Jeśli nie jest dostępna cena otwarcia, używana jest cena maksimum następnego słupka. Podobnie, jeśli cena przekracza poziom stop podczas krótkiej pozycji, program MetaStock zamyka otwartą pozycję przy cenie otwarcia następnego słupka. Jeśli cena otwarcia nie jest dostępna, używana jest cena minimum następnego słupka.
Stopy automatycznie powodują pobieranie prowizji otwarcia i zamknięcia z twojego konta. Na przykład, stop Maximum Loss wie o wartości prowizji „wyjścia” i spróbuje zamknąć pozycję tak, aby maksymalna strata nie była powiększona o prowizję wyjścia.
Jeśli jednocześnie uruchomione są dwa stopy na tym samym słupku, to do zamknięcia pozycji zostanie wykorzystany ten stop, który przynosi mniej strat. Kolejność stopów jest następująca: Maximum Loss, Breakeven, Trailing, Profit Target i Inactivity.
Więcej informacji o optymalizacji stopów, znajdziesz na str. 376.
Breakeven
Ten stop zamyka otwartą pozycję, gdy twój kapitał od momentu otwarcia pozycji wzrośnie o wielkość wyznaczoną w polu Floor Level, a następnie spadnie poniżej wartości kapitału w chwili otwierania tej pozycji. Znak stopu umieszczany jest przy słupku z tego dnia, w którym nastąpiło zamknięcie pozycji.
Aby zabezpieczyć się przed uruchomieniem tego stopu, za każdym razem gdy pozycja została otwarta (ponieważ prowizja powoduje, że transakcja przy pierwszym otwarciu nigdy nie jest zyskowna), stop Breakeven staje się aktywny tylko po tym jak zysk z transakcji jest równy lub przekracza zaznaczoną wartość „floor level”. Wartość, którą wprowadzisz do pola Floor Level będzie oznaczać punkty, jeśli w opcji Method zaznaczyłeś Points lub procenty, gdy w opcji Method zaznaczyłeś Percent. Floor Level wykorzystuje cenę maksimum, gdy otwarta jest pozycja długa lub cenę minimum, gdy otwarta jest pozycja krótka.
Aby zadziałać, stop Breakeven korzysta z minimum dwóch słupków. Jeden słupek służy do określenia Floor Level, a inny słupek służy do określenia czy należy zamknąć pozycję.
Uwagi:
Jeśli Floor Level wynosi zero, to stop Breakeven staje się aktywny tylko wtedy, gdy cena papieru wartościowego zwiększy się o tyle, aż można zamknąć pozycję bez strat.
Inactivity
Ten stop zamyka pozycję, gdy cena papieru wartościowego nie zmienia się o wartość wyznaczoną w polu Minimum Change w obrębie zaznaczonego okresu czasowego w polu Periods. Wartość w polu Minimum Change oznacza wzrost, gdy otwarta jest długa pozycja lub spadek, gdy otwarta jest krótka pozycja.
Wprowadź minimalną zmianą w polu Minimum Change oraz liczbę okresów czasowych w polu Periods. Wartość, którą wprowadzisz do pola Minimum Change będzie oznaczać punkty, jeśli w opcji Method zaznaczyłeś Points lub procenty, gdy w opcji Method zaznaczyłeś Percent.
Przykład:
Jeśli wybrałeś 1% jako Minimum Change oraz 20 jako liczbę okresów czasowych Periods, to program MetaStock automatycznie zamknie pozycję długą lub krótką, gdy cena papieru wartościowego nie zwiększyła się (w przypadku długiej pozycji) lub nie zmniejszyła się (w przypadku krótkiej pozycji) co najmniej o 1% w ciągu 20 okresów czasowych.
Ten stop analizuje zmiany ceny, a nie zysk i dlatego ignoruje prowizję biura maklerskiego.
Maximum loss
Ten stop zamyka otwartą pozycję, gdy strata z aktualnej pozycji przekroczy wartość wyznaczoną w polu Maximum Loss, w porównaniu do ceny, przy której otworzyłeś tę pozycję.
Przykład:
Jeśli wartość w polu Maximum Loss wynosi 5%, to pozycja będzie zamknięta gdy strata przekroczy 5%, w porównaniu do ceny, przy której otwarta została ta pozycja (włączając w to prowizję).
Ostrzeżenie:
Jeśli w polu Maximum Loss wprowadzisz wartość, która jest mniejsza lub równa prowizji, każda pozycja będzie niezwłocznie zamykana po jej otwarciu, ponieważ transakcja będzie przynosić stratę w momencie otwarcia pozycji (z powodu prowizji).
Profit target
Ten stop zamyka pozycję, gdy z aktualnie otwartej pozycji zostanie osiągnięty zysk, wyznaczony w polu Profit Target, w porównaniu do ceny, przy której otwierałeś tę pozycję.
Przykład:
Jeśli w polu Profit Target zaznaczysz 10%, to otwarta pozycja będzie zamknięta, gdy twój zysk z aktualnie otwartej pozycji wzrośnie o 10% (po uwzględnieniu prowizji), w porównaniu do ceny, przy której otwierałeś tę pozycję.
Trailing
Ten stop zamyka otwartą pozycję, gdy wypracowany zysk z aktualnej pozycji, zmniejszy się o wartość zaznaczoną w polu Profit Risk.
Za każdym razem, gdy zysk z pozycji osiągnie nowe maksimum, stop Trailing odejmuje od tej wartości zysk z aktualnej pozycji i gdy różnica ta przekroczy wielkość wyznaczoną w polu Profit Risk, pozycja ta jest zamykana. Profit Risk można określać w punktach, zaznaczając pole Points lub w procentach, zaznaczając pole Percent.
Program MetaStock pozwala zaznaczyć liczbę okresów, w czasie których zmniejszenie osiągniętego zysku będzie ignorowane. Na przykład, jeśli wpiszesz w polu Periods liczbę „4”, to stop Trailing opóźni się o cztery okresy. To oznacza, że zyski lub straty z ostatnich czterech okresów będą ignorowane przy określaniu aktualnego poziomu stop. Stanowi to filtr dla wahań cen (w górę lub w dół), które wystąpiły w ciągu ostatnich czterech okresów. Stop ten został utworzony do śledzenia zysku, a nie do określania limitu strat. Stop Trailing tylko limituje wartość zysku, który może być utracony. Straty są limitowane przez stop Maximum Loss (patrz str. 365).
Od momentu, gdy stop Trailing określił poziom zysku, nie poziom ceny, nie ma żadnego znaczenia czy jest to krótka czy też długa pozycja.
Przykład:
W polu Profit Risk zaznaczone jest 5%, w polu Periods wpisane jest 0 i aktualna pozycja przyniosła zysk w wysokości 100$. Stop zostanie uruchomiony, gdy zmiana ceny papieru wartościowego spowoduje zmniejszenie zysku do 95$ (lub mniej).
___________________________________________________________________________
Kopiowanie i kasowanie systemów testujących
Zaznaczony system testujący (systemy testujące) w okienku dialogowym System Tester, możesz skopiować naciskając przycisk Copy. Jest to użyteczne, gdy chcesz zaprojektować nowy system testujący, który jest bardzo podobny do innego.
Na przykład, gdy System A jest bardzo podobny do nowego systemu, który chcesz utworzyć, lepiej użyć polecenia Copy w okienku dialogowym System Tester, do skopiowania tego systemu, niż go przepisywać. Następnie możesz wprowadzić w nim niewielkie modyfikacje, które uważasz za konieczne i nazwać go System B.
Zaznaczony system testujący (systemy testujące) w okienku dialogowym System Tester, możesz skasować naciskając przycisk Delete. Po naciśnięciu tego przycisku wyświetli się okienko dialogowe Delete System Test.
W okienku tym możesz wybrać kasowanie systemu testującego, zaznaczając pole Delete System Test lub wybrać kasowanie raportu z przeprowadzonego testu, zaznaczając pole Delete System Test Reports. Jeśli skasujesz system testujący, skasujesz również raporty dotyczące tego systemu.
___________________________________________________________________________
Drukowanie systemów testujących
Za pomocą okienka dialogowego Print możesz wydrukować nazwy i/lub wzory zaznaczonego systemu testującego. Dostęp do tego okienka dialogowego uzyskasz po naciśnięciu przycisku Print w okienku dialogowym System Tester.
Print What
W tym polu możesz wybrać Names and Formulas, gdy chcesz wydrukować nazwę i wzory zaznaczonego sytemu testującego lub Names Only, gdy chcesz wydrukować tylko nazwę tego systemu.
Copies
W tym polu dokonujesz wyboru liczby kopii do drukowania.
Print Range
Gdy chcesz wydrukować tylko zaznaczony system testujący, zaznacz Selection. Gdy chcesz wydrukować wszystkie systemy testujące, zaznacz All.
___________________________________________________________________________
Testowanie systemów transakcyjnych
Chcąc rozpocząć testowanie systemu transakcyjnego, zaznacz nazwę tego systemu w okienku dialogowym System Tester i kliknij przycisk Test.
Jeśli zaznaczyłeś pole Compare i porównujesz systemy testujące, patrz str. 374.
Czas wymagany do przeprowadzenia testu zależy od złożoności sytemu testującego i ilości załadowanych danych na wykresie. Oczywiście system testujący, który posiada zmienne optymalizacyjne wymaga więcej czasu, ponieważ wzrasta liczba testów. Hardware komputera (tj. procesor, twardy dysk, itp.) także ma duży wpływ na prędkość obliczeń.
Okienko dialogowe System Test Optimization
Jeśli system zawiera zmienne optymalizacyjne, ukaże się okienko wyświetlające postęp w procesu testowania.
Większość informacji w tym okienku nie wymaga objaśnień. Kilka pozycji wyjaśniono poniżej. Więcej informacji o optymalizacji systemu testującego, znajdziesz na str. 376.
Estimated Completion Time
Pokazuje, o której godzinie przewidywane jest zakończenie przeprowadzania testu, według czasu rzeczywistego.
Execution Priority
Opcje w tym polu pozwalają na kontrolę czasu pracy procesora, przeznaczonego na potrzeby obliczeń systemu testującego. Ustaw opcję w tym polu na „High”. Zmień to ustawienie na „Medium” lub „Low” jeśli program pracuje nierówno lub nie reaguje, gdy testowanie systemu odbywa się w tle (tj. po naciśnięciu przycisku Minimize).
Minimize
Użyj tego przycisku do schowania okienka System Test Optimization. System testujący pracuje wtedy w „tle”. Gdy schowasz to okienko, możesz korzystać z innych właściwości programu MetaStock. Możesz uruchomić system eksploracji, który może także pracować w tle.
Chcąc ponownie wyświetlić okienko dialogowe System Test Optimization, kliknij na ikonie System Tester.
Możesz przerwać proces testowania systemu, klikając przycisk Cancel. Wyświetli się okienko, w którym musisz potwierdzić swój zamiar. Po przerwaniu testowania, możesz przeglądnąć raport, wykonany do tego momentu.
Jak przejść do testowania systemu w tle
Uruchom system testujący, posiadający zmienne optymalizacyjne.
Po wyświetleniu okienka dialogowego System Test Optimization, wybierz jakąś opcję w okienku Execution Priority. Jeśli masz zamiar korzystać z innych właściwości programu MetaStock lub z innych programów, podczas gdy testowanie odbywa się tle, wybierz Medium lub Low.
Kliknij przycisk Minimize.
System Testing Options
W okienku dialogowym System Testing Options możesz wybrać dodatkowe opcje do testowania oraz sporządzania raportu. Z tego okienka dialogowego możesz ustawiać takie opcje jak: prowizje, kapitał początkowy, wymagany depozyt, stopę procentową, itp. Możesz także wybrać opcje dotyczące strzałek kupna/sprzedaży i maksymalnej liczby raportów.
Strona Testing
Trade Price
W polach Entry Price i Exit Price dokonujesz wyboru rodzaju ceny wejścia lub wyjścia, która będzie używana do testowania systemu (tj. Open, High, Low lub Close). Najczęściej używaną ceną jest Open i Close. W polu Delay dokonuje się wyboru słupka, przy którym będzie zawarta transakcja od momentu wygenerowania sygnału przez system. Na przykład, jeśli zaznaczyłeś „1”, będzie to oznaczać, że transakcja zostanie zawarta przy następnym słupku od momentu wygenerowania sygnału przez system. Jeśli zaznaczyłeś „0”, to transakcja zostanie zawarta przy tym samym słupku, przy którym został wygenerowany sygnał. Tak więc, pole Delay oznacza liczbę okresów czasowych, w których program MetaStock powinien czekać, aż zostanie zawarta transakcja.
Najbardziej „realistyczne” jest wprowadzenie ceny wejścia Open i liczby „1” w polu Delay oraz ceny wyjścia Close i liczby „0” w polu Delay.
Commissions
Zaznacz rodzaj pobieranej prowizji, tj. Percent(%), gdy prowizja wyznaczana jest w procentach lub Points($), gdy prowizja pobierana jest w dolarach. Możesz dla każdej z tej opcji wybrać konkretną wartość prowizji pobieranej na otwarciu pozycji (pole Entry) oraz prowizji pobieranej na zamknięciu prowizji (pole Exit).
Prowizja procentowa bierze pod uwagę całkowitą wartość zaangażowanych środków w transakcji, które to środki niekoniecznie muszą być tą samą zaangażowaną wartością jeśli zawierasz transakcje wymagające depozytu (patrz str. 403).
Typowa prowizja przy zakupie akcji wynosi 2% na 10$ transakcji i 5% na 1$ transakcji.
Prowizja od towarów jest pobierana zazwyczaj tylko w czasie zamykania pozycji. Typowa prowizja wynosi 30$ za kontrakt.
Positions
Wybierz typ pozycji branej pod uwagę (tj. Longs, Shorts lub Both).
Points Only Test
Zaznacz to pole gdy zawierasz transakcje na futures lub na towarach i chcesz śledzić liczbę punktów zysku lub straty zamiast wartości w walucie. Więcej informacji o punktowym systemie testowania, znajdziesz na str. 404.
Initial Equity
Jest to początkowe saldo rachunku. Specjalne wskazówki dotyczące testowania futures oraz towarów, znajdziesz na str. 404.
Margin Requirement %
Jest to procent kapitału, który musisz złożyć jako depozyt.
Przykład:
Jeśli nie składasz depozytu, wprowadź 100; jeśli depozyt wynosi 50%, wprowadź 50. Więcej informacji o wymaganych depozytach, znajdziesz na str. 403.
Annual Interest Rate
Jest to roczna stopa procentowa, w oparciu o którą będzie kapitalizowany twój kapitał, gdy będziesz poza rynkiem. Odsetki są naliczane w momencie zajmowania długiej lub krótkiej pozycji (po okresie przebywania poza rynkiem). Więcej informacji o obliczaniu odsetek, znajdziesz na str. 403.
Strona Reporting
Up Arrow
W tym polu dokonujesz wyboru koloru strzałek, pokazujących kupno.
Down Arrow
W tym polu dokonujesz wyboru koloru strzałek, pokazujących sprzedaż.
Stop Sign
W tym polu dokonujesz wyboru koloru znaku oznaczającego stop lub wyjście (tj. symbolu umieszczanego na wykresie, gdzie warunek stop lub wyjścia jest uruchamiany przez system testujący).
Display Buy/Sell Arrows
Zaznaczając to pole spowodujesz, że strzałki kupna/sprzedaży będą automatycznie umieszczane na wykresie po przeprowadzeniu testu. Jeśli system posiada zmienne optymalizacyjne, zostaną narysowane strzałki odpowiadające systemowi przynoszącemu największe zyski. Podobnie, jeśli zostało przeprowadzone porównanie systemów, strzałki będą odnosić się do systemu bardziej zyskownego.
Label Arrows with Buy/Sell
Jeśli zaznaczysz to pole, to strzałki kupna/sprzedaży zostaną dodatkowo oznaczone słowami „Buy” i „Sell”. Znak stopu zostanie oznaczony dodatkowo słowem „Stop”.
Replace Existing Arrows
Jeśli zaznaczysz to pole, to istniejące strzałki kupna/sprzedaży będą automatycznie zastępowane na nowe, po zakończeniu testowania.
Plot Equity Line
Jeśli zaznaczysz to pole, to zakończeniu testowania systemu, automatycznie będzie rysowana krzywa kapitału. Krzywa kapitału zostanie narysowana dla najbardziej zyskownego systemu testującego (jeśli zawiera zmienne optymalizacyjne). Więcej informacji o krzywej kapitału, znajdziesz na str. 400.
Replace Existing Equity Lines
Jeśli zaznaczysz to pole, to istniejąca krzywa kapitału będzie automatycznie zastępowana na nową, za każdym razem, gdy zostanie zakończone testowanie systemu.
Notify When Test Complete
Zaznacz to pole, gdy chcesz aby ukazywało się okienko powiadamiające o zakończeniu przeprowadzania testu. Okienko zawiera przycisk Reports, po naciśnięciu którego możesz przejrzeć raport z przeprowadzonego testu.
Maximum Reports
Określa maksymalną ilość raportów, które powinny być gromadzone na dysku twardym podczas optymalizacji. Jeśli liczba testów jest większa niż wyznaczona maksymalna ilość raportów lub przekracza pojemność dysku, to będą gromadzone raporty tylko z najbardziej zyskownych transakcji.
___________________________________________________________________________
Porównywanie systemów
Opcja Compare oraz przycisk Compare w okienku dialogowym System Tester, używane jest do porównywania zaznaczonych systemów testujących.
Gdy zaznaczysz pole Compare, przycisk „Test” zmieni się na „Compare”. Informacje na temat okienka dialogowego Comparison Report, które generowane jest w wyniku przeprowadzenia porównania systemów transakcyjnych, znajdziesz na str. 396.
Okienko dialogowe System Test Comparison
Podobnie jak w okienku dialogowym ukazującym się w czasie przeprowadzania optymalizacji systemu testującego, okienko dialogowe System Test Comparison informuje o postępie wykonywanego porównania.
Większość informacji w tym okienku dialogowym nie wymaga objaśnień. Więcej informacji na temat pozycji w tym okienku dialogowym, znajdziesz na str. 370. Podobnie jak okienko dialogowe System Test Optymization, to okienko może być także schowane i wówczas system pracuje w tle.
Jak porównywać systemy
W okienku dialogowym System Tester zaznacz dwa lub więcej systemy testujące.
Zaznacz pole Compare.
Kliknij przycisk Compare.
___________________________________________________________________________
Optymalizacja systemów testujących
Optymalizacja dotyczy przeprowadzania wielu testów systemu testującego zawierającego jeden lub więcej parametrów w obrębie reguł transakcyjnych lub stopów.
Opis systemu testującego (patrz str. 347) jest przykładem optymalizacji liczby okresów czasowych używanych do obliczania średniej ruchomej w prostym systemie transakcyjnym. W tym przykładzie, testowane są średnie ruchome od 10 do 50 okresów czasowych, przy postępie 5. Polecamy, abyś dokładnie zapoznał się z tym opisem, w celu lepszego zrozumienia zasad optymalizacji.
Każdy system transakcyjny może posiadać do 10 zmiennych optymalizacyjnych (oznaczonych jako OPT1 do OPT10). (Zmienne OPT nie obowiązują we wskaźnikach). Aby optymalizować system, musisz zastąpić stałe numeryczne w obrębie reguł transakcyjnych lub stopów na zmienne OPT.
Poniżej przedstawiono przykład używania zmiennej OPT w obrębie reguły transakcyjnej. W tej regule, opt1 zastępuje parametr okresu czasowego w funkcji średniej ruchomej.
C>Mov(C,opt1,E)
Zmienną OPT dla stopu umieszczamy bezpośrednio w sekcji Parameters okienka dialogowego Stops.
Następnie możesz ustalić parametry zmiennej optymalizacyjnej, korzystając z pól Minimum, Maximum oraz Step. Gdy testujesz system zawierający zmienne OPT, program MetaStock automatycznie przeprowadzi wiele testów, używając każdą z możliwych kombinacji zmiennych optymalizacyjnych.
Precyzowanie zmiennych optymalizacyjnych
Chcąc dokładnie określić parametry zmiennej optymalizacyjnej w regułach transakcyjnych lub stopach, kliknij przycisk Optimize w okienku dialogowym System Editor lub okienku dialogowym Stops.
New
Pozwala dodać nową zmienną OPT i edytować jej ustawienia.
Edit
Wyświetla okienko Variable Properties, w którym możesz edytować Minimum, Maximum i Step zaznaczonej zmiennej OPT.
Delete
Usuwa zaznaczoną zmienną OPT. Pamiętaj, że nie możesz skasować zmiennej OPT, która jest w użyciu.
Total Tests
Wyświetla całkowitą liczbę testów, które zostały przeprowadzone w wyniku optymalizacji systemu transakcyjnego.
Okienko dialogowe Variable Properties
Okienko dialogowe Variable Properties jest używane do wyboru parametrów zmiennej OPT.
Name
Pokazuje, która zmienna OPT jest edytowana.
Description
W tym polu wprowadzasz opcjonalnie opis tej zmiennej.
Minimum
Wpisz minimalną wartość zmiennej OPT.
Maximum
Wpisz maksymalną wartość zmiennej OPT.
Step
Wpisz wielkość, o którą będzie zwiększana zmienna OPT. Na przykład, jeśli w polu Minimum została wpisana liczba 10, w polu Maximum została wpisana liczba 50, a w polu Step została wpisana liczba 10, to zmienna OPT będzie zamieniana kolejno na wartości 10, 20, 30, 40 i 50.
Przykład optymalizacji
Poniższa reguła transakcyjna Enter Long kupuje gdy zamknięcie jest powyżej 10-okresowej średniej ruchomej:
Enter Long: CLOSE>mov(CLOSE,10,SIMPLE)
Jeśli nie znasz optymalnej liczby okresów czasowych tej średniej ruchomej, to w powyższej regule transakcyjnej zamień „10” na zmienną optymalizacyjną, tak jak przedstawiono to poniżej:
Enter Long: CLOSE>mov(CLOSE,OPT1,SIMPLE)
Ustaw parametry dla OPT1 (np. od 5 do 20 przy postępie 5) wybierając Optimize z okienka dialogowego System Editor. Gdy rozpoczniesz testowanie systemu, program MetaStock przeprowadzi wiele testów, za każdym razem zmieniając zmienną optymalizacyjną OPT1 na nową wartość (tak jak pokazano poniżej).
Enter Long: CLOSE>mov(CLOSE,5,SIMPLE){test #1}
Enter Long: CLOSE>mov(CLOSE,10,SIMPLE){test #2}
Enter Long: CLOSE>mov(CLOSE,15,SIMPLE){test #3}
Enter Long: CLOSE>mov(CLOSE,20,SIMPLE){test #4}
Po przeprowadzeniu testu, dostępne będą cztery raporty (jeden dla każdej zmiennej optymalizacyjnej).
Gdy używanych jest kilka zmiennych optymalizacyjnych, liczba testów może być zwielokrotniona i zależy od tego, ile testów przypada na jedną zmienną (ponieważ te liczby mnoży się przez siebie).
Poniższy przykład pokazuje użycie wielu zmiennych optymalizacyjnych:
Enter Long: rsi(14)>OPT1
Close Long: rsi(14)<OPT2
Enter Short: rsi(14)<OPT2
Close Short: rsi(14)>OPT1
OPT1: minimum=20, maximum=40, step=10 {3 testy}
OPT2: minimum=70, maximum=80, step=10 {2 testy}
W powyższym przykładzie, OPT1 posiada trzy możliwe wartości (tj. 20, 30 i 40) podczas gdy OPT2 posiada dwie możliwe wartości (tj. 70 i 80). Powoduje to, że liczba kombinacji wynosi sześć (trzy pomnożone przez dwa) i tyle testów będzie przeprowadzonych, tak jak pokazano poniżej:
Test # |
OPT1 |
OPT2 |
1 |
20 |
70 |
2 |
30 |
70 |
3 |
40 |
70 |
4 |
20 |
80 |
5 |
30 |
80 |
6 |
40 |
80 |
Liczba testów może szybko zwiększyć się (do maksymalnej ilości 32000). Na przykład, rozważmy poniższy system, zasadzający się na przecięciu średnich ruchomych:
Enter Long: cross(C,mov(c,OPT2,E))
Close Long: cross(mov(C,OPT1,E),C)
Enter Short: cross(mov(C,OPT1,E),C)
Close Short: cross(C,mov(C,OPT2,E))
OPT1: minimum=1, maximum=100, step=1 {100 testów}
OPT2: minimum=1, maximum=100, step=1 {100 testów}
W powyższym przykładzie, OPT1 i OPT2 mają po 100 możliwych wartości. Ta kombinacja wymaga do przeprowadzenia 10.000 (100 pomnożone przez 100) testów. Nawet szybki komputer, ten relatywnie prosty system może testować godzinami.
Bardziej odpowiednią metodą optymalizacji tego systemu jest zmniejszenie przedziału i/lub zwiększenie postępu w celu zredukowania liczby testów.
Liczba wymaganych testów dla każdej zmiennej optymalizacyjnej, wyświetlana jest na dole okienka dialogowego Optimization Variables.
___________________________________________________________________________
Przeglądanie raportów
Gdy testujesz typowy system (informacje o porównywaniu raportów znajdziesz na str. 396), program MetaStock śledzi dziesiątki tysięcy szczegółów tego testu. Informacje te są przechowywane w seriach raportów. Każdy raport dostarcza dodatkowych informacji o przeprowadzonym teście.
Summary Report dostarcza bardzo zwięzłe podsumowanie z optymalizacji systemów transakcyjnych.
System Report zawiera cztery strony, które zawierają raporty wyjaśnione poniżej.
Strona Results zawiera podsumowanie testu zaznaczonego w okienku Summary Report.
Strona Trades wyświetla każdą przeprowadzoną transakcję w zaznaczonym teście.
Strona Equity wyświetla, dzień po dniu, informacje o zainwestowanym kapitale.
Strona System zawiera informacje o zasadach otwierania długiej lub krótkiej pozycji.
Summary Report
Summary Report zawiera zwięzłe podsumowanie każdego przeprowadzonego testu. Jeśli reguła transakcyjna nie zawiera żadnej zmiennej optymalizacyjnej, zostanie wyświetlony tylko jeden test.
Summary Report zostanie wyświetlony po zaznaczeniu systemu testującego (który posiada literę „R” po prawej stronie swojej nazwy) w okienku dialogowym System Tester i wybraniu przycisku Reports.
Szerokość kolumny w okienku Summary Report można regulować, przeciągając myszą pionową kreskę znajdującą się pomiędzy nagłówkami kolumn, aż kolumna osiągnie żądaną szerokość.
Przesyła zawartość Summary Report do drukarki. (Zawartość tego raportu zależy od tego, który system transakcyjny został zaznaczony). Informacje na temat drukowania raportów, znajdziesz na str. 397.
Sort
Pozwala na sortowanie Summary Report. Po wybraniu przycisku Sort, ukaże się okienko dialogowe Optimization Column Sort, w którym możesz wybrać sposób sortowania (patrz str. 382).
Reports
Wyświetla okienko dialogowe System Report, które pozwala na przeglądanie wyników testowania zaznaczonego systemu transakcyjnego, w sposób bardziej szczegółowy. Więcej informacji o okienku dialogowym System Report, znajdziesz na str. 383.
Opis nagłówków w okienku dialogowym Summary Report
Test Number
Numer testu. Każdy test jest numerowany w kolejności, w jakiej został przeprowadzony.
Status
Oznacza stan przeprowadzonego testu. Stan może być „OK”, „Invalid” lub „Terminated”.
Stan raportu będzie Invalid, gdy wystąpi błąd matematyczny, taki jak dzielenie przez zero. Rezultat testu będzie dostępny, ale wiarygodność takiego testu jest wątpliwa.
Stan raportu będzie Terminated, gdy reguła transakcyjna nie może być przeanalizowana. Może to wystąpić np. wtedy gdy reguła transakcyjna wymaga 200 okresów czasowych, a załadowany wykres posiada mniej niż 200 okresów czasowych. Jeśli stan raportu będzie Terminated, to wybierając przycisk Reports wyświetlisz opis problemu.
Net Profit
Przedstawia zysk netto lub stratę netto osiągniętą przez system. Obejmuje wartość ceny zamknięcia ostatniego słupka otwartej pozycji (jeśli taka jest) na końcu testu. Pod pojęciem otwarta pozycja, rozumie się ostatnią długą lub krótką pozycję, która została otwarta, ale nie została zamknięta przez regułę transakcyjną do zakończenia testu.
Percent Gain or Loss
Procentowy zysk netto lub strata netto (w porównaniu do początkowej wartości kapitału) osiągnięta przez system. Obejmuje wartość ceny zamknięcia ostatniego słupka otwartej pozycji (jeśli taka jest) na końcu testu. Wartość ta nie jest dostępna jeśli w okienku dialogowym System Testing Options, na stronie Testing, w opcji Equity, zaznaczysz pole Points Only Test.
Total Trades
Całkowita liczba transakcji wygenerowana przez system. Liczba ta przedstawia tylko zamknięte transakcje i nie obejmuje otwartej pozycji, która może istnieć na końcu testu. Jednakże możliwa jest wartość zero, jeśli na początku testu pozycja została otwarta i na zakończenie testu jest nadal otwarta.
Winning Trades
Liczba zamkniętych transakcji, których przyniosły zysk.
Losing Trades
Liczba zamkniętych transakcji, które przyniosły zysk.
Average Win/Average Loss
Stosunek średniego zysku do średniej straty. Średni zysk jest obliczany przez dodanie wszystkich zysków z transakcji przynoszących zysk i następnie podzielenie tej sumy przez liczbę transakcji przynoszących zysk. Średnia strata obliczana jest w ten sam sposób.
OPT
Kolumna ta pokazuje wartość zmiennej OPT, używanej w teście. Na końcu Summary Report może być wyszczególnionych do 10 kolumn, po jednej kolumnie dla każdej zmiennej OPT.
Sortowanie raportów w Summary Report
Możesz sortować zawartość Summary Report, wybierając Sort z okienka dialogowego Summary Report.
Pamiętaj, że możesz także sortować za pomocą kliknięcia na nagłówku kolumny w okienku dialogowym Summary Report. Klikając na nagłówku kolumny przełączasz sortowanie na zmianę, raz w porządku rosnącym, raz w porządku malejącym.
Sort by
Wybierz kolumnę do sortowania z listy w polu Sort by. Sortowanie kolumn Net Profit lub Percent or Loss pozwoli zobaczyć, który test przynosi więcej pieniędzy.
Ascending
Sortuje raporty od najmniejszej do największej wartości.
Descending
Sortuje raporty od największej do najmniejszej wartości.
System Report
System Report zawiera trzy strony ze szczegółowymi raportami o zaznaczonym teście. Dodatkowo jest strona, która wyświetla reguły systemu transakcyjnego, zmienne optymalizacyjne i opcje testowania.
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Wyświetla okienko dialogowe Print, z którego możesz wydrukować raport. Więcej informacji o drukowaniu raportów, znajdziesz na str. 397.
Inspect
Przycisk Inspect dostępny jest na stronach Trades i Equity. Po jego naciśnięciu wyświetla się okienko Trade Detail Report zaznaczonego systemu testującego. Więcej informacji o okienku Trade Detail Report, znajdziesz na str. 393.
Chcąc skopiować stronę Results do schowka lub zapisać na dyskietce, kliknij prawym przyciskiem myszy na tym raporcie i wybierz Copy lub Save to File z okienka, które się ukaże.
Strona Results
Strona Results dostarcza szczegółowego podsumowania zaznaczonego testu.
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Poniżej wyjaśniono informacje przedstawione w raporcie na stronie Results.
Total net profit
Przedstawia całkowity zysk netto lub stratę netto osiągniętą przez system. Obejmuje wartość ceny zamknięcia ostatniego słupka otwartej pozycji (jeśli taka jest) na końcu testu. Pod pojęciem otwarta pozycja, rozumie się ostatnią długą lub krótką pozycję, która została otwarta, ale nie została zamknięta przez regułę transakcyjną do zakończenia testu.
Percent gain/loss
Całkowity zysk netto osiągnięty przez system przedstawiony w procentach w stosunku do kapitału początkowego.
Initial investment
Ilość pieniędzy zainwestowanych na początku testu. (Wielkość tę określasz w okienku dialogowym System Testing Options, na stronie Testing, w opcji Equity, w polu Initial Equity, patrz str. 372).
Open position value
Pokazuje zysk/stratę z ostatniej otwartej pozycji (jeśli taka istnieje), która nie została zamknięta w momencie przeprowadzania testu. System automatycznie uwzględnia w raporcie zysk/stratę z tej pozycji.
Annual percent gain/loss
Całkowity zysk netto dla testu, wyrażony procentach jako roczna stopa zysku. Roczna stopa zysku/straty jest obliczana w następujący sposób:
roczna stopa zysku/straty = (365/liczba dni w teście) * całkowity zysk/strata netto wyrażony
w procentach w stosunku do kapitału początkowego
Interest earned
Całkowity zysk osiągnięty w czasie, gdy system jest poza rynkiem (tj. w czasie, gdy nie jest otwarta żadna pozycja).
Current position
Informuje o aktualnie zajmowanej pozycji na zakończenie testu (tj. long, short lub out).
Date position entered
Pokazuje datę otwarcia aktualnej pozycji.
Buy/Hold profit
Dochód osiągnięty w rezultacie strategii kup i trzymaj. Strategia kup i trzymaj oznacza, że kupiłeś w pierwszym załadowanym dniu wykresu i cały czas trzymasz tę pozycję. Dochód jest obliczany przy użyciu ceny w pierwszym dniu i ceny w dniu ostatnim. Prowizja za otwarcie pozycji jest pobierana z twojego konta.
Idealnie jest, gdy twój system przynosi większy dochód, niż strategia kup i trzymaj (tj. całkowity dochód netto jest większy, niż dochód ze strategii kup i trzymaj); w przeciwnym wypadku, system transakcyjny nie jest wart czasu i wysiłku.
Pamiętaj, że jeśli wartość Buy/hold profit jest ujemna to oznacza, że strategia sprzedaj i trzymaj może przynieść dochód.
Buy/Hold pct gain/loss
Dochód osiągnięty w rezultacie strategii kup i trzymaj wyrażony w procentach, w stosunku do kapitału początkowego.
Days in test
Całkowita liczba dni kalendarzowych w przeprowadzanym teście.
Annual B/H pct gain/loss
Dochód osiągnięty w wyniku strategii kup i trzymaj wyrażony jako roczna stopa zysku. Patrz wzór roczna stopa zysku/straty.
Total closed trades
Całkowita liczba zamkniętych transakcji. (Jeśli jest jakaś otwarta pozycja na końcu testu, nie jest ona uwzględniana).
Avg profit per trade
Średni zysk na transakcję (z wyłączeniem aktualnie otwartej pozycji).
Total long trades
Całkowita liczba zakończonych długich pozycji.
Winning long trades
Liczba zakończonych długich pozycji, które przyniosły zysk.
Commissions paid
Całkowita prowizja zapłacona podczas testu. (Ta wielkość nie obejmuje prowizji zamknięcia otwartej pozycji, która może istnieć na końcu testu).
Avg Win/Avg Loss ratio
Stosunek średniego zysku do średniej straty. Średni zysk jest obliczany przez dodanie do siebie wszystkich zysków z transakcji zakończonych zyskiem i podzielenie przez ilość tych transakcji. Średnia strata jest obliczana w ten sam sposób.
Total short trades
Liczba zakończonych krótkich pozycji.
Winning short trades
Liczba zakończonych krótkich pozycji, które przyniosły zysk.
Total winning trades
Liczba zakończonych długich i krótkich pozycji, które przyniosły zysk.
Amount of winning trades
Całkowity zysk ze wszystkich zyskownych transakcji. Nie obejmuje otwartej pozycji (jeśli taka jest) istniejącej na końcu testu. Dlatego, „Amount of winning trades” plus „Amount of losing trades” (poniżej) może nie być równe „Total net profit”.
Average win
Średni zysk wszystkich zyskownych transakcji.
Largest win
Najbardziej zyskowna transakcja.
Average lenght of win
Średnia liczba okresów czasowych (słupków) w zyskownych transakcjach.
Longest winning trade
Maksymalna liczba okresów czasowych (słupków) w zyskownej transakcji.
Most consecutive wins
Największa liczba zyskownych transakcji pod rząd.
Total losing trades
Liczba zakończonych długich i krótkich transakcji, które nie były zyskowne.
Amount of losing trades
Suma strat ze wszystkich stratnych transakcji. Nie obejmuje otwartej pozycji (jeśli taka jest) istniejącej na końcu testu. Dlatego, „Amount of winning trades” plus „Amount of losing trades” może nie być równe „Total net profit”.
Average loss
Średnia strata ze wszystkich stratnych transakcji.
Largest loss
Najbardziej stratna transakcja.
Average lenght of loss
Średnia liczba okresów czasowych (słupków) w stratnych transakcjach.
Longest losing trade
Maksymalna liczba okresów czasowych (słupków) w stratnej transakcji.
Most consecutive losses
Największa liczba stratnych transakcji pod rząd.
Total bars out
Całkowita liczba okresów czasowych (słupków), w czasie których system był poza rynkiem (tj. nie była otwarta ani długa ani krótka pozycja).
Longest out period
Maksymalna liczba okresów czasowych (słupków) w czasie, gdy system był poza rynkiem.
Average lenght out
Średnia liczba okresów czasowych (słupków) w czasie, gdy system był poza rynkiem.
System close drawdown
Największa wartość spadku kapitału, poniżej wartości początkowej w chwili, gdy pozycja jest zamykana i nie jest otwierana nowa. Pod uwagę brana jest cena, przy której pozycja jest zamykana. Gdy w momencie zamknięcia pozycji i nie otwierania nowej, kapitał nigdy nie jest mniejszy od wartości początkowej, to wartość ta wyniesie zero. Gdy w momencie zamykania pozycji i nie otwierania nowej, zdarzą się takie sytuacje, że kapitał jest mniejszy od wartości początkowej, to wartość ta będzie ujemna i pokazana będzie ta wartość, która jest największa (tj. największa z wartości obliczonych w następujący sposób: wartość kapitału w momencie zamykania pozycji minus kapitał początkowy).
System open drawdown
Największa wartość spadku kapitału, poniżej wartości początkowej, podczas utrzymywania otwartej pozycji. Pod uwagę brana jest cena zamknięcia słupka. Gdy podczas utrzymywania otwartej pozycji, kapitał nigdy nie jest mniejszy od wartości początkowej, to wartość ta wyniesie zero. Gdy podczas utrzymywania otwartej pozycji, zdarzą się takie sytuacje, że kapitał jest mniejszy od wartości początkowej, to wartość ta będzie ujemna i pokazana będzie ta wartość, która jest największa (tj. największa z wartości obliczonych w następujący sposób: wartość kapitału dla ceny zamknięcia słupka minus kapitał początkowy).
Max open trade drawdown
Największa wartość spadku kapitału, która przytrafiła się podczas utrzymywania otwartej pozycji, w porównaniu do wartości kapitału w momencie otwierania tej pozycji. Bierze się pod uwagę cenę zamknięcia tego słupka, przy którym osunięcie kapitału jest największe.
Profit/Loss index
Współczynnik ten porównuje transakcje zyskowne do transakcji stratnych..
Profit/Loss index łączy transakcje zyskowne i transakcje stratne w jedną wartość, która zawiera się w przedziale od -100 (najgorzej) do +100 (najlepiej).
Ujemna wartość współczynnika oznacza, że system transakcyjny przynosi straty. Im większa wartość tego współczynnika, tym więcej jest transakcji zyskownych, w porównaniu do transakcji stratnych.
Wartość współczynnika |
Zysk/Strata |
+100 |
wysoki zysk, brak strat |
+50 |
zysk większy od straty |
0 |
zysk równy stracie |
-50 |
zysk mniejszy niż strata |
-100 |
brak zysku, wysoka strata |
Reward/Risk index
Współczynnik ten porównuje ryzyko do dochodu. W tym współczynniku, ryzyko jest definiowane jako System open drawdown (tj. największa wartość spadku kapitału, poniżej wartości początkowej, podczas utrzymywania otwartej pozycji). Dochód, definiowany jest jako Total net profit (tj. końcowy punkt krzywej kapitału).
Reward/Risk index łączy dochód i ryzyko w jedną wartość, która zawiera się w przedziale od -100 (bardzo ryzykownie) do +100 (bardzo bezpiecznie). Wartość Reward/Risk index wynosząca zero oznacza, że ryzyko i dochód wzajemnie się znoszą.
Wartość współczynnika |
Dochód |
Ryzyko |
+100 |
wysoki |
brak |
+50 |
średni |
średnie |
0 |
brak |
brak |
-50 |
mały |
średnie |
-100 |
bardzo mały |
wysokie |
Buy/Hold index
Współczynnik ten pokazuje procentowe porównanie zysku z systemu do zysku ze strategii kup i trzymaj. Wartość „-50” oznacza, że zysk z systemu wynosił połowę (tj. 50%) zysku ze strategii kup i trzymaj. Wartość „25” oznacza, że zysk z systemu był o 25% większy niż zysk ze strategii kup i trzymaj. Wartość „0” oznacza, że zyski z tych dwóch systemów są równoważne.
Idealnie, jeśli twój system daje większy zysk niż strategia kup i trzymaj (tj. Buy/Hold index jest większy od zera); w przeciwnym wypadku szkoda czasu i wysiłku na zajmowanie się takim systemem.
Strona Trades
Strona Trades wyświetla każdą transakcję generowaną przez system testujący.
Szerokość kolumn na stronie Trades można regulować, przeciągając myszą pionową kreskę znajdującą się pomiędzy nagłówkami kolumn, aż kolumna osiągnie żądaną szerokość.
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Poniżej wyjaśniono informacje przedstawione w raporcie na stronie Trades.
Trade #
Kolejny numer transakcji generowanej w czasie przeprowadzania testu (stan poza rynkiem nie jest uwzględniany).
Trade Type
W tej kolumnie wyświetlony jest typ transakcji. Możliwe są następujące oznaczenia:
Out:
okres czasowy, podczas którego system jest poza rynkiem; w czasie tego okresu naliczane są odsetki, zgodnie ze stopą procentową zaznaczoną w polu Annual Interest Rate, w opcji Equity, na stronie Testing, w okienku dialogowym System Testing Options (patrz str. 371),
Long:
długa pozycja,
Short
krótka pozycja,
NSFL:
długa pozycja, która nie udała się z powodu niewystarczających środków na pokrycie prowizji (Not Sufficient Funds for Long trade); żadna więcej transakcja nie odbędzie się chyba, że wpłyną odsetki, które na tyle zwiększą kapitał, że będzie możliwe pokrycie prowizji,
NSFS:
krótka pozycja, która nie udała się z powodu niewystarczających środków na pokrycie prowizji (Not Sufficient Funds for Short trade); żadna więcej transakcja nie odbędzie się chyba, że wpłyną odsetki, które na tyle zwiększą kapitał, że będzie możliwe pokrycie prowizji,
Open Long:
długa pozycja, która nie została zamknięta na końcu testu; (pamiętaj, że raportowany zysk/strata dla tej transakcji jest wartością wyliczoną dla ostatniego słupka wykresu),
Open Short:
krótka pozycja, która nie została zamknięta na końcu testu; (pamiętaj, że raportowany zysk/strata dla tej transakcji jest wartością wyliczoną dla ostatniego słupka wykresu).
Entry Date
Data otwarcia pozycji.
Entry Time
Godzina otwarcia pozycji.
Close Date
Data zamknięcia pozycji.
Close Time
Godzina zamknięcia pozycji.
Profit
Całkowity zysk, osiągnięty w tej transakcji.
MAE
Maximum Adverse Excursion (maksymalnie niepomyślne odchylenie) jest najgorszą ceną intraday otwartej pozycji, mierzoną od ceny wejścia. Miarę ryzyka sformułował John Sweeney w czasopiśmie Technical Analysis of Stocks & Commodities.
Reason For Close
Opis wyjaśniający przyczynę zamknięcia pozycji.
Strona Equity
Strona Equity wyświetla dzień po dniu zmiany kapitału.
Szerokość kolumn na stronie Equity można regulować, przeciągając myszą pionową kreskę znajdującą się pomiędzy nagłówkami kolumn, aż kolumna osiągnie żądaną szerokość.
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Poniżej wyjaśniono informacje przedstawione w raporcie na stronie Equity.
Bar Number
Numer słupka, kolejno od lewej do prawej strony wykresu.
Date
Data każdego okresu czasowego (np. dnia) analizowana podczas testu.
Ending Position
Zajęta pozycja pod koniec tego okresu czasowego (np. pod koniec dnia). Na przykład, jeśli system zmienił pozycję długą na krótką, w polu tym będzie wyświetlone słowo „Short”.
Close (itd.)
Cena zamknięcia słupka odpowiadająca danej dacie. Nagłówek kolumny będzie wyświetlał Open, High, Low lub Close w zależności od tego, jaka cena została zaznaczona w polach Entry Price i Exit Price, w opcji Trade Price, na stronie Testing, w okienku dialogowym System Testing Options.
Current Equity
Wartość kapitału na końcu okresu czasowego (np. pod koniec dnia). Jest to wartość, która zostanie wyświetlona, gdy wybierzesz przycisk Plot Equity (patrz str. 385).
Change in Equity
Zmiana wartości kapitału od poprzedniego okresu czasowego.
Trade Detail Report
Trade Detail Report wyświetla szczegółowe informacje odpowiadające pojedynczej transakcji. Raport ten zostanie wyświetlony po podświetleniu wybranej transakcji na stronie Trades lub Equity i naciśnięciu przycisku Inspect.
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Poniżej wyjaśniono informacje przedstawione w tym raporcie.
Trade number
Numer transakcji generowanej podczas testu. (Pozycja poza rynkiem nie liczona).
Days in trade
Liczba dni kalendarzowych (niekoniecznie dni handlowych), które minęły od daty wejścia do daty zamknięcia.
Trade Type
Typ transakcji (na str. 390 znajdziesz więcej informacji o komunikatach w tym polu).
Bars in trade
Liczba okresów czasowych (słupków) w transakcji.
Entry date
Data otwarcia transakcji.
Entry price
Cena, po której została otwarta transakcja.
Entry commission
Zapłacona prowizja za otwarcie transakcji.
Close date
Data zamknięcia transakcji.
Close price
Cena, po której została zamknięta transakcja.
Close commission
Prowizja zapłacona przy zamknięciu transakcji.
Equity at entry
Ilość dostępnej gotówki, gdy transakcja była otwierana (przed zapłaceniem prowizji).
Equity at close
Ilość dostępnej gotówki, gdy transakcja była zamykana (po zapłaceniu prowizji wejścia i wyjścia).
Max Adv. Excursion
Miara ryzyka.
Open pos drawdown
Największe obsunięcie kapitału w tej transakcji (w porównaniu do ceny otwarcia transakcji).
Profit lub Loss
Zysk/strata w dolarach osiągnięta w tej transakcji.
Percent profit lub Percent loss
Procentowy zysk/strata osiągnięta w tej transakcji (na podstawie ceny wejścia i ceny wyjścia).
Strona System
Strona System w okienku dialogowym System Report wyświetla reguły transakcyjne, zmienne OPT oraz ich wartości i opcje zaznaczone w okienku dialogowym System Testing Options (patrz str. 371).
Arrows
Ta opcja używana jest do wyświetlania i usuwania strzałek kupna/sprzedaży oraz znaków wyjścia i stopów na zaznaczonym wykresie. Przycisk jest nieaktywny, gdy nie ma żadnego wykresu na ekranie.
Plot Equity
Gdy naciśniesz przycisk Plot Equity, zostanie otwarte nowe okienko wewnętrzne w aktualnie otwartym wykresie (który może być inny niż testowany wykres) z krzywą reprezentującą dzienny bilans kapitału testowanego wykresu. Początek krzywej odpowiada wielkości kapitału określonego w okienku dialogowym System Testing Options, w opcji Equity, w polu Equity. Krzywa kapitału rośnie bądź maleje, w zależności od osiągniętego zysku lub straty z transakcji. Krzywa kapitału może być kopiowana lub przesuwana podobnie jak wskaźnik (patrz str. 186).
Więcej informacji o używaniu krzywej kapitału, znajdziesz na str. 400.
Porównywanie raportów
Jeśli masz zaznaczone pole Compare w okienku dialogowym System Tester, możesz zaznaczyć kilka systemów transakcyjnych, w celu porównania ich na jednym papierze wartościowych (patrz str. 374). Jeśli wybrałeś przycisk Reports, gdy zaznaczone zostało pole Compare, ukaże się najświeższy Comparison Report. Na górze raportu jest nazwa papieru wartościowego, użytego do porównania systemów. Następnie przedstawione jest podsumowanie wszystkich systemów transakcyjnych testowanych na tym papierze wartościowym. Jeśli porównywany system transakcyjny zawiera zmienne optymalizacyjne, w okienku Comparison Report ukaże się ten, który jest najbardziej zyskowny. Wartość zmiennej OPT, używanej w systemie transakcyjnym, można znaleźć na stronie System w okienku dialogowym System Report (patrz str. 395).
Comparison Report jest doskonałym sposobem do szybkiego znalezienia najlepszego systemu testującego dla konkretnego papieru wartościowego. Możesz także szybko znaleźć aktualną pozycję transakcyjną, którą twój system transakcyjny poleca. Jedną z interesujących technik analizy papieru wartościowego jest porównywanie czterech lub więcej wiarygodnych systemów testujących. Jeśli większość systemów testujących jest zgodna co do aktualnej pozycji, to może być mądre zajęcie pozycji zgodnie z ich wskazaniami.
Klikając przycisk Reports w okienku Comparison Report, możesz przeglądnąć okienko Summary Report, itp. dla zaznaczonego systemu testującego.
Kolumny w okienku Comparison Report zawierają te same informacje co okienko Summary Report (patrz str. 381), za wyjątkiem niżej przedstawionych.
System Name
Nazwa testowanego systemu.
Current Position
Aktualna pozycja w teście (tj. long, short lub out).
Date Position Entered
Data otwarcia aktualnej pozycji.
Okienko dialogowe Drukuj
Wybierając przycisk Print z raportu, możesz drukować raporty generowane przez systemy testujące i eksploracyjne.
Nazwa
W tym polu dokonuje się wyboru drukarki z listy.
Zakres wydruku
Wybierz Wszystko chcąc wydrukować wprowadzony raport. Opcja Strony jest zawsze nieaktywna. (To okienko dialogowe jest standardowym okienkiem dialogowym systemu Windows i ta opcja nie ma zastosowania tutaj).
Drukuj do pliku
Zaznacz to pole, jeśli chcesz wysłać do drukarki wyjściowej wyraźnie określoną nazwę pliku. Plik może być skierowany do drukarki w późniejszym czasie, klikając prawym przyciskiem myszy na nazwie pliku w Microsoft Explorer i wybierając Drukuj.
Kopie
Wpisz liczbę kopii do wydruku.
Sortuj
Drukuj oddzielnie każdą stronę w dokumencie podczas drukowania wielu kopii (jeśli drukarka posiada taką opcję).
Kopiowanie raportów do schowka w Windows Clipboard
Możesz kopiować zawartość raportu systemu testującego do Windows Clipboard w celu użycia w innej aplikacji Windows.
Jak kopiować raporty do schowka
Wyświetl raport.
Kliknij gdziekolwiek w obrębie strony raportu.
Naciśnij klawisze CTRL+C aby skopiować zawartość raportu do schowka. Możesz wtedy wkleić tę zawartość do innej aplikacji Windows.
___________________________________________________________________________
Używanie Maximum Profit System
„Maximum Profit System” jest specjalnym systemem znajdującym się na samej górze listy systemów w okienku dialogowym System Tester. Ten system testujący jest „tylko do odczytu” (co oznacza, że nie może być edytowany). Jest on nieosiągalny i absolutnie nieprzewidywalny. Maximum Profit System pokazuje „najlepszy przypadek” scenariusza transakcji dla zaznaczonego papieru wartościowego. Decyzja o transakcji podejmowana jest na podstawie już znanych zmian cen (takiego luksusu ty nie masz). Jest to użyteczne jako miara odniesienia, a nie jako system transakcyjny.
Summary Report dla Maximum Profit System pokazuje wynik testu. Pamiętaj, że ten system nie generuje stratnych transakcji.
Wynik Maximum Profit System może być porównywany z wynikami innych systemów transakcyjnych. W tym porównaniu, Maximum Profit System będzie zawsze lepszy.
Pamiętaj, że Maximum Profit System maksymalizuje zysk. Jednakże, wskaźnik Reward/Risk może być nadal mniejszy od 100% w zależności od obsunięcia kapitału (dzięki prowizji) w pierwszej pozycji.
Przesunięcie transakcji i stopa procentowa są ustawione na zero, ponieważ nie są używane w Maximum Profit System.
Jak uruchomić Maximum Profit System
Wybierz System Tester z menu Tools lub kliknij przycisk System Tester w standardowym pasku narzędzi.
Zaznacz Maximum Profit System (znajdujący się na górze listy w okienku dialogowym System Tester).
Po zakończeniu testowania, kliknij przycisk Reports.
___________________________________________________________________________
Uwagi dotyczące udoskonalaniu systemów transakcyjnych
Udoskonalenie zyskownych systemów transakcyjnych jest trudne. Nawet po wielu latach praktyki w udoskonalaniu systemów, nadal można łatwo zepsuć system. Tutaj przedstawiliśmy kilka uwag pomocnych w udoskonalaniu systemów.
Prawidłowe testowanie /optymalizacja
Jednym z najbardziej powszechnych błędów podczas testowania systemu i optymalizacji jest przypisanie reguł transakcyjnych do konkretnych danych liczbowych. Zanim podekscytowany pomyślisz, że znalazłeś „świętego Grala”, zapoznaj się z tym, co przedstawiono poniżej.
Sprawdź linię kapitału (str. 400). Powinna ona stopniowo rosnąć. Ostre szpice wskazują zmienne zyski.
Testuj system w różnych układach czasowych. Rezultat powinien być podobny do rezultatu testowania na pierwotnych danych liczbowych.
Testuj system na różnych papierach wartościowych, w różnych sektorach.
Optymalizuj ponownie, używając tylko połowy pierwotnie testowanych danych. Następnie testuj pozostałe dane liczbowe, używając optymalnej wartości. Jeśli system jest dobry, rezultat tych dwóch testów powinien być podobny.
Testuj system na różnych rynkach (np. w trendzie rosnącym, w trendzie malejącym lub w obu trendach jednocześnie). Dobry system powinien pracować na wszystkich typach rynków, ponieważ nigdy nie wiesz kiedy rynek zmienia trend.
Pamiętaj, że to człowiek ma decydujący wpływ na ceny papierów wartościowych. Dlatego jest mało realistycznym oczekiwać, że logiczny system mechaniczny przepowie zachowania inwestorów. Sugerujemy, by używać system transakcyjny w połączeniu z innymi technikami analitycznymi.
Prowizje
Zwróć szczególną uwagę na liczbę transakcji generowanych przez system testujący. Jeśli jest duża liczba transakcji i duży zysk upewnij się, że wyznaczyłeś prawidłową prowizję. Rezultat testu może znacznie odbiegać od siebie przy różnych prowizjach.
Transakcje zyskowne w porównaniu do transakcji stratnych
Łatwo jest porównać liczbą transakcji zyskownych do transakcji stratnych. Mimo to powinieneś także zwrócić uwagę na porównanie Average Win do Average Loss (patrz str. 387). Niektóre dobre systemy generują więcej stratnych transakcji niż zyskownych transakcji. Tak dzieje się, jeśli średni zysk z transakcji jest znacznie wyższy, niż średnia strata z transakcji.
Odsetki
Jeśli twój system jest tak ustawiony, że nalicza odsetki gdy jest poza rynkiem (patrz str. 371), optymalizacja może wskazać taki system, który najczęściej jest poza rynkiem. To oznacza, że system testujący, który traci na każdej transakcji, może okazać się najlepszym systemem jeśli był poza rynkiem, ponieważ zarabia głównie na odsetkach.
Można to z łatwością dowieść, ustawiając bardzo wysokie odsetki w polu Annual Interest Rate, na stronie Testing, w okienku dialogowym System Testing Options i następnie optymalizując taki system.
Pułapka Zig Zag oraz Lastvalue( )
Wskaźnik Zig Zag (patrz str. 578) filtruje ruchy cenowe. Pokazuje on tylko te ruchy cen, które są równe lub większe niż zaznaczona wartość. Jednakże, wskaźnik Zig Zag ustala to „po fakcie” (gracz giełdowy nie ma z tego korzyści). Z tego powodu, bądź ostrożny używając wskaźnik Zig Zag w systemie testującym. Daje on rezultat, który nie jest osiągalny w rzeczywistych transakcjach.
Funkcja Lastvalue( ) (patrz str. 287) patrzy w przyszłość, w której zwraca ostatnią wartość pola danych. Na przykład, system testujący można napisać tak, aby jego podstawą była przyszła cena lub wartość wskaźnika - coś nieosiągalnego w rzeczywistości. Chociaż ma to jakąś wartość poznawczą, to powinien być (jeśli kiedykolwiek) rzadko używany w systemie testującym, ponieważ generuje nieosiągalne informacje.
Używanie krzywej kapitału
Linia kapitału (patrz str. 383) jest wartościowym narzędziem. Szybkie spojrzenie na krzywą kapitału może wiele powiedzieć o systemie transakcyjnym.
Pamiętaj, że wyrysowana krzywa kapitału, kreślona jest w nowym okienku wewnętrznym aktualnie otwartego wykresu. Aktualnie otwarty wykres niekoniecznie musi być tym samym, na podstawie którego system testujący przeprowadził obliczenia.
Idealna krzywa kapitału powinna stopniowo wzrastać. Duże szczyty wskazują, że system jest niekonsekwentny i ryzykowny. System, który generuje ogromne zyski z jednej transakcji (np. podczas krótkiego krachu w 1987) jest w najlepszym wypadku niepewny.
Poniżej przedstawiono przykład krzywej kapitału, będącej wynikiem systemu testującego, który wygenerował bardzo nierówne (zmienne) zyski. System, który generuje takie rezultaty, nie powinien być brany pod uwagę.
Poniżej przedstawiono przykład krzywej kapitału, która konsekwentnie rośnie. Taka krzywa jest rezultatem generowanym przez dobry system.
Używanie poleceń Cut/Copy/Paste
Chcąc przyśpieszyć pisanie systemów testujących, możesz skorzystać z poleceń Cut/Copy/Paste (patrz str. 14). Dużo częściej niż nie, reguły transakcyjne w obrębie systemu są bardzo podobne, za wyjątkiem operatorów. Rozważmy poniższe reguły transakcyjne polegające na przecięciu prostej średniej ruchomej.
Enter Long: c>mov(c,39,s)
Close Long: c<mov(c,39,s)
Pamietaj, że jedyną różnicą pomiędzy tymi regułami transakcyjnymi jest znak operatora (tj. > i < ).
Zamiast wpisywać obydwie reguły transakcyjne, napisz regułę Enter Long, zablokuj ją (SHIFT+PRAWA STRZAŁKA), skopiuj ją (CTRL+C), a następnie wklej w pole Close Long. Oczywiście, rzeczywista użyteczność poleceń Cut i Paste jest wtedy, gdy wprowadzasz znacznie dłuższe reguły niż przedstawione powyżej.
___________________________________________________________________________
Uwagi techniczne
Ten rozdział wyjaśnia szczegóły techniczne odnoszące się do procesu testowania systemu.
Uwagi ogólne
Podczas procesu testowania, system zawsze zajmuje długą lub krótką pozycję, bądź jest poza rynkiem.
Aktualna pozycja jest determinowana przez reguły transakcyjne (patrz str. 359), wartości optymalizacyjne (patrz str. 377) oraz ustawione stopy (patrz str. 363).
W czasie procesu testowania, program MetaStock otrzymuje liczne (na ogół dziesiątki tysięcy) informacje, odpowiadające przeprowadzonym transakcjom.
Zyski/straty
Zysk i strata z pozycji długiej i krótkiej obliczane są na podstawie procentowych zmian cen papieru wartościowego, podczas utrzymywania pozycji. Nie ma to żadnego związku z liczbą trzymanych akcji. Gdy zajęta jest długa lub krótka pozycja, program przyjmuje, że cały dostępny kapitał jest inwestowany (nawet, jeśli dostępne fundusze są mniejsze niż aktualna cena akcji tego papieru wartościowego).
Na przykład, jeśli w czasie otwierania długiej pozycji, początkowa wartość kapitału wynosiła 1.000$ i cena papieru wartościowego wzrosła o 10% przy zamykaniu długiej pozycji, to kapitał wzrośnie o 100$ (tj. 10% z kwoty 1.000$), czyli do kwoty 1.100$. Jeśli ponownie została zajęta długa pozycja i cena papieru wartościowego znowu wzrosła o 10% przy zamykaniu tej pozycji, to kapitał wzrośnie o 110$ (tj. 10% z 1.100$), czyli do kwoty 1.210$. (przykład ten nie uwzględnia prowizji i odsetek).
Prowizje
Poniższy przykład wykorzystuje te same dane wejściowe co przykład powyżej (tj. kapitał początkowy w wysokości 1.000$, dwie długie transakcje przynoszące zysk w wysokości 10%). Jednakże, w tym przykładzie zakłada się prowizję wejścia 30$ i prowizję wyjścia 25$. (Pamiętaj, że w programie MetaStock, prowizje mogą być w dolarach lub w procentach).
Gdy otwierana jest pierwsza długa pozycja, od kapitału początkowego, w wysokości 1.000$, odejmowana jest prowizja wejścia, w wysokości 30$. Tak więc, początkowy kapitał będzie wynosić 970$. Cena papieru wartościowego następnie wzrasta o 10%, co daje 97$ zysku (tj. 10% z 970$). Przy zamykaniu pozycji, od 97$ pobierana jest prowizja wyjścia, w wysokości 25$, co daje zysk72$. Zysk ten dodawany jest do 970$ kapitału początkowego, co daje 1.042$.
Gdy otwierana jest druga długa pozycja, od kapitału 1.042$ pobierana jest prowizja 30$, co daje 1.012$. Cena papieru wartościowego następnie wzrasta o 10%, co daje 101.20$ zysku (tj. 10% z 1.012$). Przy zamykaniu pozycji, od 101.20$ pobierana jest prowizja wyjścia, w wysokości 25$, co daje zysk 76.20$. Zysk ten dodawany jest do 1.012$, co daje kapitał w wysokości 1.088,20$.
Jeśli nie wystarcza kapitału na prowizję wejścia, to program MetaStock spróbuje otworzyć pozycję, ale nie będzie w stanie tego wykonać. Ten typ transakcji zostanie wyświetlony na stronie Trades, w okienku dialogowym System Report, jako niedostateczne fundusze („NSFS” lub „NSFL”, patrz str. 391), a system niezwłocznie zajmie pozycję poza rynkiem. Żadna nowa transakcja nie zostanie zawarta do momentu, aż naliczone odsetki wystarczą na pokrycie kosztów prowizji.
Depozyt zabezpieczający
Pole "Margin Requirement %" w okienku dialogowym "System Testing Options" (patrz str. 371) określa procent funduszy jakie musisz przeznaczyć na depozyt zabezpieczający, by móc zawrzeć transakcję. Pozwala to na lewarowanie transakcji.
Na przykład, jeśli kupujesz papier wartościowy, który wymaga 20% depozytu zabezpieczającego (czyli wpłacasz 20% rzeczywistej ceny papieru wartościowego), to 10% wzrost ceny papieru wartościowego przyniesie 50% zysk. Rozważmy następujący przykład.
Dysponując kapitałem początkowym w wysokości 1.000$ otwieramy długą pozycję i w czasie jej zamykania cena wzrosła o 10%. Normalnie zysk wynosił by 100$ (10% z 1.000$). Jednakże, ponieważ transakcja wymaga wpłacenia jedynie 20% rzeczywistej ceny papieru wartościowego, to tak naprawdę dokonujemy zakupu waloru wartego 5.000$. 10% wzrostu od rzeczywistej wartości 5.000$ da 500$ zysku (tj. 10% z 5.000$). Te 500$ stanowi 50% zysku z początkowej kwoty 1.000$.
Odsetki
Gdy system jest poza rynkiem (tj. nie ma żadnej otwartej pozycji), naliczane są odsetki od aktualnie posiadanego kapitału, w wysokości zaznaczonej w okienku dialogowym System Testing Options (patrz str. 371).
Gdy otwierana jest długa lub krótka pozycja po okresie bycia poza rynkiem, program nalicza odsetki, które narosły w tym czasie.
Kolejność oszacowania
Gdy rozpoczyna się testowanie, program zakłada start z pozycji poza rynkiem.
Gdy system zajmuje pozycję poza rynkiem
Jeśli sygnał Enter Long lub Enter Short występuje w tym samym czasie, pierwszeństwo ma sygnał Enter Long.
Gdy generowany jest sygnał Enter Long lub Enter Short, aktualna pozycja poza rynkiem jest zamykana i jednocześnie naliczone odsetki dodawane są do posiadanego kapitału.
Gdy system zajmuje długą lub krótką pozycję
Gdy system zajmuje długą pozycję, wszystkie sygnały Enter Long są ignorowane. Gdy system zajmuje krótką pozycję, wszystkie sygnały Enter Short są ignorowane.
Wszystkie sygnały Enter Long będą ignorowane, jeżeli nie były aktywowane w okienku dialogowym System Testing Options (patrz str. 371). Ta sama zasada dotyczy sygnałów Enter Short.
Jeśli zostanie odebrany sygnał Enter Long gdy zajmowana jest krótka pozycja, to pozycja krótka zostanie zamknięta, a zostanie otwarta pozycja długa. Ta sama zasada ma zastosowanie do sygnału Enter Short.
Gdy zajmowana jest długa lub krótka pozycja, sygnały analizowane są w następującej kolejności:
sprawdzaj sygnał o statusie przeciwnym (tj. jeśli aktualna pozycja jest długa, to sprawdzaj sygnał Enter Short),
sprawdzaj sygnał zamknięcia (tj. jeśli aktualna pozycja jest długa, to sprawdzaj sygnał Close Long),
sprawdzaj czy został uruchomiony sygnał stop.
Inne rezultaty obliczeń
Jeśli kiedykolwiek kapitał spadnie do lub poniżej zera (spadanie poniżej zera jest możliwe tylko gdy prowizje wyznaczone są w punktach zamiast w procentach), nie będą naliczane odsetki i nie będzie otwarta żadna transakcja dla pozostałej reszty testu. (Pamiętaj, że to nie dotyczy sytuacji, gdy zaznaczyłeś pole „Points Only Test” w okienku dialogowym System Testing Options).
Gdy wybrana jest jakaś wartość w polu Delay w okienku dialogowym System Testing Options (patrz str. 371), wszystkie inne sygnały i stopy są ignorowane, aż do momentu gdy minie zaznaczony okres czasowy. Jest tylko jeden wyjątek, gdy w okienku dialogowym Stops zaznaczone jest pole „Exit at Stop Price”. Jeśli to pole jest zaznaczone i zadziałał stop, Delay jest ignorowane.
Testowanie futures i towarów
Testowanie futures i towarów oparte jest na systemie testującym, który oblicza zmiany punktowe. Oznacza to, że taki system oblicza zysk/stratę wyłącznie w punktach, a nie w walucie.
Chcąc, aby system obliczał wyłącznie punkty, to zanim zostanie uruchomiony test, należy zaznaczyć pole „Points Only Test” w okienku dialogowym System Testing Options (patrz str. 371). Gdy taki test zostanie uruchomiony, to ignorowany jest kapitał początkowy, depozyt zabezpieczający i roczna stopa procentowa.
W czasie przeprowadzania testu, dopuszczalny jest spadek krzywej kapitału poniżej zera.
Parametry stop mogą być nadal wyrażane w punktach lub w procentach. Wartość procentowa obliczana będzie na podstawie ceny otwarcia pozycji, a nie na podstawie wartości kapitału w chwili otwarcia tej pozycji.
W teście punktowym, prowizje obliczane są pod następującymi warunkami:
musi być zaznaczone pole „Points Only Test” w okienku dialogowym System Testing Options,
wartość prowizji musi być mniejsza lub równa 1; wartość prowizji powinna być podana w ekwiwalencie punktowym; na przykład, jeśli prowizja wynosi 30$ i minimalna zmiana testowanego future wynosi 0,03125 (lub 31,25$ za jeden kontrakt), to należy wprowadzić 0,03 (ekwiwalent punktowy 30$) jako wartość prowizji.
Poniżej przedstawione są różnice w raportach, będących wynikiem systemu punktowego:
nagłówki wszystkich raportów zawierają słowa „Points Only Test”,
na stronie Results okienka dialogowego System Report (patrz str. 383), niektóre pola zawierają „N/A” ponieważ są one stosowane tylko dla wartości wyrażonych w walucie (a nie w punktach),
w Trade Detail Report (patrz str. 393), pole Percent Profit lub Loss zawierają „N/A”, ponieważ to pole stosowane jest tylko dla wartości wyrażonych w walucie (a nie w punktach),
w Trade Detail Report, pola Equity at entry i Equity at close pokazują aktualny kapitał wyrażony w punktach w momencie otwierania lub zamykania pozycji.
Szybkość obliczeń
Matematyczny koprocesor w komputerze znacząco obniży czas potrzebny do przeprowadzenia testu zysku. Typowy test, którego wykonanie zajmuje 10 minut na 486SX (bez koprocesora matematycznego), zajmie mniej niż pięć minut, jeśli jest zainstalowany 486DX.
Znaczna część czasu zużytego na przeprowadzenie testu, przeznaczana jest na zapisywanie raportów na dysk. A zatem, możesz zmniejszyć czas potrzebny na przeprowadzenie testu, używając szybszy dysk twardy.
Gdy liczba raportów generowanych przez test przekracza dopuszczalną ilość raportów możliwych do przechowywania (patrz str. 384), proces testowania znacznie zwalnia, ponieważ program MetaStock musi robić przerwy po przeprowadzeniu każdego testu, by skasować mniej zyskowny test.
Pojemność dysku
Gdy testowany jest system zawierający zmienne optymalizacyjne, wielkość dostępnej pamięci dysku wyświetlana jest ekranie. Jeśli wielkość dostępnego miejsca na dysku jest mniejsza niż około 40K, program MetaStock będzie automatycznie kasować mniej zyskowne testy, by zrobić miejsce na nowe testy.
Z powodu dużej ilości informacji gromadzonych dla każdego testu, raporty zajmują dużo miejsca na dysku. Raporty te przechowywane są w podfolderze o nazwie SREPORTS, w folderze MetaStocka. Raporty możesz skasować wybierając Delete w okienku dialogowym System Tester (patrz str. 357) lub wymazując pliki w podfolderze SREPORTS za pomocą Windows Explorer.
Funkcja input( ), zmienne i wskaźniki zawierające kilka wykresów
System Tester akceptuje oznaczone zmienne w regułach transakcyjnych. Na przykład, poniższa reguła transakcyjna Close Long jest prawidłowa:
myvar:=10;
c>mov(c,myvar,s);
System testujący nie może używać funkcji input( ) w sposób bezpośredni (patrz str. 285). Ta funkcja jest zarezerwowana wyłącznie dla wskaźników. Jednakże, jeśli reguła używa funkcji fml( ) (patrz str. 282) do oznaczenia rezultatów wskaźnika i wskaźnik używa funkcji input( ), funkcja fml( ) może być użyta wyłącznie do oznaczenia domyślnej wartości wejścia - System Tester nie wymaga podania wartości wejścia.
System testujący nie może używać funkcji input( ) (patrz str. 285). Ta funkcja jest zarezerwowana wyłącznie dla wskaźników.
Jeśli system testujący zawiera lub oznacza (używając funkcji fml( )) wielowykresowe wskaźniki, tylko ostatni wykres jest używany do obliczeń przez system testujący.
347