Tworzenie własnych wskaźników


Tworzenie własnych wskaźników

___________________________________________________________________________

Co to jest Indicator Builder?

Mając tyle wbudowanych wskaźników, które oferuje program MetaStock, można się dziwić, dlaczego ktoś chciałby kiedykolwiek tworzyć swoje własne wskaźniki. Otóż, analiza techniczna ustawicznie rozwija się. Świeżo utworzony wskaźnik dzisiaj, wkrótce jest zastępowany przez inny. Dlatego też, program MetaStock dostarcza skutecznego narzędzia, zwanego Indicator Builder, które pozwala na tworzenie wskaźników.

Być może czytałeś o nowym wskaźniku w czasopiśmie fachowym lub książce. Za pomocą Indicator Building jesteś w stanie utworzyć ten nowy wskaźnik.

Indicator Builder jest przemyślanym „potężnym narzędziem”, które nie można używać tak jak typowego programu. Chcąc efektywnie wykorzystywać Indicator Builder, niezbędne jest rozumienie podstawowych pojęć matematycznych oraz wyrażeń logicznych.

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.

Informacje o programie Equis Solution Provider oraz MetaStock Developer's Kit uzyskasz pod adresem www.equis.com.

Wskaźniki utworzone w Indicator Builder są kreślone dokładnie tak samo, jak wbudowane wskaźniki. Możesz je przeciągać myszą z Indicator QuickList lub wykreślić okienka dialogowego Indicators.

Jeśli potrafisz pisać wzory w arkuszach kalkulacyjnych (tj. Microsoft Excel, Lotus 1-2-3, itp.), to prawdopodobnie nie będziesz miał problemów. Możesz rozpocząć pisanie wskaźników od razu. Jeśli tego nie potrafisz, nie martw się - Indicator Builder Tutorial szybko ci pomoże.

___________________________________________________________________________

Indicator Builder Tutorial

Podstawy

Dodatkowo, do uprzednio zdefiniowanych wskaźników wyszczególnionych w Indicator QuickList (patrz str. 178), program MetaStock dostarcza spory zbiór narzędzi, które możesz użyć do tworzenia i kreślenia własnych wskaźników. Rozdział ten wyjaśnia jak tworzyć i kreślić własne wskaźniki.

Chcąc tworzyć własne wskaźniki, najpierw musisz zapoznać się z językiem MetaStocka. Więcej szczegółowych informacji o języku MetaStocka znajdziesz na str. 257.

Możesz utworzyć ponad 1000 różnych wskaźników. Utworzone wskaźniki są automatycznie gromadzone przez program MetaStock, więc nie musisz wprowadzać wzoru za każdym razem, gdy chcesz go wykreślić.

Wzory utworzone za pomocą Indicator Builder oraz wzory używane do obliczeń wbudowanych wskaźników (tj. Stochastics, RSI, itp.) są całkowicie niezależne od siebie. Dokonanie zmiany we wskaźniku, nie ma żadnego wpływu na uprzednio zdefiniowane wskaźniki.

Okienko dialogowe Indicator Builder

Mając wykres na ekranie, wybierz Indicator Builder z menu Tools. Ukaże się okienko dialogowe Indicator Builder (wskaźniki na twojej liście będą różnić się od tych pokazanych poniżej). Okienko dialogowe Indicator Builder jest odskocznią do tworzenia nowych wskaźników i/lub edytowania istniejących wskaźników.

0x08 graphic

Jak utworzyć nowy wskaźnik

  1. Mając wyświetlone okienko dialogowe Indicator Builder, kliknij przycisk New. Wpisz nazwę wzoru jako „Tutorial”.

  2. Kliknij na polu Display in QuickList aby wskaźnik był dostępny w standardowym pasku narzędzi Indicator QuickList.

  3. Kliknij na polu Formula, gdzie możesz rozpocząć wpisywanie aktualnego wzoru.

0x08 graphic

  1. Wpisz poniższy wzór w polu Formula.

close-mov(close,20,simple)

Ten prosty wzór oblicza różnicę pomiędzy ceną zamknięcia a 20-okresową prostą średnią ruchomą cen zamknięcia. Więcej szczegółowych informacji o języku MetaStocka, znajdziesz na str. 257.

  1. Kliknij przycisk OK aby zapisać nowy wskaźnik o nazwie „Tutorial”.

Jak wykreślić nowy wskaźnik

  1. Kliknij Indicator QuickList (patrz str. 178) aby wyświetlić listę wskaźników.

0x08 graphic

  1. Z QuickList przeciągnij myszą wskaźnik o nazwie „Tutorial” nad pasek tytułowy wykresu. Otworzy się nowe okienko wewnętrzne, w którym będzie wykreślony ten wskaźnik.

Możesz zaznaczyć na liście wskaźników Indicator QuickList utworzony wskaźnik, korzystając ze specjalnej ikony znajdującej się z lewej strony nazwy wskaźnika.

