Zidentyfikuj Charakter Rynku
Jednym z pierwszych kroków w tworzeniu strategii inwestycyjnej jest identyfikacja warunków panujących na rynku, na którym chcesz grać, lub też już grasz (ale bez systemu). Istnieją trzy główne typy zachowań rynku: podlegający trendom, boczny i zmienny. Zwykle, rynek pokazuje jeden typ zachowania. Czasami zdarza się, że rynek podlegający trendom znajdzie się w trendzie bocznym, jednak wcześniej czy później powraca on do trendu. Podobnie, rynek zmienny może czasami zamienić się w rynek podążający w trendzie lub poruszający się w bok. Oczywiście może się zdarzyć, że rynek trwale zmieni charakter - rynek charakteryzujący się wyraźnymi trendami może stać się rynkiem zmiennym lub znaleźć w długotrwałym trendzie bocznym.
Każdy typ rynku charakteryzuje się odmiennymi schematami zachowań, jakie odpowiadają poszczególnym reakcjom rynku na różne zdarzenia. Różne też są kryteria użyteczne przy łapaniu zysków na różnych rynkach - to, co pracuje dobrze na rynku podlegającym trendom, może nie pracować dobrze na rynku zmiennym (i najczęściej nie pracuje). Kluczem jest napisanie strategii, która uchwyci zyski w warunkach rynku, dla których ją napisałeś i zmniejszy straty w innych warunkach rynku.
Dlatego, zanim zaczniesz rozwijać swój system transakcyjny, spójrz na rynek, na którym chcesz dokonywać transakcji, lub na którym już grasz (ale bez systemu) i określ, jaki typ rynków on reprezentuje. Możesz tez zdecydować, jaki typ rynku najbardziej ci odpowiada do gry i dopiero po znalezieniu takiego rynku określ kryteria systemu.
Uruchom System Na Wykresie
Uruchom system na wykresie zawierającym dane historyczne. Proces testowania strategii zaczyna się w chwili, gdy tylko nałożysz system na wykres. Ogólnie, powinieneś wypróbować twoją strategię na tak dużej ilości danych jak to tylko możliwe. Na przykład, jeżeli chcesz dokonywać transakcji w oparciu o dane czasu rzeczywistego lub dane opóźnione, to powinieneś testować swój system na danych z różnych okresów, np. różnych serii kontraktów. Albo, gdy system opiera się na danych dziennych, ty powinieneś wypróbować go na danych z różnych lat. Ogólna reguła na to by ocenić czy system generuje prawidłowe sygnały jest taka, że potrzebujesz wygenerowania minimum 30 transakcji. Dopiero wtedy próba danych jest statystycznie wiarygodna.
Innym typem testu skuteczności systemu polecanym przez traderów jest wypróbowanie twojego systemu na innych instrumentach w ramach tego samego sektora (czyli prawdopodobnie prezentujących ten sam typ rynku), a następnie na różnych okresach danych. System powinien dawać przyzwoite wyniki na innych podobnych instrumentach, chociaż nie jest to regułą. Powinien tez sprawować się dobrze w różnych okresach, ponieważ to jest cały czas ten sam instrument. Jakkolwiek, gdy testujesz inny okres dla tego samego instrumentu, to powinieneś przywiązywać większą wagę dla ostatnich danych. Tutaj najważniejszym elementem jest to, byś czuł się komfortowo z osiągnięć i zachowania systemu.
Przegląd Osiągnięć Systemu
Są różne sposoby na to, by zrewidować osiągnięcia systemu: możesz dokonywać oceny wizualnej krzywej "equity", możesz analizować raport systemu wygenerowany po jego teście.
Ocena Wizualna
Uruchamiając system dla określonych danych, program automatycznie analizuje każdy słupek danych na twoim wykresie szukając występowania kryteriów, jakie zdefiniowałeś w ramach systemu i pokazuje ci graficznie wszystkie momenty kupna i sprzedaży, jakie wykonałbyś gdybyś dokonywał transakcji opierając się na testowanej idei.
Przewijając wykres tam i z powrotem, wiesz natychmiast, że np. system nie wyłapywał większych ruchów cen albo dokonywał zbyt wielu niepotrzebnych transakcji w trendzie bocznym. Te oględziny dają ci dobre pierwsze odczucie, co do pracy systemu i poprawnej jego konstrukcji.
Używanie Raportu Systemu
W uzupełnieniu oceny wizualnej Raport Systemu dostarczy ci szczegółowe informacje na temat osiągnięć testowanej strategii, włączając w to między innymi: ile pieniędzy mógłbyś zarobić, gdybyś dokonywał transakcji w oparciu o testowany system, (po obu stronach rynku).
Raport Systemu pokazuje zyski (lub straty), które byłyby generowane przez system jak również inne czynniki, takie jak: obsunięcia kapitału, zwrot z rachunku, najbardziej zyskowna (stratna) transakcja i inne.
Raport Systemu pomaga ci zdecydować się czy faktycznie możesz stosować testowany system. Na przykład, czy potencjalny zysk twojego systemu jest wystarczający do tego by stosować ten system w praktyce? Czy zachowanie się systemu odpowiada twojej osobowości jako spekulanta? A może system generuje zbyt dużo transakcji (a może za mało)? Czy zysk procentowy jest dla ciebie atrakcyjny? A może długie serie stratnych transakcji są dla ciebie nie do przyjęcia? Czy możesz posługiwać się systemem charakteryzującym się dużymi obsunięciami nawet jeżeli końcowe zyski systemu są wysokie? A może wolałbyś system oferujący niskie zyski, ale bez dużych obsunięć kapitału? Tylko ty możesz sobie odpowiedzieć na te pytania.
Jeżeli lubisz stworzony system, ale masz wątpliwości, co do niektórych wyników raportu możesz wrócić do modułu, w którym tworzysz system by dodać lub usunąć niektóre elementy systemu lub przerobić odpowiednie kryteria. Po dalszej analizie, możesz zdecydować, które z sygnałów są dobre, i czy w ogóle idea systemu jest dobra. Możesz też wrócić do tworzonego systemu i przerobić niektóre kryteria.
Zauważ, jeżeli znalazłeś system, który nie daje zysku w stosunku do pieniędzy, jakimi ryzykujesz, to nic nie straciłeś. Próbowałeś systemu na prawdziwych danych i prawdziwych warunkach rynku bez ryzykowania grosza. Najbardziej skuteczne systemy są odkrywane podczas analizy wyników systemu przynoszącego straty. Dlatego, gdy masz system, którego wyniki rozczarowują, powinieneś przeanalizować - dlaczego system "nie pracuje". Niektóre z twoich najlepszych idei mogą pochodzić z procesu analizy błędów.
Używanie linii "Equity"
Innym ważnym narzędziem analizy jest krzywa zysków (equity). Jest to ważne, ponieważ widać po jednym spojrzeniu na krzywą, czy twój system dostarcza konsekwentne, godne zaufania wyniki na rynku, dla którego został stworzony. Krzywa zysków daje ci perspektywę zysków i strat generowanych przez system podczas okresu próbnego.
Na przykład, krzywa zysków pozwala ci osądzić jak konsekwentnie twój system dawał zyski podczas okresu próbnego. Gdyby w czasie testów okazało się, że system robi 100000 zł zysku w 10 lat, ale z tego 70000zł powstało w ostatnich 12 miesiącach, to krzywa pokazałaby ci, że system "produkował" słabe wyniki przez 9 lat.
Co Jeszcze Powinieneś Uwzględnić
Skoro stwierdziłeś już, że istnieją trzy główne typy rynków, to powinieneś zacząć myśleć o tym jak zaprojektować strategię, by osiągnąć najlepsze rezultaty w każdych warunkach rynku. Powinieneś również zdecydować, jaki typ rynku najlepiej pasuje do twojej osobowości jako spekulanta i do twojego położenia finansowego.
W rynku charakteryzującym się wyraąnymi trendami będziesz usiłował uchwycić duży ruch cenowy i zminimalizować chwilowe straty pomniejszające stan twojego konta podczas okresów konsolidacji; na rynkach poruszających się bokiem będziesz używać poziomów wsparcia i oporu by starać się uchwycić zyski z małych ruchów cen; na rynkach zmiennych spróbujesz złapać krótkotrwałe, znaczące korekty, robiąc krótkie transakcje i wychodząc z rynku.
W tym miejscu, rozpocznij poszukiwanie sygnałów i używaj ich, aby stworzyć system, który będzie najkorzystniejszy dla ciebie, wybranego typu rynku i przedziału czasowego. Nie musisz budować całej strategii natychmiast. Na przykład, możesz zacząć od jednego sygnału wejścia na rynek. Wtedy, jeżeli trafiłeś na dobry sygnał wejścia, to możesz zacząć łączyć go z różnymi sygnałami wyjścia z rynku.
Zapamiętaj, że możesz robić to następująco:
Testuj i stosuj strategie symetryczne - kupuj "długo" i sprzedawaj "krótko". Istnieją strategie zawierające sygnały wejścia tylko na "długo", lub tylko na "krótko". Ty możesz łączyć je obie. Raport Wyników Terstra Systemu zawiera między innymi rezultaty stosowania danej strategii i rozbija twoje transakcje na krótkie i długie. Być może dowiesz się, że "długa" strona twojego systemu transakcyjnego jest dobra, ale strona "krótka" potrzebuje dalszej pracy, lub odwrotnie. Albo że pomysł okazał się nietrafiony.
Testuj i stosuj strategie wejścia i wyjścia z rynku w każdym punkcie wykresu. Możesz testować system transakcyjny, w którym sygnały wejścia i wyjścia z rynku występują przy dowolnej cenie (O,H,L,C) w granicach jakiegokolwiek słupka wykresu, a nie tylko przy cenie zamknięcia (Close).
Testuj strategie zawierające różnorodne kryteria sygnałów wejścia lub wyjścia z rynku. Programy giełdowe umożliwiają ci stworzenie systemu transakcyjnego zawierającego wiele sygnałów wejścia lub wyjścia. Pojedynczy system transakcyjny może zawierać różne sygnały dla wchodzenia "długo", wchodzenia "krótko", zamykania pozycji "długiej" i zamykania pozycji "krótkiej".
Jeżeli możesz to testuj strategie pozwalające na różną ilość kupowanych lub sprzedawanych kontraktów czy akcji. Twój system transakcyjny nie powinien być ograniczany do jednokrotnego kupowania "długo" lub sprzedawania "krótko" i zamykania pozycji. Wielokrotne kupowanie lub sprzedawanie w tym samym kierunku, powodujące, że do twojej aktualnej pozycji rynkowej dodawane są nowe kontrakty lub akcje to tak zwany "pyramiding", jest to jednak strategia dość agresywna.
Jeżeli możesz to testuj strategie ze zmienną liczbą kontraktów lub akcji na wejściu lub wyjściu. Dla przykładu, dla danego sygnału wejścia, mógłbyś określić zakup 1 kontraktu lub 100 akcji. Dla innego sygnału wejścia, który zdarza się niezbyt często, ale ma wyższe prawdopodobieństwo zakończenia transakcji pomyślnie mógłbyś określić zakup 2 kontraktów lub 200 akcji.
Praktycznie wszystko, o czym możesz pomyśleć, możesz umieścić w sygnale budowanej strategii. Pamiętaj jednak, że czasami prostszy pomysł jest lepszy. Po prostu staraj się "nie przekombinować". Kluczowe na tym etapie jest to, że możesz, i powinieneś testować wszystkie swoje pomysły, jakiekolwiek by one nie były.
Tworzenie Nowego Systemu
Przejdź do modułu "Enhanced System Tester".
Otwórz opcję "New System".
Pola Edytora Systemów zawierają pola do wpisania nazwy systemu, notatek i jego reguł. Cztery reguły opisują kryteria otwarcia zamknięcia pozycji długich / krótkich.
W zakładce General mamy do wyboru trzy opcje:
Order Bias - czasami system wytwarza dwa sygnały - długi i krótki jednocześnie, w tej opcji możemy zaznaczyć, którą pozycję system ma w takiej sytuacji wybrać.
Portfolio Bias - tą opcją można poinstruować system, aby zamykał wszystkie odwrotne, istniejące pozycje do nowego, przeciwnego sygnału, w momencie, w którym się pojawi. Np. jeśli chcemy aby system zamknął wszystkie krótkie pozycje gdy pojawi się nowy sygnał do otwarcia pozycji długiej - wybieramy opcję Single. Jeśli jednak chcemy posiadać w portfelu zarówno pozycje długie jak i krótkie wybieramy opcję Multiple.
Position Limit - ta opcja zamyka wszystkie pozycje przed otwarciem nowych. Możemy sami zaznaczyć ile pozycji może pozostać otwartych, lub odznaczając tę opcję zezwolić na otwarcie do 65536 równoczesnych pozycji.
Przejdźmy do budowy systemu:
Wpisz nazwę systemu, np. System Nr 1.
Kliknij "Buy Order" i wpisz następujące kryterium dla otwarcia nowej długiej pozycji:
cross(close,mov(close,25,simple))
Formuła ta, podobnie jak i inne formuły reguł może być przedstawiona opisowo.
W tym przypadku "Otwórz długą pozycję jeżeli cena zamknięcia przetnie od dołu średnią z 25 ostatnich kursów zamknięcia" (podobnie jak w module "Indicator Builder" możesz stosować skróty - zamiast "close" pisać "c" czy zamiast "simple" - "s").
Reguły transakcji są bardzo podobne do reguł wskaźników.
Wpisz poniższe reguły dla pozostałych trzech kryteriów.
Pamiętaj by kliknąć wcześniej odpowiednie dla nich pola (Sell Order, Sell Short Order, i Buy To Cover Order).
Sell Order : cross(mov(close,25,simple),close)
Sell Short Order : cross(mov(close,25,simple),close)
Buy To Cover Order : cross(close,mov(close,25,simple))
Po ich poprawnym wpisaniu kliknij OK.
Jeżeli w składni wpisywanej reguły istnieje błąd to zostanie wyświetlony komunikat o istocie tego błędu, a po kliknięciu OK program umieści kursor w miejscu, w którym wystąpił błąd.
Po poprawieniu formuły ponownie kliknij OK.
Wszystkie cztery zakładki kupna / sprzedaży posiadają identyczne opcje:
Order Type - jeśli chcemy, aby system włączył do testu stopy, limity, stop limity, możemy zaznaczyć tutaj odpowiednią opcję.
Limit - system będzie poszukiwał najlepszej ceny dostępnej powyżej, lub poniżej (w zależności od typu transakcji) podanego limitu ceny.
Stop - system będzie poszukiwał najlepszej ceny, jeżeli cena ta dotarła do podanego przez nas limitu.
Stop Limit - system będzie poszukiwał najlepszej ceny powyżej, bądź poniżej limitu, gdy cena ta dotarła do limitu.
Limit or Stop Price - cena używana podczas okresu, gdy gracz pozostaje poza rynkiem (out of market)
Entry Size - w tym polu można określić ile walorów system ma zakupić / sprzedać podczas otwierania / zamykania pozycji. Liczba może być wyrażona ilościowo (Number of Units), pieniężnie (Transaction Cost), bądź procentem kapitału (% of Available Equity).
Expiration - system umożliwia zamykanie pozycji z końcem dnia, bądź pozostawienie jej otwartej do czasu gdy pojawi się sygnał do zamknięcia (określony przez użytkownika).
Strategic Delay - system może zachowywać się identycznie jak inwestor, tzn. w rzeczywistości mamy dostęp do opóźnionych danych (15min). Aby urealnić nasz system możemy opóźnić zawieranie transakcji na rynkach terminowych o dowolną ilość minut, lub dni, gdy np. gramy na akcjach a wieczorem ściągamy uaktualnione dane do Metastocka.
Testowany System - Opcje
Testing - Trading
Points Only Test
Jeśli inwestujesz na rynku terminowym zaznacz tę opcję - w przeciwnym razie system wygeneruje wynik w wartościach pieniężnych, a nie w punktach.
Initial Equity
Suma, jaką dysponujesz przed rozpoczęciem inwestowania. (opcja ta jest niedostępna gdy zaznaczony został Points Only Test)
Default Size
Każde zlecenie może być dokonywane zgodnie z wyborem odnośnie liczby walorów (Number of Units), sumy pieniędzy (Total Transaction Cost), bądź procentu kapitału, jakim dysponujemy (% of Available Equity).
Testing - Portfolio
Long/Short/Both - określa jakie typy transakcji system może zawierać.
Close all positions on the last bar - jeśli zaznaczymy tę opcję, po skończeniu testu, wszystkie otwarte pozycje zostaną zamknięte.
Testing - Results
Możemy przeprowadzić przyspieszony test, który zajmuje mniej czasu i miejsca na dysku, jednakże nie będziemy w stanie obejrzeć wielu raportów.
Jeżeli system używa optymalizacji, możemy zaznaczyć również ile najlepszych wyników chcemy zachować.
Klikając na "More" mamy dostęp do kolejnych opcji:
Interest Rates
Margin - jest to stopa procentowa depozytów bankowych.
Money Market - jest to stopa procentowa kredytów bankowych.
Margin Requirements
Wymagane fundusze, jakie musisz zdeponować aby zawrzeć transakcje.
Long Initial - aby otwierać długie pozycje nie musimy nic deponować (wpisujemy 100)
Long Maintenance - aby utrzymać pozycje, nic nie musimy dopłacać (wpisujemy 0)
Short Initial - aby otworzyć pozycje krótkie wymagany jest depozyt (dostępne wartości 101-200; jeśli jest to 30% wpisujesz 130)
Short Maintenance - to samo dotyczy utrzymania krótkiej pozycji
Commissions
Tutaj możemy określić rodzaj prowizji, jaką pobierają biura maklerskie (jako punkty od transakcji, jako punkty od ilości walorów, lub jako procent od wartości)
Następnie możemy wpisać określone wartości jako koszty prowizji za otwarcie pozycji (Entry) oraz za zamknięcie pozycji (Exit).
Trade Price
Mamy dwie możliwości: zaznaczyć kwadracik Realistic Market Prices i zezwolić systemowi na otwieranie i zamykanie pozycji po cenie rynkowej, bądź pozostawić tę opcję odznaczoną i własnoręcznie wprowadzić interesujące nas wartości, po których mają być zawierane transakcje na poszczególnych pozycjach (po cenie otwarcia, zamknięcia, maksymalnej, bądź minimalnej).
Delay order opening __ bars - wprowadź ile słupków po sygnale zawarcia transakcji ma być ona przeprowadzona.
Slippage
Dzięki tej opcji masz możliwość wprowadzenia poziomu strat, jakie mogą się pojawić przy daytradingu w opóźnieniu pomiędzy danymi rzeczywistymi, a czasem jaki zabiera złożenie zlecenia i przeprowadzenie go. W tym czasie rynek często się ochładza o kilka punktów, co możemy zasymilować w naszym systemie.
Raport Podsumowujący
"Summary Report" to podsumowanie informacji na temat wszystkich przeprowadzonych testów.
Jeżeli w teście nie wystąpiły parametry optymalizowane to zawiera on dane dotyczące tylko jednego testu.
W górnej części raportu znajduje się histogram uporządkowanych, wg wielkości zysku, transakcji.
Kolumny "Summary Report"
ID
Numer testu, w zależności od tego w jakiej kolejności był wykonywany.
Symbol
Symbol waloru, na którym zawarta została transakcja.
Periodicity
Częstotliwość danych, na których testowany był system.
Date Range
Czasowy zasięg danych poszczególnych walorów.
Net Profit:
Całkowity zysk lub strata netto w wyniku stosowania systemu.
Zawiera potencjalny zysk jaki byłby osiągnięty z zamknięcia ostatniej pozycji zajętej przez system w czasie testu.
% Gain
Procentowy zysk lub strata netto powstałe w wyniku stosowania systemu.
Zawiera potencjalny zysk jaki byłby osiągnięty z zamknięcia ostatniej pozycji zajętej przez system w czasie testu.
Parametr jest nieosiągalny w czasie testu "points only".
Trades
Liczba wygenerowanych transakcji.
Podawana jest tylko liczba zamkniętych transakcji - nie uwzględnia transakcji otwartych w chwili zakończenia testu.
Możliwa jest wartość 0 - w przypadku wygenerowania jednego sygnału i nie zamknięcia pozycji przed końcem testu.
Trade Profit / Loss
Liczba transakcji zamkniętych z zyskiem / liczba transakcji zamkniętych ze stratą.
Avg. Profit / Avg. Loss
Stosunek przeciętnego zysku do przeciętnej straty z transakcji.
Przeciętny zysk oblicza się dodając zyski z transakcji i dzieląc je przez ich liczbę.
Podobnie z przeciętną stratą.
Status:
Mogą być wyświetlane trzy wartości - "Completed", "Invalid", lub "Terminated".
"Invalid" - test jest nieważny - wystąpił błąd matematyczny (dzielenie przez 0).
Dostępny jest wynik testu ale jego wartość jest wątpliwa.
"Terminated" - ma miejsce w sytuacji w której nie mogą być zastosowane reguły systemu (za mało danych - firma jest notowana krócej niż 200 sesji a w teście wykorzystujemy średnią z 200 sesji).
W przypadku przerwania testu podawane są informacje o przyczynie.
Raport Systemu - Ogólny
Okno raportu ogólnego wyświetla szczegółowe informacje o transakcjach dokonanych na poszczególnym walorze, lub testowanych optymalizacjach systemu. Przedstawia ono szczegółową analizę działania systemu.
Aby wyświetlić ten raport zaznacz wybraną transakcję w zakładce "Summary Report" i kliknij "View".
Summary
W tej części mamy podgląd ogólnych danych tj. nazwa testowanego papieru, data i czas testu, ilość słupków (dni) oraz zakres czasowy waloru.
Performance
Profit
Pokazuje ile pieniędzy zarobił dany papier w czasie testu. Jeśli wartość jest ujemna, oznacza to, że system przyniósł straty.
Performance
Procentowa wartość skuteczności działania systemu liczona jako iloraz zysku, lub straty i wartości początkowej (Initial Equity). Np. jeśli zaczynaliśmy z 1000$ a zakończyliśmy z 1100$ - wskaźnik performance wyniósł 10%.
Annualized Performance
Opisuje jak wyglądałby powyższy wskaźnik Performance gdyby symulacja trwała rok.
Otrzymuje się go poprzez dzielenie 365 dni przez ilość dni zastosowanych w symulacji i pomnożenie przez wartość Performance.
Buy And Hold Profit
Zysk z zastosowania strategii "Kup i Trzymaj". Strategia ta polega na kupnie walorów pierwszego dnia symulacji i trzymania ich aż do ostatniego dnia symulacji.
W obliczeniach system uwzględnia prowizję za kupno.
Buy And Hold Performance
Wskaźnik Buy And Hold Performance wyrażony procentowo.
Różnica procentowa pomiędzy stanem początkowym a końcowym kapitału dla strategii kupna walorów pierwszego i sprzedaży ostatniego dnia testu.
Buy And Hold Annualized Performance
Pokazuje jak zyskowny, bądź stratny mógłby być system, gdyby zakupów dokonano pierwszego dnia roku kalendarzowego a sprzedano ostatniego dnia grudnia.
Reward / Risk Index
Ten indeks porównuje wartość dochodu do ryzyka.
Ryzyko jest rozumiane jako największy spadek wielkości kapitału w otwartej pozycji, dochód to całkowity zysk netto.
Wartość indeksu Reward/Risk należy do przedziału -100 (bardzo ryzykownie) do +100 (bezpiecznie).
Wartość 0 indeksu Reward/Risk oznacza wzajemne zniesienie dochodu i ryzyka.
Index Reward Risk
+100 High None
+50 Medium Medium
0 None None
-50 Low Medium
-100 Very Low High
Trade Summary
Total Trades
Ogólna ilość transakcji dokonanych w czasie testu.
System zalicza tylko pozycje zamknięte. Pozycje pozostające otwarte w czasie zakończenia testu nie zostają uwzględnione. Ponadto w pozycji tej może pojawić się liczba 0, w momencie gdy system otworzył jedną pozycję i jej nie zamknął.
Trade Efficiency
Uśredniona wydajność transakcji przeprowadzonych przez system (wartość procentowa).
Profitable Trades
Wskazuje na ilość zyskownych transakcji, które przeprowadził system oraz ilość pozycji długich i krótkich.
Wylicza także średni zysk zyskownych transakcji, zysk najwyższy, najniższy oraz najdłuższy czas trwania zyskownych transakcji.
Unprofitable Trades
Identyczny z poprzednim wskaźnikiem, z tym wyjątkiem, że analizuje transakcje przynoszące straty.
Maximum Position Excursions
Long Favorable
Największy zysk przyniesiony przez pojedynczą długą pozycję.
Short Favorable
Największy zysk przyniesiony przez pojedynczą krótka pozycję.
Long Adverse
Największa strata popełniona przez pojedyncza długą pozycje.
Short Adverse
Największa strata popełniona przez pojedynczą krótka pozycję.
Trade Efficiency
Procent ogólnych, możliwych zysków, wykreowanych przez system.
Efektywność otwarcia długiej pozycji - najwyższa cena minus cena otwarcia, podzielone przez najwyższą cenę minus cena najniższa.
Efektywność zamknięcia długiej pozycji - cena zamknięcia minus cena najniższa, podzielone przez różnicę ceny najwyższej i najniższej.
Ogólna efektywność długiej pozycji - cena zamknięcia minus cena otwarcia, podzielone przez cenę najwyższą minus cena najniższa.
Efektywność otwarcia krótkiej pozycji - różnica cen otwarcia i najniższej, podzielone przez różnicę cen najwyższej i najniższej.
Efektywność zamknięcia krótkiej pozycji - cena najwyższa minus cena otwarcia, podzielone przez cenę najwyższą minus cena najniższa.
Ogólna efektywność krótkiej pozycji - cena otwarcia minus cena zamknięcia, podzielone przez różnicę cen najwyższej i najniższej.
Average Entry
Suma efektywności otwarcia wszystkich transakcji, podzielona przez ilość transakcji.
Average Exit
Suma efektywności zamknięcia wszystkich transakcji, podzielona przez ilość transakcji.
Average Total
Suma efektywności ogólnej wszystkich transakcji, podzielona przez ilość transakcji.
Average Long Entry
Suma efektywności otwarcia długich pozycji, podzielona przez ilość otwartych długich pozycji.
Average Long Exit
Suma efektywności zamknięcia długich pozycji, podzielona przez ilość zamkniętych długich pozycji.
Average Long Total
Suma efektywności długich pozycji, podzielona przez ilość długich pozycji.
Average Short Entry
Suma efektywności otwarcia krótkich pozycji, podzielona przez ilość otwartych krótkich pozycji.
Average Short Exit
Suma efektywności zamknięcia krótkich pozycji, podzielona przez ilość zamkniętych krótkich pozycji.
Average Short Total
Suma efektywności krótkich pozycji, podzielona przez ilość krótkich pozycji.
Performance Indices
Buy & Hold Index
Indeks ten wskazuje procent zysku systemu w porównaniu do zysku strategii kup i trzymaj.
Przykładowo wartość "-50" mówi nam, ze zysk systemu był polową (50%) strategii buy/hold. Zaś wartość "25", że system przewyższył zyskami strategię kup i trzymaj o 25%. "0" oznacza równość obydwu.
Profit / Loss Index
Stosunek liczby transakcji zyskownych do stratnych.
Profit/Loss Index podawany jest w postaci liczby leżącej w przedziale -100 (fatalnie) do +100 (świetnie).
Wartość ujemna Profit/Loss Index oznacza, że system przyniósł stratę.
Im wyższa wartość indeksu tym większy jest stosunek transakcji zyskownych do transakcji zakończonych stratą.
Index Profit/Loss
+100 High Profits/No Losses
+50 Profits> Losses
0 Profits = Losses
-50 Profits <LOSSES
-100 No Profits/High Losses
Reward / Risk Index:
(opis powyżej)
Accounting
Initial Equity
Hipotetyczna ilość pieniędzy, z którymi "startuje" system.
Trade Profit
Ile pieniędzy wygenerowały zyskowne transakcje.
Trade Loss
Ile pieniędzy straciliśmy na niezyskownych transakcjach.
Commissions
Ile nas kosztowały prowizje.
Interest Credited
Oprocentowanie, na którym zarobiliśmy w trakcie trwania testu deponując pieniądze w banku, gdy pozostawaliśmy poza rynkiem.
Interest Charged
Oprocentowanie, jakie musieliśmy zapłacić za pożyczenie pieniędzy.
Final Equity
Jakim kapitałem dysponujemy na zakończenie testu.
Open positions
Kwota pieniędzy, która generują niezamknięte pozycje na zakończenie testu.
Account Variation
Highest Account Balance
Najwyższa wartość kapitału, jaką posiadaliśmy w trakcie testu.
Lowest Account Balance
Najniższa wartość kapitału, jaką posiadaliśmy w trakcie testu.
Highest Portfolio Value
Najwyższa wartość portfela, jaką posiadaliśmy w trakcie testu.
Highest Open Drawdown
Największy spadek wielkości kapitału zanotowany w trakcie otwartej pozycji w odniesieniu do kapitału początkowego.
Highest Closed Drawdown
Największy spadek wielkości kapitału zanotowany w chwili zamknięcia pozycji w odniesieniu do kapitału początkowego.
Account Events
Margin Calls
Ukazuje ile razy inwestor byłby wzywany do uzupełnienia depozytu.
Overdrafts
Ile razy przekroczyliśmy nasze możliwości finansowania transakcji (ile razy pożyczaliśmy pieniądze).
Profitable Timing
Szczegóły, mierzone ilością słupków, dotyczące długości zyskownych transakcji. (średnie, najdłuższe, najkrótsze, ogółem).
Unprofitable Timing
Szczegóły dotyczące długości stratnych transakcji, mierzone ilością słupków (średnie, najdłuższe, najkrótsze, ogółem).
Out of Market Timing
Najdłuższa i uśredniona długość trwania (liczona w słupkach) pozostawania poza rynkiem. Dni, w których system nie otworzył żadnej pozycji.
Optimalization Variables
Jeśli używamy systemów z optymalizacją (OPT1, OPT2, itd.) ich wartości pojawią się w tej kategorii.
Raport Systemu - Transakcje
Raport o transakcjach pokazuje szczegóły dotyczące wszystkich transakcji, które były rozważane (Considered), otwarte (Opened)), wykonane (Executed) oraz anulowane (Cancelled).
Bar
Numer ten wskazuje, na którym słupku nastąpiła aktywność systemu, bazując na przedziale czasowym wybranym do symulacji.
Date Dokładna data przeprowadzonej aktywności.
Number
Mówi, która z rzędu jest dana transakcja.
Event
Każda transakcja może składać się z kilku etapów. Tymi etapami są: rozważanie, otwarcie, umieszczenie oraz wykonanie.
Type
Wskazuje na typ pozycji, która może być zawarta: Buy To Cover, Buy (Long), Sell (Long), Buy Short, Sell Short.
Size
Mówi ile walorów system poddaje transakcji.
Terms
System rozróżnia dwa rodzaje zleceń Money Market i Margin.
Price
Pokazuje limit ceny, gdy zlecenie jest na etapie rozważania, bądź cenę wykonania zlecenia, gdy transakcja została przeprowadzona.
Price Field
Wskazuje po jakiej cenie została przeprowadzona transakcja: otwarcia, najwyższej, najniższej, zamknięcia, z limitem, kalkulowanej (uwzględniającej opóźnienie wprowadzone przez nas w opcji Slippage.
Source
Wskazuje na źródło zawarcia transakcji. Możliwe są: sygnały, stopy, Margin Call , ostatni słupek w symulacji, zmiana pozycji Bias Change (w momencie, gdy wybraliśmy opcję Single w opcjach systemu Portfolio Bias).
Raport Systemu - Pozycje
Raport ten podsumowuje i wyszczegóławia wszystkie pozycje, które pojawiły się w trakcie testu,
Graf w górnej części raportu przedstawia efektywność zajmowanych pozycji wszystkich zyskownych transakcji, które zawarł system.
System jest dobrze dostrojony, gdy szczyty na wykresie znajdują się po prawej stronie wykresu (są większe od 0%).
Opening
Price
Cena waloru w trakcie otwierania pozycji.
Bar
Pozycja została otwarta na tym słupku.
Date
Nastąpiło to tego dnia.
Efficiency
Procent możliwych zysków wygenerowanych przez zajęcie tej pozycji.
Gdy otworzyliśmy pozycję za 10$, a przez czas utrzymywania jej wartość waloru fluktuowała pomiędzy 10 a 20$, my zaś sprzedaliśmy go za 15$ - nasza efektywność wynosi 50%.
Commission
Wielkość prowizji jaką musieliśmy zapłacić za zrealizowanie transakcji.
Value
Suma wartości zajętej pozycji i prowizji.
Closing
Price
Cena waloru w trakcie zamykania pozycji.
Bar
Pozycja została zamknięta na tym słupku.
Date
Nastąpiło to tego dnia.
Eficciency
Procent możliwych zysków wygenerowanych przez zajęcie tej pozycji.
Commission
Wielkość prowizji jaką musieliśmy zapłacić za zrealizowanie transakcji.
Value
Suma wartości zajętej pozycji i prowizji.
Most Favorable
Price
Najlepsza cena, po jakiej system zajął pozycje (najwyższa dla pozycji długich, najniższa dla krótkich).
Bar
Słupek, na którym została zajęta najlepsza pozycja.
Profit
Wskazuje jak dużo system mógłby zarobić, gdyby zamknął pozycje po najlepszej cenie.
Most Adverse
Price
Najgorsza cena, po jakiej system zajął pozycje (najwyższa dla pozycji krótkich, najniższa dla długich).
Bar
Słupek, na którym została zajęta najgorsza pozycja.
Profit
Wskazuje jak dużo system mógłby stracić, gdyby zamknął pozycje po najgorszej cenie.
Raport Systemu - Kapitał
Raport zawiera wykres przedstawiający zmienność kapitału w trakcie testu.
Na osi odciętych są słupki, rzędnych - kapitał.
Bar
Numer słupka, do którego odnosi się reszta raportowanych wartości.
Date
Data odzwierciedlająca numer słupka i wartość kapitału.
Cash
Bilans pieniężny.
Reserved
Zamrożone pieniądze, które są przeznaczone na wejście na pozycje nie zajęte (tj. limity, stopy, stop limity)
Margin
Suma pieniędzy pożyczonych od brokera.
Overdraft
Gdy nasz debet pieniężny został przekroczony pojawi się wartość 0.
Portfolio
Wartość wszystkich otwartych pozycji.
Interest
Ile nasz test zarobił na odsetkach (wartość liczona dla jednego słupka).
Commissions
Jak dużo zapłaciliśmy za prowizję (wartość liczona dla jednego słupka).
Total Equity
Ogólny stan naszego kapitału, jaki posiadamy danego dnia.
Składnia Systemu
Reguły transakcji są zapisywane przy pomocy tej samej składni co wskaźniki. Reguła powinna dawać w wyniku wartość "Prawda" (True) lub "Fałsz" (False). Jeżeli otrzymaną regułą transakcji jest prawda to system dokonuje odpowiedniej transakcji (np. otwiera "longa" lub "szorta").
Jeżeli otrzymaną regułą transakcji jest fałsz to system nie podejmuje żadnego działania.
Przykładowa reguła inwestycyjna :
Enter Long :
cross(CLOSE, mov(CLOSE,12,Simple))
Jeżeli formuła ta zostanie wprowadzona do systemu jako reguła otwarcia pozycji długiej to system otworzy ją w chwili gdy cena zamknięcia przetnie od dołu linię 12-okresowej średniej z cen zamknięcia.
Podobnie jest w kolejnym przykładzie : pozycja długa jest otwierana w chwili gdy MACD będzie> 0 ("macd()" jest wbudowaną funkcją).
Enter Long:
macd()> 0
W skład reguł mogą wchodzić wszystkie wskaźniki stworzone przez użytkownika. Służy do tego funkcja fml() - formuła poniżej :
Enter Short:
fml("My Formula")> 0
Możesz łączyć kilka funkcji w ramach jednej reguły, służą do tego operatory logiczne "AND" i "OR".
Enter Long:
macd()> 0 AND CLOSE> mov(CLOSE,12,S)
Reguła powyżej wymaga spełnienia dwóch warunków jednocześnie - MACD> zera i cena zamknięcia> 12-okresowej średniej z cen zamknięcia.
Poniższa reguła wykorzystuje operator "OR" by otworzyć pozycję w chwili gdy MACD spadnie
Close Long:
macd() <0 OR CLOSE
Operatory "AND" i "OR" mogą występować w ramach reguły wielokrotnie.
Najlepszą drogą do kontrolowania poprawności wykonywania działań jest odpowiednie stosowanie nawiasów - tak jak poniżej.
Enter Long:
(macd()> 0 AND C> 100) OR H-L>5
Transakcja powyższa zostanie wygenerowana w chwili gdy zostaną spełnione następujące warunki:
MACD jest powyżej zera i cena zamknięcia jest powyżej 100 (warunki muszą byś spełnione jednocześnie).
Różnica między ceną najwyższą i najniższą jest większa od pięciu.
W trakcie edycji możesz posługiwać się przyciskiem "Functions" by wybrać z dialogu "Pasting Functions Into Formulas" odpowiednią funkcję i wstawić ją. Podwójne klikniecie wstawia wybraną funkcję do pola edycji.
Odsetki uzyskane z kapitału, w czasie gdy system był "poza rynkiem".
Stopa procentowa jest definiowana w polu "System Testing Options - Annual Interest Rate %".
Pola reguł możesz pozostawić puste - jednaj taka nieokreślona reguła nie wygeneruje odpowiedniej transakcji.
Regułą transakcji może odwoływać się jedynie do danych waloru (O,H,L,C,V,OI) i funkcji wskaźników. Nie można wykorzystać odwołania do tego samego systemu transakcyjnego (np. do liczby dni od poprzedniej transakcji wygenerowanej przez system).
Jednak niektóre linie STOP mogą wykorzystać tego typu odwołanie.
Zmienne mogą być używane w granicach reguł testera systemu. Jednak formuły wskaźników z kilkoma przebiegami ( tj., czyli takie, w których rezultacie powstaje wskaźnik zawierający więcej niż jedną linię) są dopuszczalne, ale tester systemu użyje tylko ostatniej linii formuły.
Więcej:
Użycie funkcji Alert()
Funkcja alert() jest stosowana w połączeniu z innymi funkcjami w celu przedłużenia ważności danego sygnału przez określony czas. Odpowiedni sygnał jest przedłużany przez ten czas nawet wtedy gdy zostanie wygenerowany kolejny sygnał.
Poniższy przykład przedstawia zastosowanie tej funkcji:
Enter Long:
RSI(14) <30 AND alert(VOLUME> 500,3)
System otworzył by tak określoną pozycję długą gdy RSI było by mniejsze od 30 a wolumen większy od 500 w dowolnym momencie w czasie trzech okresów poprzedzających spadek wartości RSI. Warunek "Volume> 500" będzie spełniony nawet jeżeli w trakcie tych trzech okresów wolumen spadnie poniżej 500.
Jeżeli usuniesz funkcję alert() z powyższej reguły oba warunki (RSI(14) <30 i VOLUME> 500) musiały by być spełnione jednocześnie . Użycie funkcji alert() pozwala na przedłużenie raz spełnionego warunku na kolejne okresy.
Stosowanie Stopów
W pogram jest wbudowanych 5 typów linii STOP, możesz ich użyć osobno lub łącznie dla każdego systemu. Linie STOP pozwalają na zamknięcie określonej pozycji w oparciu o kryteria związane z zyskiem lub stratą. Przykładowo użycie "Maximum Loss stop" zamknie pozycję jeżeli strata związana z transakcją przekroczy określoną wartość.
Po przełamaniu linii obrony pozycja zostaje zamknięta niezależnie od tego czy spełniona jest reguła generująca zamknięcie pozycji w ramach systemu. Do określenia są zarówno parametry definiujące wartość linii obrony jak i pozycja, z którą dany STOP jest związany (długa lub krótka).
Jeżeli mamy lukę cenową poniżej poziomu STOP w trakcie długiej pozycji, program zamknie pozycję na otwarciu następnego słupka. Jeżeli cena następnego otwarcia jest nie dostępna użyta zostanie cena najwyższa. Jeżeli mamy lukę cenową powyżej poziomu stop w trakcie krótkiej pozycji program zamknie transakcję na otwarciu następnego słupka. Jeżeli cena otwarcia nie jest dostępna zostanie użyta cena najniższa.
Linie STOP automatycznie uwzględniają określone wartości prowizji związane z otwarciem i zamknięciem pozycji. Przykładowo "Maximum Loss stop" uwzględni prowizję związaną z zamknięciem pozycji i zamknie ją w chwili gdy strata wraz z prowizją przekroczy określony poziom obrony.
Jeżeli dwa STOPy są generowane na tym samym słupku , to pierwszeństwo mają STOPy bardziej konserwatywne (tj. STOP, który generuje największą stratę). STOPy są stosowane w kolejności: ":Maximum Loss", "Breakeven", "Trailing", "Profit Target" i "Inactivity".
Breakeven
Linia obrony progu rentowności zamyka otwartą pozycję w chwili gdy wartość kapitału posiadanego w chwili zamknięcia spada poniżej wartości kapitału wyjściowego (posiadanego w chwili otwarcia pozycji). Inaczej - pozycja jest zamykana w chwili gdy wartość zysku z transakcji spada poniżej poziomu 0.
Niezbędna jest ochrona przed automatycznym zamknięciem pozycji w chwili jej otwarcia wynikającym z tego, że odliczana jest prowizja związana z otwarciem pozycji i na początku wartość zysku z jakiejkolwiek transakcji jest mniejsza niż 0. Tą ochroną jest poziom progowy - "floor level". STOP jest uruchamiany dopiero w chwili gdy zysk z transakcji osiągnie ten poziom.
Wartość wpisywana w oknie "Floor Level" jest obliczana za pomocą określonej metody zaznaczonej w ramce "Method" (punkty lub procenty). "Floor Level" stosuje cenę najwyższą (H) dla pozycji długich i cenę najniższą (L) dla krótkich.
Ten STOP potrzebuje minimum dwóch słupków do tego by zadziałać. Jeden słupek dla "floor level" i drugi dla "breakeven amount".
Tip: jeżeli "Floor Level" jest określony jako 0 to STOP zostanie uruchomiony dopiero w momencie gdy zysk z transakcji osiągnie poziom umożliwiający jej zamknięcie bez straty wynikającej z uwzględnienia kosztów transakcyjnych.
Inactivity
Linia obrony Braku Aktywności zamyka pozycję w chwili jeżeli w ciągu określonego przedziału czasowego cena waloru nie osiągnie zdefiniowanej zmiany dodatniej (zmiana dodatnia to wzrost waloru w przypadku pozycji długiej i spadek w przypadku pozycji krótkiej).
Wpisywaną "Minimum Change" możesz określić w punktach lub w procentach. "Periods" to słupki stosowane na wykresie.
Przykład: jeżeli "Minimum Change" określisz jako 1% a "Periods" na 20 słupków to Metastock automatycznie zamknie długą (krótką) pozycję w chwili gdy spółka w okresie 20 słupków od jej otwarcia nie nastąpi 1%-owy wzrost (spadek).
Z powodu analizy zmiany ceny waloru a nie wartości kapitału STOP nie uwzględnia wielkości prowizji.
Maximum Loss
Ten STOP zamyka otwartą pozycję jeżeli strata związana z transakcją przekroczy określony poziom określony w polu "Maximum Loss".
Przykład: jeżeli określisz "Maximum Loss" na 5%, pozycja zostanie zamknięta gdy strata przekroczy 5% kapitału w chwili otwarcia pozycji ( + prowizje).
Uwaga : Określenie "Maximum Loss" na poziomie równym lub niższym niż koszty transakcyjne to każda pozycja zostanie zamknięta zaraz po otwarciu - już w chwili otwarcia strata przekracza wartość maksymalną ze względu na prowizję.
Profit Target
Ten STOP zamyka pozycję po osiągnięciu przez zysk określonego poziomu.
Przykład: przy określeniu zysku docelowego na 10%, program zamknie pozycję w chwili gdy transakcja doprowadzi do wzrostu kapitału o wartość równą 10% kapitału wyjściowego. Uwzględnia koszty transakcyjne.
Trailing
Linia obrony ponoszonego ryzyka - zamyka pozycję, jeżeli utracona zostanie część zysku z transakcji.
Po każdym wzroście zysku z pozycji poziom "Trailing stop" jest zmieniany - pozwalając na stratę tylko części osiągniętego zysku. Wielkość dozwolonej straty "Profit Risk" jest określana w polu mu odpowiadającym i obliczana metodą procentową "Percent", lub punktową "Points".
MetaStock pozwala określić liczbę okresów w trakcie których liczba ta jest ignorowana. Przykładowo, jeżeli określisz okres jako "5" to przy określaniu aktualnego poziomu linii obrony pomijane będą zyski lub straty powstałe w czasie ostatnich pięciu słupków. Umożliwia to ignorowanie niewielkich zmian ceny występujących w zdefiniowanym okresie.
Ten typ zlecenia stop ma za zadanie ochronę zysków osiągniętych w transakcji, nie zaś ograniczenie strat z niż związanych. Określa jaką część zysków chcemy oddać w ramach transakcji. Jeżeli transakcja nie przynosi zysku to wielkość związanej z nią straty można ograniczyć przez zastosowanie zlecenia STOP typu "Maximum Loss".
Poziom tego STOP'a jest ustalany na podstawie wielkości osiągniętego zysku, a nie aktualnej ceny dlatego nie jest ona szczególnie powiązana z pozycjami krótkimi.
Przykład : 10% to wartość dozwolonej straty "Profit Risk", 0 to czas w którym sygnał jest pomijany. Gdy zysk z transakcji wyniósł 1000 zł to MetaStock zamknie pozycję w momencie gdy zmiana ceny waloru doprowadzi do spadku poziomu zysku do 900zł (lub mniej).
Optymalizacja Systemu
Optymalizacja systemu polega na wielokrotnym testowaniu systemu, lub zlecenia STOP z każdorazowym zastępowaniem jednego, lub kilku jego parametrów. Samouczek systemów zawiera przykład optymalizacji, w której ustalano najbardziej efektywną długość średniej przykładowego systemu. W tamtym przykładzie poszukiwano optymalnych danych w przedziale 10 - 50 okresów, z krokiem co pięć okresów.
Każdy system może posiadać do 10 zmiennych podlegających optymalizacji (oznaczanych kolejno symbolami od OPT1 do OPT10). Zmienne te nie mogą być stosowane we wskaźnikach użytkownika. By przeprowadzić optymalizację zastąp wybrane parametry systemu lub zlecenia STOP odpowiednimi zmiennymi "OPT", a następnie określ zakres wartości, w którym będą poszukiwane parametry oraz krok z jakim odbędą się te poszukiwania. W trakcie optymalizacji program wykona określoną ilość testów, sprawdzając wszystkie możliwe kombinacje w zadanym przez ciebie przedziale. O tym ile ich przeprowadzi jesteś informowany w pozycji "Total Tests" okna "Optimization Variables". Liczba testów nie może być większa niż 32,000.
Poniżej przedstawiono przykład zmiennej "OPT" zastosowanej w składni systemu, w tym przypadku "opt1" zamienia parametr "czas" w funkcji średniej.
C> Mov(C,opt1,E)
Zmienna "OPT" używana dla STOP'ów jest umieszczana bezpośrednio w polu "Parameter" okna STOP.
Określ teraz przedział "OPT" (minimum, maksimum i krok). Kiedy testujesz system zawierający OPT'y, MetaStock automatycznie wykona wszystkie testy dla możliwych kombinacji zmiennych.
Określanie Zmiennych Optymalizacyjnych
By określić zakres optymalizacji reguł systemu lub zlecenia STOP kliknij "Optimize" w oknie "System Editor" lub "Stops".
New:
Dodaje nową zmienną oraz pozwala na edycję jej wartości.
Edit:
Pozwala na edycję jej wartości (minimum, maksimum i krok).
Delete:
Usuwa zaznaczoną zmienną . Nie usuniesz zmiennej która jest użyta w którejkolwiek z reguł systemu.
Total Tests:
Wyświetla łączną liczbę testów do przeprowadzenia.
Przykładowa Optymalizacja
Poniższa reguła otwiera pozycję długą, gdy cena zamknięcia przekroczy 10-okresową średnią :
Enter Long :
CLOSE> mov(CLOSE, 10, SIMPLE)
Jeżeli nie wiesz czy ta długość jest optymalna możesz zastąpić ją zmienną OPT.
Zamień "10" z powyższej formuły tak jak poniżej :
Enter Long :
CLOSE> mov(CLOSE, OPT1, SIMPLE)
Zakres OPT1 (np. od 5 do 20 za krokiem 5) jest określany w oknie "Optimize" Edytora Systemów.
Testując ten system MetaStock wykona kilka testów, podstawiając kolejne wartości do reguł systemu tak jak to widać 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 przetestowaniu systemu program sporządzi cztery raporty ( jeden dla każdej optymalizowanej wartości).
Poniższy przykład demonstruje użycie kilku zmiennych "OPT" :
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 tests}
OPT2 :
minimum = 70, maximum = 80, step = 10 {2 tests}
W powyższym przykładzie OPT1 ma trzy możliwe wartości ( 20, 30 i 40), OPT2 ma dwie możliwe wartości ( 70 i 80). Ta kombinacja wymaga 6 testów ( 3 * 2 ) :
Test # OPT1 OPT2
1 20 70
2 30 70
3 40 70
4 20 80
5 30 80
6 40 80
http://advantagetrading.net/pl-metastock.html
17