0x08 graphic

___________________________________________________________________________

Okienko dialogowe Indicator Builder

Okienko dialogowe Indicator Builder zostaje wyświetlone po wybraniu Indicator Builder z menu Tools lub przycisku Indicator Builder na standardowym pasku narzędzi.

0x08 graphic

0x08 graphic

New

Wyświetla okienko dialogowe Indicator Editor, w którym możesz nazwać i zdefiniować nowy wskaźnik.

Edit

Wyświetla okienko dialogowe Indicator Editor, w którym możesz edytować zaznaczony wskaźnik.

Copy

Tworzy kopię zaznaczonego wskaźnika w okienku dialogowym Indicator Editor. Po wprowadzeniu każdej zmiany, naciśnij przycisk OK aby zapisać kopię wskaźnika. Więcej informacji o kopiowaniu wskaźników, znajdziesz na str. 331.

Delete

Kasuje zaznaczony wskaźnik. Więcej informacji o kasowaniu wskaźników, znajdziesz na str. 331. Podtrzymując klawisz SHIFT lub CTRL możesz zaznaczyć kilka wskaźników jednocześnie, klikając na nich myszą.

Print

Drukuje zaznaczony wskaźnik. Więcej informacji o drukowaniu wskaźników, znajdziesz na str. 331.

Organize

Wyświetla Formula Organizer Wizard, z którego możesz pobrać lub wysłać systemy eksploracji, systemy testujące, wskaźniki i porady eksperta. Używany wtedy, gdy nabywasz dodatkowe produkty od Equis lub kogoś innego. Więcej informacji o Formula Organizer Wizard, znajdziesz na str. 271.

___________________________________________________________________________

Okienko dialogowe Indicator Editor

Okienko dialogowe Indicator Editor wykorzystywane jest do tworzenia nowych oraz do edytowania istniejących wskaźników.

0x08 graphic

Name

Możesz wprowadzić nazwę zawierającą do 50 znaków. Nazwa, którą wprowadziłeś, ukaże się w pasku tytułowym okienka wewnętrznego, gdy wykreślisz ten wskaźnik. Lista wskaźników w okienku dialogowym Indicator Builder ułożona jest według nazw.

Display in QuickList

Zaznacz to pole, jeśli chcesz, aby nazwa wskaźnika ukazywała się w QuickList. Wskaźnik ten można bezpośrednio przeciągać myszą z QuickList, tak jak każdy inny wskaźnik (patrz str. 178).

Formula

W tym polu wprowadza się wzór wskaźnika. Wzór może zawierać do 2500 znaków w wielu wierszach. Gdy chcesz przejść do następnego wiersza, naciśnij klawisz ENTER. Uwagi, dotyczące używania kilku wierszy, znajdziesz na str. 269. Więcej informacji o języku MetaStocka, znajdziesz na str. 257.

Functions

Wyświetla okienko dialogowe Paste Functions, gdzie z listy możesz wybrać dostępne funkcje i wkleić je do swojego wzoru. Przycisk ten jest nieaktywny jeśli kursor znajduje się w polu Formula. Więcej informacji znajdziesz na str. 332.

Podczas edycji wzoru, możesz używać standardowych poleceń za pomocą klawiszy przyśpieszenia (patrz str. 270).

___________________________________________________________________________

Kopiowanie i kasowanie wskaźników

Używając przycisk Copy w okienku dialogowym Indicator Builder, możesz wykonać kopię zaznaczonego wskaźnika. Jest to bardzo użyteczne jeśli chcesz skonstruować nowy wskaźnik, który jest bardzo podobny do innego.

Na przykład, jeśli Custom Indicator A jest bardzo podobny do nowego wskaźnika, który chcesz utworzyć, powinieneś w celu zaoszczędzenia czasu użyć polecenia Copy w okienku dialogowym Indicator Builder, aby utworzyć jego kopię, niż go przepisywać. Możesz tak postępować jeśli chcesz dokonać niewielkie, niezbędne zmiany i następnie nadać tak zmienionemu wskaźnikowi nową nazwę.

Używając przycisk Delete w okienku dialogowym Indicator Builder, możesz skasować zaznaczony wskaźnik. Przycisk Delete wyświetla okienko dialogowe Delete Custom Indicator.

___________________________________________________________________________

Drukowanie wskaźników

Używając okienka dialogowego Print możesz drukować nazwy i/lub wzory zaznaczonych wskaźników na drukarce. Okienko dialogowe Print staje się dostępne wybierając Print z okienka dialogowego Indicator Builder.

0x08 graphic

Print What

Wybierz to, co chcesz drukować z zaznaczonego wskaźnika, tj. Names Only lub Names and Formulas.

Copies

Wybierz liczbę kopii do drukowania.

Print Range

Wybierz to, co chcesz drukować, tj. Selected Custom Indicator(s) lub All Custom Indicators.

Printer

Wyświetla okienko dialogowe, z którego możesz zaznaczyć żądaną drukarkę, zorientować wydruku i rozmiar papieru.

___________________________________________________________________________

Wklejanie funkcji do wzorów

Używając przycisk Functions znajdujący się na dole okienka dialogowego Indicator Editor, możesz wkleić funkcje bezpośrednio do wzoru, który jest edytowany. Ta właściwość nie tylko oszczędza czas, ale również uwalnia od potrzeby zapamiętywania funkcji (lub odwoływania się do podręcznika) oraz ich parametrów. (Informacje na temat listy dostępnych funkcji znajdziesz na str. 274)

0x08 graphic

Okienko dialogowe Paste Functions zawiera 11 kategorii funkcji, wyszczególnionych w polu Function Category po lewej stronie. Funkcje odpowiadające zaznaczonej kategorii są wyszczególnione po prawej stronie, z nazwami w wersji angielskiej lub nazwami funkcji, w zależności od tego czy zaznaczyłeś pole Show English Names. MSX DLL także będzie wyszczególniony jako kategoria wraz z jego załączonymi funkcjami. Więcej informacji o tworzeniu MSX DLL, używając MetaStock Developer's Kit, znajdziesz pod adresem www.equis.com.

Jeśli przewijasz listę Paste Function, składnia podświetlonej funkcji wyświetlana jest w dolnej części okienka dialogowego. Jeśli chcesz argumentów wklejanej funkcji, zaznacz pole Paste Arguments.

Kliknij przycisk OK (lub dwukrotnie na nazwie funkcji) aby wkleić zaznaczoną funkcję w miejscu, w którym znajduje się kursor.

Jak wklejać funkcje do wzoru

  1. Podczas edytowania wzoru w okienku dialogowym Indicator Editor, kliknij przycisk Functions.

  2. Kliknij na kategorii na liście Functions Category.

  3. Kliknij dwukrotnie na funkcji, którą chcesz wkleić.

___________________________________________________________________________

Tworzenie wskaźników składających się z kilku krzywych

W celu dokładnej interpretacji, wiele wskaźników wymaga dwóch lub więcej krzywych. Jednym z takich wskaźników jest MACD. MACD używa średniej ruchomej (zwanej linią sygnalną) do generowania sygnału przecięcia.

Każde nieoznaczone wyrażenie (tj. wyrażenie, które nie jest oznaczone zmienną) we wskaźniku, daje rezultat jako niezależna krzywa na wykresie. Na przykład, rezultatem poniższego wzoru wprowadzonego jako wskaźnik, są dwa wykresy:

DiffOfAvg:=mov(c,39,s)-mov(c,200,s);

DiffOfAvg;

Mov(DiffOfAvg,9,s;

Pierwszy wiersz oznacza wyrażenie „mov(c,39,s)-mov(c,200,s)” oznaczone zmienną o nazwie „DiffOfAvg”. Drugi wiersz daje jako rezultat wykres DiffOfAvg. Trzeci wiersz daje rezultat jako wykres 9-okresowej średniej ruchomej DiffOfAvg. Pamiętaj, że każde wyrażenie musi być zawarte w nawiasie.

Jeśli używasz funkcji fml( ) (patrz str. 264) jako nazwy wskaźnika zawierającego kilka krzywych, to funkcja fml( ) zwróci tylko ostatni wykres.

Na przykład, jeśli wzór używa funkcji fml( ) jako nazwy poniższego wskaźnika, to zwracana będzie tylko 10-okresowa średnia ruchoma, ponieważ jest to ostatni wykres.

mov(close,30,s);

mov(close,20,s);

mov(close,10,s);

Aby oznaczyć każdą krzywą innym kolorem, wykreśl wskaźnik i następnie zmień ustawienia każdej krzywej.

Jak oznaczyć różnymi kolorami krzywe wchodzące w skład jednego wskaźnika

  1. Wykreśl wskaźnik z listy QuickList w okienku dialogowym Indicators.

  2. Kliknij prawym przyciskiem myszy na krzywej, której kolor chcesz zmienić.

  3. Wybierz Properties z okienka, które się ukaże.

  4. Zmień kolor i następnie kliknij OK.

___________________________________________________________________________

Tworzenie wskaźników sugerujących wartości, które należy wprowadzić

Większość uprzednio zdefiniowanych wskaźników w programie MetaStock, podpowiada jakie dane powinieneś wprowadzić podczas ich obliczania (np. okresy czasowe, procenty, punkty, itp.). Do tworzonych wskaźników także możesz wprowadzić specjalną funkcję, zwaną input( ), która będzie sugerować jakie powinieneś wprowadzić dane.

Funkcja input( ) używa następującej składni:

input(„prompt text”,minimum value, maximumvalue, default value);

Prompt text

Definiuje tekst, który jest wyświetlany za polem wprowadzania. Używany jest do opisywanie tego, co należy wprowadzać.

Minimum value

Jest to najmniejsza wartość, która może być wprowadzona. Jeśli spróbujesz wprowadzić wartość mniejszą, niż ta wartość, program MetaStock wyświetli wiadomość.

Maximum value

Jest to największa wartość, która może być wprowadzona. Jeśli spróbujesz wprowadzić wartość większą, niż ta wartość, program MetaStock wyświetli wiadomość.

Default value

Jest to wartość domyślna (tj. wartość, która ukaże się w polu, gdy po raz pierwszy wyświetlisz okienko dialogowe). Pamiętaj, że wartość domyślna jest zawsze używana, gdy inny wzór przyzywa wskaźnik używający funkcji fml( ).

W obrębie wskaźnika można użyć maksymalnie sześć funkcji input( ). Program MetaStock zasugeruje podanie wszystkich wartości przed obliczeniem wskaźnika, bez względu na to, gdzie funkcje input( ) pojawiają się we wskaźniku. Wystarczy tylko, że użyjesz funkcji input( ) we wskaźniku. Systemy testujące, systemy eksploracji i porad eksperta nie akceptują funkcji input( ).

Jeśli użyjesz funkcji fml( ) (patrz str. 282) do przywoływania wskaźnika używającego funkcji input( ), to nie będziesz poproszony o wprowadzenie danych w przywoływanym wskaźniku. W takim przypadku przywoływana funkcja użyje ustawień domyślnych.

Niżej przedstawiony wskaźnik poprosi o wprowadzenie liczby okresów czasowych używanych przez średnią ruchomą (tj. okresy gładzenia) wskaźnika RSI:

SmoothingPeriods:=input(„Enter the number of RSI smoothing periods”,1,9,3);

mov(rsi(14),SmoothingPeriods,s);

Kiedy kreślony jest wskaźnik, ukazuje się poniższe okienko dialogowe danych wejściowych, które poprosi o „Enter the number of RSI smoothing periods”. Pamiętaj, że jeśli twój wskaźnik wymaga kilku danych wejściowych, o wszystkie te dane zostaniesz poproszony w tym okienku dialogowym.

0x08 graphic

W większości przypadków będziesz chciał oznaczyć funkcją input( ) zmienną (jak pokazano w powyższym przykładzie); w przeciwnym wypadku zakres jej używania jest bardzo ograniczony. Funkcja input( ) nie może być osadzona w obrębie innych funkcji. Na przykład, poniższe użycie funkcji input( ) jest nieprawidłowe:

mov(close,input(„Enter periods”,1,39,10),simple);

Jednakże, można napisać ten wzór używając zmiennej, jak poniżej:

maperiods:=input(„Enter periods”,1,39,10);

mov(close,maperiods,simple);

Jedną z potencjalnych możliwości użycia funkcji input( ) jest autonomiczne wyrażenie kreślące linię poziomą na określonej wartości:

Input(„Plot a horizontal line at „,1,10000,5);

Wskaźnik ten wykreśli linię poziomą, odpowiadającą wprowadzonej wartości. Może to być pomocne w wykreśleniu precyzyjnej linii poziomej (bardziej niż kreślenie poziomej linii studialnej) podczas kreślenia linii wsparcia/oporu.

___________________________________________________________________________

Przykładowe wskaźniki

Rozdział ten przedstawia przykłady kilku popularnych wskaźników napisanych w języku MetaStocka. Są one przedstawione w prostych przykładach. Wszystkie te wskaźniki są standardowymi wskaźnikami programu MetaStock (tj. nie potrzebujesz tworzyć tych wskaźników, aby je wykreślić). Jednakże, stanowią one dobry przykład zastosowania języka MetaStocka.

Informacje na temat interpretacji tych wskaźników, znajdziesz na str. 488.

Accumulation/Distribution

Wzór Accumulation/Distribution używa funkcji cum( ) (patrz str. 279) do obliczania sumarycznej wartości dziennej.

Cum((((C-L)-(H-C))/(H-L))*V)

Bollinger Bands

Bollinger Bands używa funkcji stdev( ) (patrz str. 299) do obliczania górnej i dolnej wstęgi. Średnia wstęga jest 20-okresową prostą średnią ruchomą.

Periods:=input(„Enter the number of periods:”,5,50,20);

mov(C,Periods,S);

mov(C,Periods,S)+(2*stdev(C,Periods));

mov(C,Periods,S)-(2*stdev(C,Periods))

Chaikin A/D Oscillator

Chaikin Oscillator może odwoływać się do uprzednio zdefiniowanego wskaźnika Accumulation/Distribution używając funkcji ad( ), tak jak poniżej.

ShortMA:=input(„Enter shorter moving average periods”,3,10,3);

LongMA:=input(„Enter longer moving average periods”,10,30,10);

mov(ad( ),ShortMA,E)-mov(ad( ),LongMA,E);

Lub, może zawierać aktualny wzór Accumulation/Distribution, tak jak poniżej.

mov(cum((((C-L)-(H-C))/(H-L))*V),3,E)-mov(cum((((C-L)-(H-C))/(H-L))*V),10,E)

Median Price

(high+low)/2

Momentum

Wzór Momentum używa funkcji ref( ) (patrz str. 298) do odwoływania się do ceny zamknięcia 12 okresów temu.

(close/ref(close,-12))*100

Moving Average MACD

Większość analityków (włączając w to Equis International) twierdzi, że wskaźnik MACD jest „różnicą pomiędzy 12-dniową i 26-dniową wykładniczą średnią ruchomą”. Jednakże, wskaźnik jest w rzeczywistości różnicą pomiędzy 0.15 i 0.075 wykładniczymi średnimi ruchomymi (natomiast, gdy wyrażenie posiada formę dziesiętną, 12 i 26-dniowe wykładnicze średnie ruchome są w rzeczywistości 0.153846 i 0.076923 wykładniczymi średnimi ruchomymi). Więcej informacji na temat metod obliczania wykładniczych średnich ruchomych, znajdziesz na str. 527.

Dzięki tym niewielkim różnicom w wartościach wykładniczych, poniższy wzór nieznacznie różni się od uprzednio zdefiniowanego wskaźnika MACD.

Pamiętaj, że możesz wykreślić prawdziwy wskaźnik MACD używając funkcji macd( ) (patrz str. 289).

mov(close,12,E)-mov(close,26,E)

Linia sygnalna MACD (która jest 9-dniową wykładniczą średnią ruchomą wskaźnika MACD) możne być obliczony tak jak poniżej:

mov(macd( ),9,E)

Negative Volume Index

Do obliczania uprzednio zdefiniowanego Negative Volume Index musisz użyć funkcji nvi( ). Jednakże, podobny wskaźnik może być obliczony przy pomocy poniższego wzoru:

cum(if(V<ref(V,-1),roc(C,1,%),0))

On Balance Volume

Poniższy wzór oblicza wskaźnik On Balance Volume:

(if(c>ref(c,-1),1,-1)*volume)+PREV

Pamiętaj, że stała PREV (patrz str. 268) przedstawia wartość wskaźnika w poprzednim dniu.

Positive Volume Index

Do obliczania uprzednio zdefiniowanego Positive Volume Index musisz użyć funkcji pvi( ). Jednakże, podobny wskaźnik możesz obliczyć używając poniższego wzoru:

cum(if(V>ref(V,-1),roc(C,1,%),0))

Price Oscillator

Poniższy wzór oblicza 10-okresowy/20-okresowy wykładniczy Price Oscillator wyrażony w punktach:

mov(close,10,E)-mov(close,20,E)

Poniższy wzór oblicza 10-okresowy/20-okresowy wykładniczy Price Oscillator wyrażony w procentach:

((mov(C,10,E)-mov(C,20,E))/mov(C,20,E))*100

Price Rate-Of-Change

Poniższy wzór oblicza 12-okresowy Price Rate-Of-Change:

((C-ref(C,-12))/ref(C,-12))*100

12-okresowy rate-of-change można także napisać używając funkcji roc( ), tak jak poniżej:

roc(close,12,%)

12-okresowy rate-of-change może być wyrażony w „punktach” używając poniższego wzoru:

close-ref(close,-12)

Price Volume Trend

Poniższy wzór, do obliczania Price Volume Trend, używa funkcji cum( ) (patrz str. 279):

cum(((C-ref(C,-1))/ref(C,-1))*V)

Wzór ten można także napisać używając funkcji roc( ) (patrz str. 297), tak jak poniżej:

cum(roc(close,1,%)*volume)

Standard Deviation

4-okresowy wskaźnik Standard Deviation może być napisany, tak jak poniżej. Pierwsze wyrażenie oznacza 4-okresową prostą średnią ruchomą zmiennej o nazwie „4PeriodMA”. Drugie wyrażenie sumuje kwadraty różnic pomiędzy średnią ruchomą, a cenami zamknięcia każdego z poprzednich czterech okresów. Następnie wzór oblicza pierwiastek kwadratowy tej sumy.

4PeriodMA:=Mov(CLOSE,4,S);

Sqrt((Power(4PeriodMA-C,2)+

Power((4PeriodMA)-Ref(C,-1),2)+

Power((4PeriodMA)-Ref(C,-2),2)+

Power((4PeriodMA)-Ref(C,-3),2))/4)

Łatwiejszym sposobem jest obliczenie pierwiastka kwadratowego funkcji rozbieżności, tak jak poniżej:

sqrt(var(close,4))

Oczywiście, łatwiejszą drogą jest napisanie wzoru Standard Deviation używając uprzednio zdefiniowanej funkcji stdev( ) (patrz str. 299).

Stochastic Momentum Index

Poniższy wzór oblicza 13,25,2 Stochastic Momentum Index.

100*(Mov(Mov(C-(0.5*(HHV(H,13)+

LLV(L,13))),25,E),2,E)/(0.5*Mov(Mov(HHV(H,13)-

LLV(L,13),25,E),2,E))

Stochastic Oscillator

Poniższy wzór oblicza 5-okresowy %K Stochastic Oscillator z 3-okresowym opóźnieniem:

(sum(C-llv(L,5),3)/sum(hhv(H,5)-llv(L,5),3))*100

Następny wzór oblicza 3-okresowy %D %K w poprzednim wzorze.

mov(stoch(5,3),3,S)

Volatility, Chaikin

Wzór Volatility pokazany poniżej używa 10-okresów w średniej ruchomej i 12-okresów w rate-of-change:

roc(mov(high-low,10,E),12,%)

Volume Oscillator

Poniższy wzór oblicza 10-okresowy/20-okresowy wykładniczy Volume Oscillator wyrażony w punktach.

mov(volume,10,E)-mov(volume,20,E)

Następny wzór oblicza 10-okresowy/20-okresowy wykładniczy Volume Oscillator wyrażony w procentach.

((mov(V,10,E)-mov(V,20,E))/mov(V,20,E))*100

Volume Rate-Of-Change

Poniższy wzór stanowi 12-okresowy wskaźnik Rate-Of-Change.

((V-ref(V,-12))/ref(V,-12))*100

Może on być napisany przy użyciu funkcji roc( ), tak jak poniżej:

roc(volume,12,%)

Weighted Close

Wzór Weighted Close mnoży cenę zamknięcia przez dwa, dodaje wartość maksymalną do minimalnej i następnie wynik dzieli przez cztery.

((close*2)+high+low)/4

Williams' Accumulation/Distribution

Upraszczając objaśnienie tego wzoru, wprowadzimy go jako trzy wzory. Pierwsze wyrażenie oznacza „prawdziwą wartość” maksimum zmiennej. Podobnie, drugi wzór oznacza „prawdziwą wartość” minimum zmiennej. Trzeci wzór oblicza wskaźnik Williams' A/D.

TrueRangeHigh:=max(ref(close,-1),high);

TrueRangeLow:=min(ref(close,-1),low);

Cum(if(C>ref(C,-1),C-TrueRangeLow,if(C<ref(C,-1),C-TrueRangeHigh,0)))

Williams' %R

Ten wzór oblicza wskaźnik Williams' %R. Pamiętaj, że wzór jest odwrócony przez pomnożenie go przez -100.

NumPeriods:=Input(„Enter the number of periods:”,3,50,14);

((HHV(H,NumPeriods)-C)/(HHV(H,NumPeriods)-LLV(L,NumPeriods)))*100;

___________________________________________________________________________

Podwójne fale Achelisa

Rozdział ten wyjaśnia, jak można wykorzystywać wskaźniki do tworzenia wskaźnika „Binary Wave”, który wyświetla ocenę techniczną papieru wartościowego. Koncepcję tego wskaźnika opracował Steven Achelis, prezydent Equis International.

Koncepcja Binary Wave jest trochę skomplikowana. Przed przeczytaniem tego rozdziału, powinieneś najpierw dokładnie zapoznać się ze wskaźnikami.

Binary Wave

Binary Wave kreśli +1 lub -1, w zależności od tego, który wskaźnik interpretuje wzrost lub spadek. (Składniki „Binary Wave” zasadzają się na koncepcji ±1). Rzeczywista siła Binary Wave występuje wtedy, gdy kilka Binary Wave zostało połączonych ze sobą w jeden wskaźnik Binary Waves.

0x08 graphic

Binary Waves są przeciwieństwem --> [Author:w] czarnego pola systemów transakcyjnych (aczkolwiek obydwa są uważane za „systemy eksperckie”). Nie znasz reguł lub wskaźników, które używane są do analizy papierów wartościowych w czarnym polu. Odwrotnie, sam ustalasz reguły i wskaźniki w Binary Waves.

Przykłady Binary Waves

Poniższa tabela pokazuje reguły wykorzystywane w czterech wskaźnikach Binary Wave. (Aby pomóc w zrozumieniu tych przykładów, użyliśmy tylko cztery Binary Wave oraz bardzo proste kryteria. Jednakże, możesz i powinieneś je zmodyfikować na podstawie swojego własnego doświadczenia).

Wskaźnik

Wzrost

Spadek

MACD

>linii sygnalnej

<=linii sygnalnej

Średnia ruchoma

zamknięcie>śr. ruchomej

Zamknięcie<=śr. Ruchomej

Rate-Of-Change

Rate-Of-Change>0

Rate-Of-Change<=0

Stochastic

>50

<=50

Jak pokazano w tej tabeli, uważamy że MACD sygnalizuje wzrost, gdy znajduje się ponad linią sygnalną i sygnalizuje spadek, gdy jest równy lub znajduje się pod linią sygnalną. Tak więc, Binary Wave wykreśli ±1, w zależności od tego, czy MACD ponad czy poniżej linii sygnalnej. Ta sama koncepcja wykorzystywana jest przy tworzeniu trzech dodatkowych Binary Wave, które kreślą ±1 na podstawie zachowania innych wskaźników.

Połączmy te cztery Binary Wave w jeden, złożony Binary Waves. Gdy wszystkie cztery Binary Wave sygnalizują wzrost, wartość tego złożonego Binary Waves będzie +4; Gdy wszystkie cztery Binary Wave sygnalizują spadek, jego wartość będzie wynosić -4; gdy dwa z nich sygnalizują wzrost i dwa sygnalizują spadek, jego wartość będzie wynosić zero.

Wprowadzanie przykładu

Każdy pojedynczy Binary Wave, wchodzący w skład wskaźnika Binary Waves (nazwanego „Total Wave”), powinien być oznaczony zmienną i zsumowany, tak jak poniżej.

MACDWave:=if(macd( )>mov(macd( ),9,E),+1,-1);

MovWave:=if(C>mov(C,20,E),+1,-1);

ROCWave:=if(roc(C,12,%)>0,+1,-1);

StochWave:=if(stoch(5,3)>50,+1,-1);

MACDWave=MovWave+ROCWave+StochWave

Pierwszy wzór oznacza „+1”, jeśli wskaźnik MACD znajduje się ponad 9-okresową linią sygnalną. W przeciwnym wypadku, oznacza „-1”. Drugi wzór oznacza „+1”, jeśli zamknięcie znajduje się ponad 20-okresową wykładniczą średnią ruchomą. W przeciwnym wypadku, oznacza „-1”. Trzeci wzór oznacza „+1”, jeśli 12-okresowy rate-of-change cen zamknięcia jest większy niż 0. W przeciwnym wypadku, oznacza „-1”. Czwarty wzór oznacza „+1”, jeśli Stochastic Oscillator znajduje się ponad 50. W przeciwnym wypadku, oznacza „-1”. Piąty wzór składa się z poprzednich czterech zmiennych Binary Wave, zsumowanych w jeden złożony Binary Wave.

Poniższy wykres pokazuje rezultat:

0x08 graphic

Pamiętaj, że dobry, złożony Binary Wave, będzie dawał wyniki, które są nadrzędne w stosunku do wyników generowanych przez pojedyncze Binary Wave, wchodzące w jego skład.

Interpretacja Binary Wave

Interpretacja Binary Wave jest całkowicie oczywista: maksymalne wartości są sygnałem wzrostu, a minimalne wartości są sygnałem spadku. (Pamiętaj, że pojedyncze Binary Wave kreślą +1 lub -1; Znaczenie złożonego Binary Wave zależy od liczby pojedynczych Binary Wave).

System testujący „Total Wave” (pokazany poniżej) wprowadza długą pozycję, gdy wskaźnik staje się większy od zera i wprowadza krótką pozycję, jeśli wskaźnik staje się mniejszy od zera. Więcej informacji o tworzeniu systemów testujących, znajdziesz na str. 359.

Name :Total Wave

Enter Long :fml(„Total Wave”)<0

Close Long :fml(„Total Wave”)>0

Enter Short :fml(„Total Wave”)>0

Close Short :fml(„Total Wave”)<0

Możesz także utworzyć wzór „MACD-type” kreśląc różnię pomiędzy dwiema średnimi ruchomymi złożonego Binary Wave. Taki wzór powinien być napisany jak poniżej (nazwa wzoru „Smooth Total Wave”):

mov(fml(„Total Wave”),12,E)-mov(fml(„Total Wave”),26,E)

Sposobem ustalenia reguły tego co system ma testować za pomocą powyższego wzoru, jest na przykład reguła otwierania długiej pozycji, tak jak pokazano to poniżej:

Enter Long :fml(„Smooth Total Wave”)>0

Ulepszenia

We wzorach Binary Wave można wprowadzić wiele ulepszeń. Kilka z nich przedstawiono poniżej.

if(CLOSE>mov(CLOSE,200,EXPONENTIAL),+10,-10)

Powyższy wzór doda ±10, w zależności od tego czy cena zamknięcia była powyżej lub poniżej swojej 200-dniowej średniej ruchomej. Tak więc, złożony Binary Wave będzie w granicach pomiędzy +6 i +14, gdy długoterminowy składnik będzie wzrostowy oraz będzie w granicach pomiędzy -6 i -14, gdy będzie on malejący. Możesz otworzyć długą pozycję, gdy złożony Binary Wave przekroczy +10, zamknąć długą pozycję, gdy spadnie poniżej +10, otworzyć krótką pozycję, gdy spadnie poniżej -10 oraz zamknąć krótką pozycję, gdy wzrośnie powyżej -10.

if(stoch(5,3)<20,{then}-2,

{else}if(stoch(5,3)<40,{then}-1,

{else}if(stoch(5,3)<60,(then}0,

{else}if(stoch(5,3)<80,{then}+1,

{else}+2))))

Roc(fml(„Total Wave”),1,$)

Za każdym razem, gdy ten wskaźnik jest większy od zera, to oznacza, że co najmniej jeden ze wskaźników, wchodzący w skład Binary Wave, sygnalizuje wzrost. Podobnie, gdy jest mniejszy od zera, to oznacza, że jeden z nich sygnalizuje spadek.

Podsumowanie

Pojedynczy Binary Wave wyświetla ocenę (np. „jest wzrost, gdy MACD jest powyżej swojej 9-okresowej średniej ruchomej”) jako ±1. Złożony Binary Wave składający się z kilku pojedynczych Binary Wave, ilustruje twoją analizą papieru wartościowego na podstawie kilku wskaźników jednocześnie.

___________________________________________________________________________

Błędy

Błędy matematyczne

Jeśli spróbujesz wykreślić (lub wykonać) wzór, który zawiera błąd matematyczny, przed wykreśleniem wskaźnika ukaże się poniższe okienko dialogowe. To okienko dialogowe pokazuje liczbę wszystkich występujących rodzajów błędów.

0x08 graphic

Division by zero

Wzór jest dzielony przez zero. Na przykład, wzór „(ref(close,-1)-open)/(high-low)” będzie dzielony przez zero, gdy maksimum i minimum są sobie równe.

Invalid exponentiation

Wzór powoduje błąd matematyczny przez nieprawidłowe użycie wykładnika.

Invalid log

Wzór próbuje obliczyć logarytm z zera lub logarytm z liczby ujemnej. Na przykład, wzór „log(high-low)” będzie powodować błąd, gdy maksimum i minimum będą sobie równe.

Invalid power

Wzór próbuje obliczyć ujemną liczbę podniesioną do potęgi mniejszej niż jeden.

Modulus by zero

Drugie pole danych funkcji mod( ) jest równe zeru. Na przykład, wzór „mod(close, high-low)” spowoduje błąd, gdy maksimum i minimum będą sobie równe.

Negative square root

Twój wzór próbuje obliczyć pierwiastek kwadratowy liczby ujemnej. Na przykład, wzór „sqrt(open-close)” spowoduje błąd, gdy zamknięcie jest większe niż otwarcie.

Błąd wskaźnika

Okienko dialogowe Custom Indicator Error wyświetli się jeśli wystąpi błąd przetwarzania podczas obliczania wskaźnika. Każdy błąd, który nie jest błędem matematycznym, kwalifikuje się jako błąd przetwarzania.

0x08 graphic

Remove this indicator from the chart

Wskaźnik jest usuwany z wykresu i nie będzie ponownie obliczany.

Keep this indicator in the chart

Wskaźnik będzie ponownie obliczony przy następnej aktualizacji danych wykresu i wszystkie błędy, które występują będą raportowane.

Don't show future errors for this indicator in this chart

Wskaźnik będzie ponownie obliczony podczas następnej aktualizacji danych wykresu. Wszystkie błędy, który występują nie będą raportowane. Pamiętaj, że błędy będą ukrywane tylko dla wskaźnika w aktualnym wykresie.

Pamiętaj, że to okienko dialogowe może także ukazać się, jeśli zmieniłeś folder wyszczególniony na stronie File Locations w okienku dialogowym Application Options (patrz str. 42).

1

346

przeciwieństwem

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Obliczanie własnych wskaźników antropometrycznych, referaty i materiały, biologia, doświadczenia
MS Office 2000 i 2002 XP Tworzenie własnych aplikacji w VBA
05 Tworzenie wlasnych regul SNORT
05 Tworzenie wlasnych regul SNORT cwiczenia
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA 2
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA ofvba
MS Office Tworzenie wlasnych aplikacji w VBA
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA ofvba
MS Office 2000 i 2002 XP Tworzenie własnych aplikacji w VBA
Adobe Photoshop Elements 10 Tworzenie własnych pędzli
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA ofvba
Tworzenie wlasnych skrotow klawiszowych
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA ofvba
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA
informatyka wordpress tworzenie wlasnych motywow alan cole ebook
Bootstrap Tworzenie wlasnych stylow graficznych bootgr
MS Office 2000 i 2002 XP Tworzenie wlasnych aplikacji w VBA ofvba
Metodologia SPSS Jakub Niewiarkowski ćwiczenia 7 Tworzenie wskaźników
Kluczowe wskazniki efektywnosci KPI Tworzenie wdrazanie i stosowanie

więcej podobnych podstron