Język MetaStocka
___________________________________________________________________________
Co to jest język MetaStocka ?
Język MetaStocka, jest to specjalny język programowania używany do definiowania i tworzenia wskaźników, systemów testujących, eksploracji i porad eksperta. Wzoruje się on na popularnym języku, używanym do tworzenia arkuszy kalkulacyjnych.
W swojej przystępnej formie, język MetaStocka obejmuje funkcje wyższego rzędu (tj. mov( ), rsi( ), abs( ) ), operatory matematyczne (tj. +, -, /, *) oraz parametry (tj. open, high, low, close, itp.). Wszystkie te składniki można łączyć ze sobą, w celu utworzenia własnego wskaźnika za pomocą Indicator Builder, przetestowania strategii inwestycyjnej za pomocą System Tester, uszeregowania i przefiltrowania papierów wartościowych za pomocą The Explorer oraz utworzenia specyficznych oznaczeń w tle wykresu za pomocą Expert Advisor.
Chcąc efektywnie wykorzystywać Indicator Builder, System Tester, Explorer oraz Expert Advisor musisz dokładnie zapoznać się z językiem MetaStocka. Podstawą i wspólnym ogniwem każdego z tych czterech narzędzi, jest język MetaStocka.
Wskaźniki |
System Testujący |
Eksploracja |
Porady Eksperta |
Język MetaStocka |
Do nauki języka MetaStocka w tym rozdziale, będzie wykorzystywany Indicator Builder. Każde z czterech podstawowych narzędzi posiada swój własny rozdział, który polecamy przejrzeć.
Informacje o Equis Solution Provider oraz MetaStock Developers Kit, znajdziesz pod adresem internetowym www.equis.com.
___________________________________________________________________________
Identyfikatory ustawienia ceny
Jednym z najbardziej podstawowym składnikiem języka MetaStocka jest wzór, zwany identyfikatorem ustawienia ceny. Wzór ten służy do identyfikowania ściśle określonych pól ceny, na których powinien zadziałać identyfikator ustawienia ceny. Obowiązującymi identyfikatorami ustawienia ceny są open, high, low, close, volume, open interest oraz indicator.
Zamiast pełnej nazwy identyfikatora ustawienia ceny można użyć skrótów, tak jak w poniższej tabeli.
Pełna nazwa |
Skrót |
Open |
O |
High |
H |
Low |
L |
Close |
C |
Volume |
V |
Open Interest |
OI |
Indicator |
P |
Previous Value |
PREV |
Przykładowe użycie identyfikatora ustawienia ceny we wzorach, pokazane jest poniżej. W tych przykładach, aktualny identyfikator ustawienia ceny wchodzący w skład wzoru, zaznaczony jest tłustym drukiem.
mov( close,10, simple )
if (h > ref(h,-1), mov(h,20,s), mov(c,20,s) )
stdev( volume, 20 )
___________________________________________________________________________
Operatory matematyczne
Matematyczne operatory są „klejem”, który wiąże wzory. Wzory mogą zawierać poniższe operatory matematyczne. (Mogą zawierać także jak wyjaśnimy później, operatory wyższe, takie jak pierwiastek kwadratowy).
+ dodawanie
odejmowanie (lub negacja)
* mnożenie
/ dzielenie
Poniższe przykłady ilustrują jak używać operatory matematyczne (wytłuszczone) w formułach:
( H + L )/2
mov(c,10,s)-mov(c,20,s)/(h+1+c)
close + ((1.02 * high)-high)
___________________________________________________________________________
Operatory pierwszeństwa
Używane, wiele razy w tym rozdziale, nawiasy poprzedzające wzory, decydują o pierwszeństwie wykonywania obliczeń matematycznych (kolejności, w jakiej są wykonywane). Program MetaStock wykonuje najpierw te działania, które znajdują się w obrębie nawiasów wewnętrznych.
Gdy nie są używane nawiasy, kolejność jest następująca:
- wartość ujemna
* mnożenie
/ dzielenie
+ dodawanie
- odejmowanie
< mniejsze niż
> większe niż
<= mniejsze lub równe
>= większe lub równe
= równa się
<> nierówna się
And logiczne „i”
Or logiczne „lub”
:= oznaczenie operatora zmiennej
Wyrażenie „H + L/2” (bez nawiasów) może być obliczane przez program MetaStock jako „L/2” plus „H”, ponieważ dzielenie ma pierwszeństwo. Rezultat takiego obliczenia będzie się znacznie różnić od obliczenia wartości „(H + L)/2”.
Dla przejrzystości, polecamy abyś zawsze używał nawiasów do określania pierwszeństwa wykonywania działań.
___________________________________________________________________________
Wzory funkcji
Oprócz czterech operatorów matematycznych, program MetaStock dodatkowo zawiera ponad 200 „funkcji”, które spełniają rolę działań matematycznych. Na str. 274 znajdziesz kompletną listę wszystkich wbudowanych funkcji.
Poniższy wzór składa się z pojedynczej funkcji, która kreśli pierwiastek kwadratowy cen zamknięcia. Nazwy aktualnych funkcji w poniższych przykładach, zostały wytłuszczone.
sqrt(CLOSE)
Poniższy wzór składa się z pojedynczej funkcji, która kreśli 14-okresowy wskaźnik RSI.
rsi(14)
Poniższy wzór składa się z pojedynczej funkcji, która kreśli 10-okresową prostą średnią ruchomą.
mov(c,10,s)
Poniższy wzór składa się z dwóch funkcji. Rezultatem jest różnica pomiędzy wskaźnikiem MACD a 9-okresową wykładniczą średnią ruchomą MACD.
macd( )- mov(macd( ),9,exponential)
Jak już prawdopodobnie zauważyłeś, składnia jest bardzo podobna do składni używanej do wprowadzania wzorów w arkuszach kalkulacyjnych.
Po nazwie funkcji musi wystąpić para nawiasów. Jeśli pierwszym znakiem za nazwą funkcji nie będzie znak nawiasu, to zostanie wyświetlony komunikat błędu.
___________________________________________________________________________
Parametry funkcji
Parametry dostarczają funkcji niezbędnej informacji wymaganej do obliczeń. Na przykład, funkcja sqrt( ) wymaga pojedynczego parametru w obrębie nawiasów. Inne funkcje, tak jak macd( ), nie wymagają żadnych parametrów. Inne, jak Volume Oscillator wymagają czterech parametrów.
Poniższy wzór oblicza 14-okresowy Money Flow Index. We wszystkich przykładach, aktualne parametry zostały wytłuszczone.
mfi(14)
Niektóre funkcje wymagają kilku parametrów w obrębie nawiasów. Na przykład, funkcja średniej ruchomej (pokazanej poniżej) wymaga trzech parametrów.
mov(rsi(14),30,simple)
W powyższym wzorze, parametry nakazują programowi MetaStock obliczać 30-okresową prostą średnią ruchomą 14-okresowego RSI. Pamiętaj, że inna funkcja (tj. rsi(14)) służy jako jeden z parametrów.
Jeśli zapomniałeś wstawić prawidłowy parametr, program MetaStock wyświetli okienko przypominające o potrzebie wprowadzenia parametru.
___________________________________________________________________________
Znajdowanie błędów we wzorach
Program MetaStock wykonuje świetną pracę, komunikując o błędach we wzorach. I rzeczywiście, jest niemożliwością wprowadzenie błędnego wzoru. To nie oznacza, że wzory będą działać tak jak się tego spodziewasz, ponieważ program MetaStock nie wie co chcesz utworzyć. Jednakże oznacza to, że składnia wzorów (tj. nazwa funkcji, parametry, operatory, nawiasy, itp.) będzie zawsze poprawna.
Kiedy wpisujesz wzór, program MetaStock sprawdza składnię wzoru. Jeśli jest jakiś błąd, wzór zostanie ponownie wyświetlony, a kursor zostanie umieszczony w miejscu, gdzie jest błąd. Równocześnie zostanie wyświetlony komunikat, wyjaśniający co należy zrobić aby naprawić błąd.
Dzięki technice komunikowania o błędach, program MetaStock pomoże wprowadzić prawidłowy wzór. Pokazuje to poniższy przykład.
Załóżmy, że chcesz wykreślić wzór będący 10-okresową logarytmiczną średnią ruchomą cen zamknięcia oraz pamiętasz, że skrót funkcji średniej ruchomej brzmi „mov” (jeśli nie pamiętasz nazwy funkcji, patrz str. 332).
Wybierz Indicator Builder z menu Tools. Z okienka dialogowego, które się ukaże, wybierz polecenie New. Wyświetli się okienko dialogowe Indicator Editor. W okienku Formula wprowadź to co wiesz na temat wzoru, który chcesz wpisać. Np. wpisz
mov
i naciśnij OK.
W tym momencie wyświetli się komunikat „An `(` must immediately follow a function name.” (bezpośrednio za nazwą funkcji musi znajdować się nawias), a kursor będzie znajdować się w miejscu, w którym należy wpisać nawias.
Teraz wpisz nawias otwierający
mov(
i kliknij OK.
W tym momencie pojawi się komunikat „Price array (e.g., HIGH, LOW, CLOSE, etc) or function expected.” (spodziewane jest cena (np. maksimum, minimum, zamknięcie, itp.) lub nazwa funkcji), a kursor będzie znajdować się w miejscu, w którym należy to wpisać.
Wpisz identyfikator pola ceny „CLOSE”.
mov(CLOSE
i kliknij OK.
Jeśli będziesz kontynuować te czynności (tj. wprowadzał wzór stopniowo i następnie reagował na komunikaty błędu), to program MetaStock będzie podpowiadać w czasie procesu wpisywania wzoru, aż do chwili, gdy składnia wzoru będzie prawidłowa (pokazana poniżej).
mov(CLOSE,10,EXPONENTIAL)
Jest to bardzo cenna technika. Za każdym razem, kiedy nie jesteś pewien składni wzoru lub funkcji, kliknij OK.
___________________________________________________________________________
Wstawianie funkcji
W poprzednim podrozdziale wyjaśniono, jak program MetaStock pomaga poprawić błąd w składni w obrębie wzoru. Ten podrozdział wyjaśnia, jak program MetaStock może pomóc przypomnieć i wpisać ponad 200 funkcji.
Wybierz Indicator Builder z menu Tools. Z okienka dialogowego, które się ukaże, wybierz polecenie New. Wyświetli się okienko dialogowe Indicator Editor. Podczas edytowania jakiejś funkcji w okienku Formula, kliknij przycisk Functions. Wyświetli się okienko dialogowe Paste Functions. W polu Function Category, po lewej stronie, wyświetlona jest lista nazw kategorii funkcji, natomiast w polu Paste Function, po prawej stronie, wyświetlona jest lista nazw funkcji, odpowiadająca danej kategorii.
Eksploracja okienka dialogowego Paste Functions jest znakomitą drogą do lepszego poznania wzorów. Klikając OK gdy wyświetlone jest okienko dialogowe Paste Functions, wstawisz funkcję, której nazwa jest aktualnie podświetlona, do wzoru (w miejsce odpowiadające położeniu kursora). Zaznaczając pole Paste Arguments, można wstawić funkcję wraz z rodzajem wymaganego argumentu (jeśli jest wymagany). Zaznaczając lub zostawiając puste pole Show English Names, możesz wyświetlić w polu Paste Function po prawej stronie okienka dialogowego Paste Functions, aktualne nazwy funkcji lub nazwy angielskie tych funkcji.
Więcej informacji o wstawianiu funkcji do wzorów, znajdziesz na str. 332.
___________________________________________________________________________
Wpisywanie komentarzy
Gdy tworzone są długie, skomplikowane wzory, pomocnym jest wstawienie komentarzy opisujących poszczególne części wzoru. Doświadczeni programiści poświadczą fakt, że rozważnie użyte komentarze, czynią szyfr programujący znacznie łatwiejszym do poprawiania i pracy.
Komentarze można wprowadzić do wzoru, otaczając je nawiasami klamrowymi, tj. { lub }. Poniższe wzory zawierają dwa komentarze (napisane tłustym drukiem).
macd( ) {the MACD times} * ((H+L+C) / 3 {the average price}
Pamiętaj, że umieszczenie komentarza w obrębie innego komentarza, spowoduje wyświetlenie komunikatu błędu.
___________________________________________________________________________
Zagnieżdżanie funkcji
Jak wynika z wcześniejszych przykładów, funkcja może być „zagnieżdżona” w obrębie innej funkcji. Zagnieżdżona funkcja może służyć jako główny parametr pola danych. Poniższe przykłady pokazują funkcje zagnieżdżone w obrębie innych funkcji. Zagnieżdżone funkcje napisane są tłustym drukiem.
stdev( stoch(5,3), 10 )
mov( rsi(15), 10 SIMPLE)
mov( mov( rsi(15), 20, W), 10, SIMPLE)
W pierwszym przykładzie, najpierw obliczany jest oscylator stochastyczny, a następnie obliczane jest 10-okresowe odchylenie standardowe oscylatora stochastycznego.
W drugim przykładzie obliczana jest 10-okresowa prosta średnia ruchoma 15-okresowego RSI.
W trzecim przykładzie obliczana jest najpierw 20-okresowa ważona średnia ruchoma 15-okresowego RSI, a następnie obliczana jest 10-okresowa prosta średnia ruchoma tej średniej ruchomej.
Ta technika (umieszczania funkcji w obrębie funkcji) jest zwana „zagnieżdżaniem funkcji”.
___________________________________________________________________________
Funkcja if( )
Funkcja if( ) używana jest do tworzenia trybu warunkowego (tj. „jeśli-to”). Prawdopodobnie jest ona najczęściej używaną funkcją w języku MetaStocka. Zawiera ona trzy parametry, jak pokazano w poniższym przykładzie.
if(close>mov(c,10,s),rsi(9),rsi(14))
Powyższe wyrażenie należy czytać następująco: Jeśli dzisiejsze zamknięcie jest większe niż dzisiejsza 10-dniowa prosta średnia ruchoma cen zamknięcia, to rysuj 9-dniowy RSI; w przeciwnym przypadku rysuj 14-dniowy RSI.
Następny wzór kreśli „wartość dodatnią”, jeśli zamknięcie jest większe niż mediana ceny. W przeciwnym wypadku rysowana jest „wartość ujemna”.
if(CLOSE>((HIGH+LOW)/2,+V,-V)
Dobrym przykładem funkcji if( ) może być wzór wskaźnika On Balance Volume (patrz str. 337).
Jeśli jakieś wyrażenie chcesz ocenić tylko jako prawdę lub fałsz, możesz to zrobić bez potrzeby używania funkcji if( ). Poniższy wzór daje wynik 1 (prawda) lub 0 (fałsz).
rsi(14)>70
Jeśli 14-okresowy RSI jest większy niż 70, to wzór oceni to jako „prawda” i zwróci liczbę 1. Jeśli jest mniejszy niż 70, to wzór oceni to jako „fałsz” i zwróci liczbę 0. Jest to wykonane bez użycia funkcji if( ). Poniższy wzór używa funkcji if( ) i daje taki sam rezultat, jednak sam wzór jest trochę dłuższy.
if(rsi(14)>70,1,0)
___________________________________________________________________________
Używanie operatorów „and” oraz „or”
Jeśli wzór wymaga kilku warunków, możesz połączyć je za pomocą operatorów „and” oraz „or”. Na przykład, chcesz narysować +1, jeśli MACD jest większy od zera i RSI jest większy niż 70. Wzór może być napisany na dwa sposoby:
macd( )>0 and rsi(14)>70
lub
if(macd( )>0 and rsi(14)>70,+1,0)
Możesz dodać tyle warunków w obrębie wzoru, na ile pozwala miejsce. Na przykład:
if(macd( )>0 and rsi(14)>70 and CCI(14)>100 and close> mov close, 10,e),+1,0)
Możesz zawsze połączyć operatory AND oraz OR w obrębie tego samego wzoru, jak poniżej:
if((macd( )>0 OR close>mov(close,10,e)) AND rsi(14)>70,+1,0)
Wzór powyżej mówi: Wykreśl +1 jeśli MACD jest większy niż zero lub zamknięcie jest powyżej średniej ruchomej i RSI jest większe niż 70.
Pamiętaj, że dookoła warunku OR zostały umieszczone nawiasy, ponieważ określają one pierwszeństwo tego, że najpierw będzie oszacowany warunek AND. Jeśli nawiasy nie zostaną umieszczone dookoła warunku OR, średnia ruchoma i RSI powinny być zgrupowane razem z warunkiem AND.
___________________________________________________________________________
Odwoływanie się do istniejących wskaźników
Używając funkcji fml( ) możesz odwołać się do innych wskaźników. Na przykład funkcja „fml(„My MACD”)” jest wartością wzoru zawierającego tekst „My MACD” w swojej nazwie. Cała nazwa nie jest wymagana - wystarczy tylko podać charakterystyczną część nazwy. Polecamy jednak aby nazwa wzoru, do którego chcesz się odwołać, była dobrana z namysłem. A więc, jeśli istnieje inny wzór zawierający nazwę „My MACD”, np. o nazwie „My MACD2”, użycie odwołania w postaci „My MACD” może spowodować, że program MetaStock odwoła się do błędnego wzoru.
W poniższym przykładzie kreślona jest wartość wzoru o nazwie „Down Day” gdy zamknięcie jest mniejsze lub równe 10-okresowej logarytmicznej średniej ruchomej cen zamknięcia. W przeciwnym wypadku kreślona jest wartość wzoru o nazwie „Up Day”.
if(close<=mov(close,10,E),fml(„Down Day”),fml(„Up Day”))
Ta technika (odwoływania się do innych wzorów) zwana jest „zagnieżdżaniem wzorów”. Używanie zagnieżdżonych wzorów jest dobrym sposobem na upraszczanie długich, skomplikowanych wzorów zawierających warunek and/or.
Pamiętaj także, że zagnieżdżone wzory mogą odwoływać się do zagnieżdżonych wzorów, które odwołują się do zagnieżdżonych wzorów, itd. Jednakże niektóre okrężne odwoływania (np. wzór „My MACD” odwołujący się do wzoru „My RSI”, który odwołuje się do wzoru „My MACD”) spowodują wyświetlenie się komunikatu błędu, w czasie kreślenia wzoru.
Jeśli odwołano się do wzoru wielowykresowego, to zwracana jest wartość tylko ostatniego wykresu wzoru wielowykresowego.
Jeśli chcesz odwołać się do konkretnej wartości zmiennej w jakimś wskaźniku, to zamiast wartości tego wskaźnika, użyj funkcji fmlvar( ) (patrz str. 267).
___________________________________________________________________________
Używanie zmiennych do udoskonalania i upraszczania wzorów
W celu skrócenia, uproszczenia, udoskonalenia i poprawienia skomplikowanych wzorów, należy użyć zmiennych. Zmienna jest alfanumeryczną nazwą (do 20 znaków), która oznacza wartość wyrażenia lub pojedynczą wartość. We wzorze można użyć do 20 zmiennych. Przed zastosowaniem ich we wzorze, zmienne muszą być oznaczone. Na końcu wiersza oznaczającego zmienną, musi być użyty średnik. Zmienne nie mogą być oznaczane w obrębie funkcji.
Nadawanie nazw zmiennym
Do nadawania nazw zmiennym, mają zastosowanie poniższe prawa:
nazwy zmiennej nie mogą zawierać przecinków, nawiasów, spacji, podkreśleń, itp.
nazwy zmiennych nie mogą być nazwami używanymi do oznaczania funkcji (np. mov, rsi, cci, if, itd.),
zmienne nie mogą być oznaczone nazwą, która jest zastrzeżona dla nazwy parametru używanego przez funkcję (np. open, high, low, close, simple, o, c, l, h, s, e, w, itp.); poniżej przedstawiono przykład błędnego oznaczenia zmiennej, co powoduje wyświetlenie komunikatu błędu, ponieważ litera „s” jest zastrzeżona dla funkcji średniej ruchomej i oznacza „simple”.
S:=(h+l+c)/3;
nazwy zmiennej muszą zawierać co najmniej jedną literę alfabetu (np. T1234),
nazwa zmiennej napisana małymi literami, odczytywana jest przez program MetaStock tak, jak nazwa zmiennej napisana dużymi literami (np. „PERIODS” oznacza to samo co „periods”).
Używanie zmiennych do oznaczania liczb
Przyjmijmy, że chcesz szybko sprawdzić, jakie okresy czasowe wykorzystywane są we wzorze, bez konieczności przeglądania całego wzoru. Można to łatwo wykonać, oznaczając za pomocą zmiennych okresy czasowe wykorzystywane we wzorze. W przykładzie poniżej, zmienna posiada nazwę „periods”.
periods:=10;
c>mov(c,periods,s) and ref(c,-1)>ref(mov(c,periods,s),-1) and h>mov(h,periods,s) and ref(h,-1)>ref(mov(h,periods,s),-1)
W powyższym wzorze użyto zmiennej „periods”, której przyporządkowano liczbę 10. Liczba ta będzie wstawiana do wzoru wszędzie tam, gdzie ukryta jest nazwa „periods”. Gdy chcesz sprawdzić jakie okresy zastosowane są we wzorze wystarczy, że sprawdzisz tylko jaka liczba przyporządkowana jest zmiennej „periods”. Jeśli zmienisz liczbę „10” na liczbę „20”, to ta liczba będzie używana do obliczania wartości wzoru.
Oczywiście, we wzorze można także wykorzystać kilka zmiennych, którym przyporządkowano różne liczby, tak jak poniżej:
periods1:=10;
periods2:=20;
c>mov(c,periods1,s) and ref(c,-1)>ref(mov(c,periods1,s),-1) and h>mov(h,periods2,s) and ref(h-1)>ref(mov(h,periods2,s)-1)
W tym przypadku, zmienne „periods1” i „periods2” reprezentują dwie różne wartości, które mogą być używane we wzorze tyle razy, ile tego chcemy.
Używanie zmiennych do zastępowania wyrażeń matematycznych
Zmienne mogą być użyte do zastępowania wyrażenia matematycznego (np. wzoru). Prawdopodobnie jest to największy pożytek ze zmiennych. Wykorzystanie zmiennych do zastąpienia wyrażeń matematycznych (szczególnie długich i skomplikowanych) czyni wzory łatwiejszymi do odczytania, łatwiejszymi do modyfikacji oraz szybszymi przy obliczaniu.
Na przykład, poniższy wzór (przeznaczony do rozpoznawania papierów wartościowych znajdujących się pomiędzy liniami wsparcia i oporu) jest dosyć skomplikowany i trudny do odczytania. Używając zmiennych można go uprościć. Przed dodaniem zmiennej support oraz resistance, jego pierwotna postać przedstawiała się następująco:
(If(Abs((Trough(1,L,1)-
Trough(2,L,1))/Trough(2,L,1))<.015 AND
Abs((Trough(2,L,1)-
Trough(3,L,1))/Trough(3,L,1))<.015,{then}
(Trough(1,L,1)+Trough(2,L,1)+Trough(3,L,1))/3,0))<>0
and
(If(Abs((Peak(1,H,1)-Peak(2,H,1))/Peak(2,H,1))<.015
AND Abs((Peak(2,H,1)-
Peak(3,H,1))/Peak(3,H,1))<.015,{then}
(Peak(1,H,1)+Peak(2,H,1)+Peak(3,H,1))/3,0))<>0
and
c>=(If(Abs((Trough(1,L,1)-
Trough(2,L,1))Trough(2,L1))<.015 AND
Abs((Trough(2,L,1)-
Trough(3,L,1))/Trough(3,L,1))<.015,{then} (Trough(1,L,1)+Trough(2,L,1)+Trough(3,L,1))/3,0)) and c<=(If(Abs((Peak(1,H,1)-Peak(2,H,1))/Peak(2,H,1))<.015
AND Abs((Peak(2,H,1)-Peak(3,H,1))/Peak(3,H,1))<.015,{then}
(Peak(1,H,1)+Peak(2,H,1)+Peak(3,H,1))/3,0)
Definiując dwie zmienne (napisane tłustym drukiem) do oznaczenia dwóch wyrażeń, które są wielokrotnie używane, możesz poważnie uprościć wzór. Dodatkowo wzór będzie łatwiejszy do odczytania, a uproszczony wzór może być obliczany szybciej, ponieważ wyrażenie support oraz resistance musi być obliczone tylko raz.
Support:= (If(Abs((Trough(1,L,1)-
Trough(2,L,1))/Trough(2,L,1))<.015 AND
Abs((Trough(2,L,1)-
Trough(3,L,1))/Trough(3,L,1))<.015,{then}
(Trough(1,L,1)+Trough(2,L,1)+Trough(3,L,1))/3,0));
Resistance:= (If(Abs((Peak(1,H,1)-Peak(2,H,1))/Peak(2,H,1))<.015 AND Abs((Peak(2,H,1)-
Peak(3,H,1))/Peak(3,H,1))<.015,
{then} (Peak(1,H,1)+Peak(2,H,1)+Peak(3,H,1))/3,0));
Support<>0 and Resistance<>0 and close>=Support and close<=Resistance
Pamiętaj, że możesz także utworzyć własne wskaźniki do obliczania, używając funkcji fml( ) i nazywając je „support” oraz „resistance”. (Więcej informacji o używaniu funkcji fml( ) znajdziesz na str. 264). Używając funkcji fml( ), wskaźnik ten może być napisany jak poniżej:
fml(„support”)<>0 and fml(„resistance”)<>0 and close>=fml(„support”) and close<=fml(„resistance”)
Jednakże, używanie zmiennych jest generalnie bardziej wskazane niż używanie funkcji fml( ) z wielu powodów - najważniejszym jest szybsze obliczanie i względy bezpieczeństwa (cała funkcja może być przeczytana i edytowana w jednej chwili).
Odwoływanie się do zmiennych w obrębie wskaźników
Ponieważ wskaźnik może zawierać zmienne, możesz odwołać się do konkretnej zmiennej w obrębie wskaźnika zamiast do całego wskaźnika. Do tego wykorzystuje się funkcję fmlvar( ).
Na przykład, wskaźnik o nazwie „MyMACD” zawiera zmienną o nazwie „SignalLine” i chcesz odwołać się tylko do zmiennej SignalLine. Możesz to wykonać, tak jak to przedstawiono poniżej, wykorzystując funkcję fmlvar( ):
fmlvar(„MyMACD”, „SignalLine”)
Jeśli zmiennej o tej nazwie nie ma w obrębie wskaźnika, zostanie wyświetlony komunikat błędu.
Więcej informacji o wykorzystywaniu zmiennych w obrębie wzorów, znajdziesz na str. 265. Więcej informacji o funkcji fmlvar( ), znajdziesz na str. 282.
___________________________________________________________________________
Samooznaczanie wzorów za pomocą PREV
Stała PREV pozwala na tworzenie samooznaczających wzorów. Samooznaczający wzór jest jedynym, który nadaje się do oznaczania „poprzednich” wartości okresów w samym sobie.
Przykład samooznaczającego wzoru przedstawiony jest poniżej:
((H+L+C)/3)+PREV
Ten prosty wzór dzieli przez trzy sumę cen maksimum, minimum i zamknięcia, a następnie dodaje tę wartość do wczorajszej wartości ((H+L+C)/3.
Przykładem użycia funkcji PREV jest popularny wskaźnik On Balance Volume.
(if(c>ref(c,-1),1,-1)*volume)+PREV
Chociaż On Balance Volume może być obliczany bez wykorzystania funkcji PREV, to logarytmiczna średnia ruchoma już nie (inna niż wykorzystująca funkcję mov( )). Poniższy wzór pokazuje jak oblicza się 18% logarytmicznej średniej ruchomej wykorzystując funkcję PREV.
(close*0.18)+(PREV*0.82)
___________________________________________________________________________
Identyfikator pola danych „P”
Specjalny identyfikator pola danych (tj. zmienna „P”) wykorzystywany jest do oznaczenia dowolnego wykresu wskaźnika lub wykresu ceny. We wzorach wskaźników, zmienna „P” oznacza wykres wskaźnika lub wykres ceny, nad który został przeciągnięty myszą, wskaźnik zawierający w swoim wzorze zmienną „P”. W systemach testujących i eksploracyjnych, zmienna „P” przedstawia zaznaczony wykres ceny. Jest to użyteczne gdy chcesz, aby system testujący, system eksploracji, system testujący, system porad eksperta lub wskaźnik, wykorzystywał do obliczeń wykres inny niż podstawowy papieru wartościowego. Jeśli przeciągniesz myszą wskaźnik, zawierający w swoim wzorze zmienną „P”, nad wykres ceny, to zmienna „P” będzie wykorzystywać ceny zamknięcia.
Na przykład, utworzono wskaźnik o nazwie „MACD-type” o następującym wzorze:
mov(P,12,E)-mov(P,26,E)
Wskaźnik ten oblicza różnicę pomiędzy 12 i 26-okresową logarytmiczną średnią ruchomą. Jeśli wykreśliłeś wskaźnik Accumulation/Distribution i następnie z listy wskaźników QuickList przeciągniesz myszą wskaźnik „MACD-type” nad wykreślony uprzednio wskaźnik Accumulation/Distribution, to w wyniku tego wykreślisz MACD wskaźnika Accumulation/Distribution.
Oczywiście, możesz napisać wzór, tak jak to przedstawiono poniżej, który nie zawiera zmiennej „P”.
mov(ad( ),12,E)-mov(ad( ),26,E)
Jednak w tym przypadku, będziesz musiał modyfikować wzór za każdym razem, gdy będziesz chciał wykreślić MACD wskaźnika innego niż wskaźnik Accumulation/ Distribution. Używając identyfikatora „P”, wzór staje się bardziej wszechstronny.
We wskaźnikach, wartości HIGH, LOW, CLOSE, VOLUME, OPEN i OPEN INTEREST zawsze pobierane są z bazy papieru wartościowego. Na przykład, jeśli przeciągnąłeś myszą wskaźnik o wzorze „HIGH-LOW/P” nad wykres ceny, który nie jest wykresem bazy papieru wartościowego, to wartości HIGH i LOW będą nadal pobierane z bazy papieru wartościowego. Wartość „P” będzie reprezentować CLOSE papieru wartościowego, nad który został przeciągnięty myszą powyższy wskaźnik.
Jak wykreślić wskaźnik, zawierający zmienną „P”
Napisz wzór wskaźnika, używając zmiennej „P” w miejsce identyfikatora pola danych (np. mov(p,10,e), sum(p,25), stdev(p,12), itp.).
Zaznacz myszą ten wskaźnik na liście wskaźników QuickList i przeciągnij myszą nad wykres, na podstawie którego będzie obliczana zmienna „P”.
Jak uruchomić system testujący, system eksploracji lub system porad eksperta, zawierający zmienną „P”
Napisz system testujący, system eksploracji lub system porad eksperta, używając zmiennej „P” w miejsce identyfikatora pola danych (np. mov(p,10,e), sum(p,25,), stdev(p,12), itp.)
Zaznacz wykres (tj. wskaźnik lub wykres ceny), na podstawie którego będzie obliczana zmienna „P”, klikając myszą bezpośrednio na tym wykresie. Wykres będzie zaznaczony, gdy na tym wykresie pojawią się małe kwadraty.
Uruchom system testujący, system eksploracji lub system porad eksperta.
___________________________________________________________________________
Uwagi dotyczące wzorów
Uwagi ogólne
Należy pamiętać o dwóch najważniejszych zasadach dotyczących wzorów, tj. zawsze korzystaj z okienka dialogowego Paste Formula (patrz str. 261) i zawsze kliknij na przycisku OK, gdy wprowadzasz nowy wzór, aby sprawdzić jego składnię (patrz str. 260).
Używanie wierszy z akapitami
Gdy tworzysz wskaźnik, którego wzór jest bardzo długi, spróbuj napisać go w kilku wierszach. Ponadto, dla łatwiejszego odczytywania i zrozumienia wzoru, warto niektóre wiersze zaznaczyć akapitem. Akapit można utworzyć naciskając klawisz TAB. Na przykład wzór
cum(if(close>ref(close,-1),+V,if(close<
ref(close,-1),-V,0)))
staje się łatwiejszy do odczytania, gdy w niektórych wierszach zostanie użyty akapit, tak jak przedstawiono to poniżej:
cum(
if(close>ref(close,-1),
+v,
if(close<ref(close,-1),
-V,
0))
)
Duże i małe litery
Gdy wpisujesz wzór, nie ma znaczenia czy użyjesz małe czy duże litery (tj. „c” i „C” są traktowane tak samo). Kiedy program MetaStock sprawdza składnię wzoru, automatycznie modyfikuje litery (tj. zamienia duże litery na małe lub odwrotnie), tak aby wzór był łatwiejszy do odczytania. Litery w obrębie komentarza nie są zmieniane.
Komentarze
Rozważne użycie komentarzy powoduje, że wzór staje się czytelniejszy. (Pamiętaj, że komentarze lub jakikolwiek tekst muszą być umieszczone w nawiasach klamrowych, tj. { }). Komentarze mogą odnosić się także do części wzoru.
Spacje
Użycie spacji w obrębie wzoru nie jest konieczne. Jednakże, rozważne użycie spacji powoduje, że wzór staje się czytelniejszy.
Polecenia z klawiatury
Podczas edytowania wskaźników w celu przesłania wzorów jednego wskaźnika do drugiego, można użyć standardowych poleceń wydawanych za pomocą klawiatury. Chcąc skopiować podświetlony (zaznaczony) tekst, naciśnij klawisze CTRL+C, chcąc go skasować, naciśnij klawisze CTRL+X, chcąc go wkleić, naciśnij klawisze CTRL+V.
Zmienne
Użycie zmiennych spowoduje, że wzory będą szybciej obliczane. Zamiast ciągłego powtarzania części wyrażenia lub wzoru, oznacz nim zmienną i następnie odwołuj się do niej, podczas pisania wzoru.
___________________________________________________________________________
Korzystanie z Formula Organizer
Formula Organizer jest kreatorem, który pozwala na pobieranie i wysyłanie podstawowych plików wzorów MetaStocka, włączając w to wskaźniki, systemy testujące, systemy eksploracji, system porad eksperta. Na przykład, możesz użyć Formula Organizer do pobrania całego zestawu wskaźników, systemu porad eksperta, itp., które zostały nabyte od osób trzecich. Możesz także utworzyć cały zestaw wskaźników, systemów eksploracji, itp. w celu rozprowadzenia wśród twoich przyjaciół, jak również do ochrony wzorów za pomocą hasła.
Kreator Formula Organizer wyjaśni krok po kroku, wszystkie czynności niezbędne do pobierania i/lub przesyłania plików. Chcąc ochronić wzór za pomocą hasła, wybierz opcję Export formula files, a następnie wprowadź hasło gdy zostaniesz o nie poproszony.
Jak pobierać/przesyłać wskaźniki, systemy testujące, systemy eksploracji i/lub system porad eksperta
Uruchom program MetaStock.
Z menu Tools wybierz Indicator Builder.
Kliknij przycisk Organizer aby przejść do Formula Organizer Wizard.
Postępuj zgodnie z instrukcją na ekranie.
___________________________________________________________________________
Informacje dodatkowe
Poniżej przedstawiono wyjaśnienia terminów używanych we wzorach napisanych w języku MetaStocka. Zrozumienie (lub zapamiętanie) tych terminów nie jest wymagane, jednakże gdy dodasz je do swojego słownictwa, rozmowa z innymi osobami używającymi języka MetaStocka, będzie łatwiejsza.
KOMENTARZ
Tekst w obrębie wzoru, który nie jest częścią wzoru. Komentarz musi być umieszczony w nawiasach klamrowych, tj. { }.
STAŁA
Ściśle określony typ parametru, który jest wymagany przez funkcję. Wielkości stałe mogą być podzielone na poniższe grupy:
STAŁA METODY OBLICZANIA
Używana do zdefiniowania sposobu obliczania. Definiowana jest jako PRCENT i POINTS. (PERCENT i POINTS mogą być oznaczone skrótami % i $).
STAŁA PORÓWNANIA
Używana w obrębie funkcji if( ) do definiowania działań porównania. Definiowana jako >, >=, <, <=, <> lub =.
STAŁA WZORU
Używana w obrębie funkcji fml( ) do oznaczania innego wzoru. Funkcja fml( ) zawiera nazwę jakiegoś wzoru, która umieszczana jest cudzysłowiu (np. fml(„My Formula”)).
STAŁA TYPU ŚREDNIEJ RUCHOMEJ
Używana do definiowania metody obliczania średniej ruchomej. Definiowana jako EXPONENTIAL, SIMPLE, TIME SERIES, TRIANGULAR, VARIABLE lub WEIGHTET. (mogą być zamieniane na skróty E, S, T, TRI, VAR lub W).
STAŁA NUMERYCZNA
Pojedyncza wartość numeryczna. Funkcja wymagająca stałej numerycznej nie akceptuje pola danych, ponieważ pole danych może zawierać kilka wartości zamiast pojedynczą, numeryczną wartość. Przykładem stałej numerycznej jest „10” we wzorze „mov(c,10,E)”.
POLE DANYCH
Pole danych definiuje ściśle określony obszar informacji (danej), która używana jest w obrębie wzoru. Pola danych można podzielić na poniższe grupy:
POLE WYNIKU OBLICZEŃ FUNKCJI
Pole danych, które tworzone jest jako wynik wykonania obliczenia jakiejś funkcji.
POLE DOKŁADNE
Definiuje pole danych, używające pojedynczej stałej numerycznej.
POLE CENY
Definiuje pole danych, zawierające ceny high, low, close, itp.
WZÓR
Jest to kombinacja komentarzy, stałych, funkcji, operatorów matematycznych i/lub identyfikatorów pola danych.
FUNKCJA
Wcześniej zdefiniowana operacja matematyczna, która oblicza parametry będące żądanym polem danych.
OPERATOR MATEMATYCZNY
Są to operatory +, -, * oraz /.
OPERATOR LOGICZNY
Są to operatory <, >, <=, >=, =, <>, AND oraz OR.
PARAMETR
Jest to pozycja zawarta w obrębie funkcji. Gdy funkcja zawiera kilka parametrów, muszą być one przedzielone przecinkami.
PIERWSZEŃSTWO
Kolejność wykonywania działań podczas obliczania wzoru (patrz str. 258).
IDENTYFIKATOR POLA DANYCH
Litery lub słowa używane do oznaczania pola danych (Open, High, Close, Volume, Open Interest, PREV oraz zaznaczony wykres Plot.)
___________________________________________________________________________
Komunikaty błędu
Większość komunikatów błędu, które wyświetlają się gdy wprowadzasz i rysujesz wskaźniki, objaśnia się sama. Ta część rozdziału dodatkowo wyjaśnia niektóre z najczęściej spotykanych komunikatów błędu.
A reference to a formula name is no longer valid.
Ten błąd występuje wtedy, gdy kreślony wzór zawiera odwołanie (tj. „fml( )”) do nieistniejącej nazwy wzoru.
Does not contain an executable formula.
Próba wykonania wskaźnika, który nie zawiera prawidłowego wzoru.
Formula too complex
Ten błąd jest spowodowany funkcją (nie wzorem), która jest zbyt głęboko zagnieżdżona lub przez skomplikowane wyrażenie matematyczne używające numerycznych operatorów matematycznych, nie pogrupowanych w nawiasach.
Pogrupowanie operatorów w nawiasach może załatwić ten problem. Jednakże, lepszym rozwiązaniem jest podział zbyt skomplikowanego wzoru na mniejsze wzory i następnie zagnieżdżenie mniejszych wzorów za pomocą funkcji fml( ) (patrz str. 282).
Insufficient memory to continue formula execution.
Program MetaStock nie ma wystarczającej pamięci do przechowywania tymczasowych wartości.
Ten problem można rozwiązać zmniejszając liczbę okresów danych, aktualnie załadowanych lub redukując liczbę odwołań do zagnieżdżonych wzorów.
Overflow in function
Rezultat obliczeń wzoru generuje wartość, która jest zbyt duża aby ją przechować.
Wzór musi być zmodyfikowany tak, aby generował mniejszą wartość (np. podziel pewne pola danych lub wynik obliczeń przez 100).
Too many numeric constants defined in formula.
W każdym wzorze można używać maksymalnie 20 różnych stałych numerycznych (patrz str. 271).
Ten błąd można wyeliminować, dzieląc wzór na mniejsze wzory i następnie zagnieżdżając mniejsze wzory, --> [Author:w] używając funkcji fml( ) (patrz str. 282).
Value out of valid range in function.
Zły parametr funkcji.
Przykłady:
Wzór „mov(C,-5,E)” będzie zawsze generować ten komunikat, ponieważ -5 nie jest prawidłowym okresem czasowym średniej ruchomej.
Wzór „mov(C,200,E)” będzie generować ten komunikat, jeśli zostało załadowanych mniej niż 200 okresów czasowych.
Wzór „mov(macd( ),74,E)” będzie generować ten komunikat, jeśli zostało załadowanych mniej niż 100 okresów czasowych. Jest tak dlatego, ponieważ MACD nie można wykreślić poniżej 26 dnia co powoduje, że średnia ruchoma posiada mniej niż 74 okresy czasowe potrzebne do obliczenia tej średniej.
Powinieneś edytować te wzory i zmienić złe parametry lub załadować więcej okresów czasowych.
___________________________________________________________________________
Funkcje
Poniższą listę funkcji można wykorzystać do tworzenia wskaźników (patrz str. 325), systemów eksploracji (patrz str. 406), systemów testujących (patrz str. 347) i systemu porad eksperta (patrz str. 439). Funkcje świecowe rozpoczynają się od str. 305.
Niektóre z przedstawionych wzorów funkcji (tj. Inside, Outside, Rally oraz Reaction) są oparte na informacjach przedstawionych w broszurze Using the Volume Reversal Survey in Market Analysis przez Mark A. Leibovit (520-282-1275).
Funkcje standardowe
Absolute Value
SKŁADNIA abs(DATA ARRAY)
DZIAŁANIE Oblicza wartość absolutną DATA ARRAY.
PRZYKŁAD Wzór „abs(-10)” zwróci +10; wzór „abs(10)” także zwróci +10.
Accumulation/Distribution
SKŁADNIA ad( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Accumulation/ Distribution.
Accumulation Swing Index
SKŁADNIA aswing(LIMIT MOVE)
DZIAŁANIE Oblicza uprzednio zdefiniowany Accumulation Swing Index. Wskaźnik ten wymaga cen otwarcia.
PRZYKŁAD aswing(3.0)
PATRZ TAKŻE Funkcja swing( ) (patrz str. 300).
Addition
SKŁADNIA add(DATA ARRAY, DATA ARRAY)
DZIAŁANIE Dodaje do siebie dwa parametry.
PRZYKŁAD Wzór „add(H,10.7)” dodaje 10.7 do cen maksymalnych (ten wzór można także zapisać jako „H+10.7”).
PATRZ TAKŻE Funkcja sub( ) (patrz str. 300).
Alert
SKŁADNIA alert(EXPRESSION, PERIODS)
DZIAŁANIE Przedłuża wynik „prawda” wyrażenia EXPRESSION dla określonej liczby okresów. Wynik prawda jest utrzymywany ponad liczbę określonych okresów również wtedy, jeśli generowany jest wynik „fałsz.
PRZYKŁAD alert(cross(rsi(14),70),5)
PATRZ TAKŻE Informacje o używaniu funkcji Alert w obrębie systemu testującego, znajdziesz na str. 363.
Arc Tangent
SKŁADNIA atan(Y DATA ARRAY, X DATA ARRAY)
DZIAŁANIE Zwraca arcus tangens Y/X. Wartość jest zwracana w stopniach od 0 do 359,9. Stopnie są zwracane tak, jak pokazano poniżej:
PRZYKŁAD Wzór „atan(10,0)” zwraca 90.
PATRZ TAKŻE Funkcja cos( ) (patrz str. 278); funkcja sin( ) (patrz str. 299).
Aroon Down
SKŁADNIA aroondown(PERIODS)
DZIAŁANIE Oblicza składnik Aroon Down wskaźnika Aroon.
PREZYKŁAD aroondown(14)
Aroon Up
SKŁADNIA aroonup(PERIODS)
DZIAŁANIE Oblicza składnik Aroon Up wskaźnika Aroon.
PRZYKŁAD aroonup(14)
Average Directional Movement
SKŁADNIA adx(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Average Directional Movement.
PRZYKŁAD adx(14)
PATRZ TAKŻE Funkcja adxr( ) (patrz str. 280); funkcja csi( ) (patrz str. 278); funkcja dx( ) (patrz str. 280); funkcja mdi( ) (patrz str. 291); funkcja pdi( ) (patrz str. 293).
Average True Range
SKŁADNIA atr(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Average True Range.
PRZYKŁAD atr(20)
Bars Since
SKŁADNIA barssince(DATA ARRAY)
DZIAŁANIE Oblicza liczbę słupków (okresów czasowych), które przeminęły, odkąd DATA ARRAY była prawdą.
Ważne: Gdy używasz system eksploracji, w którym jest użyta funkcja barssince( ), musisz wybrać przycisk „Load____Records” w okienku dialogowym Explorer Options (patrz str. 417) i zaznaczyć wartość równą liczbie załadowanych słupków w wykresie; w przeciwnym razie rezultat eksploracji może nie być dokładny.
PRZYKŁAD barssince(macd( )<0)
Bollinger Band Bottom
SKŁADNIA bbandbot (DATA ARRAY, PERIODS, METHOD, DEVIATIONS)
DZIAŁANIE Oblicza dolną wstęgę Bollingera używając danych DATA ARRAY oraz METHOD jako sposobu obliczania i przesuwa ją w dół o odchylenie standardowe DEVIATION. Prawidłowymi sposobami obliczania (tj. METHOD) mogą być SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR ORAZ VARIABLE (można użyć skrótów S, E, W, T, TRI oraz VAR).
PRZYKŁAD bbandbot(close,10,S,2)
Bollinger Band Top
SKŁADNIA bbandtop(DATA ARRAY, PERIODS, METHOD, DEVIATIONS)
DZIAŁANIE Oblicza górną wstęgę Bollingera używając danych DATA ARRAY oraz METHOD jako sposobu obliczania i przesuwa ją w górę o odchylenie standardowe DEVIATION. Prawidłowymi sposobami obliczania (tj. METHOD) mogą być SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR oraz VARIABLE (można użyć skrótów S, E, W, T, TRI oraz VAR).
PRZYKŁAD bbandtop(close,10,S,2)
Buying Pressure
SKŁADNIA buyp( )
DIAŁANIE Oblicza siłę kupna, składnik wskaźnika Demand Index (patrz str. 504). Siła kupna jest miarą wielkości obrotów związanych z kupnem.
Ceiling
SKŁADNIA ceiling(DATA ARRAY)
DZIAŁANIE Oblicza najmniejszą liczbę całkowitą, która jest większa niż DATA ARRAY.
PRZYKŁAD Wzór „ceiling(7.2)” zwraca 8; wzór „ceiling(-7.2)” zwraca -7.
PATRZ TAKŻE Funkcja floor( ) (patrz str. 282); funkcja int( ) (patrz str. 286).
Chaikin A/D Oscillator
SKŁADNIA co( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Chaikin Oscillator.
Chaikin's Money Flow
SKŁADNIA cmf(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Chaikin Money Flow na przestrzeni ostatniego okresu czasowego PERIOD.
PRZYKŁAD cmf(14)
Chande Momentum Oscillator
SKŁADNIA cmo(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Chande Momentum Oscillator odpowiadający DATA ARRAY na przestrzeni ostatniego okresu czasowego PERIOD.
PRZYKŁAD cmo(c,14)
Commodity Channel Index (EQUIS)
SKŁADNIA ccie(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Commodity Channel Index (EQUIS).
PRZYKŁAD ccie(14)
Commodity Channel Index (Standard)
SKŁADNIA cci(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Commodity Channel Index (Standard).
PRZYKŁAD cci(14)
Commodity Selection Index
SKŁADNIA csi(PERIODS, VALUE, MARGIN, COMMISSION)
DZIAŁANIE Oblicza uprzednio zdefiniowany Commodity Selection Index.
PRZYKŁAD csi(14,50,2500,25)
PATRZ TAKŻE Funkcja adx( ) (patrz str. 275); funkcja adxr( ) (patrz str. 280); funkcja dx( ) (patrz str. 280); funkcja mdi( ) (patrz str. 290); funkcja pdi( ) (patrz str. 293).
Correlation Analysis
SKŁADNIA correl(INDEPENDENT, DEPENDENT, PERIODS, SHIFT)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Correlation. Porównuje korelację DEPENDENT do INDEPENDENT na przestrzeni okresu czasowego PERIOD, a następnie przesuwa DEPENDENT w prawą stronę okresu czasowego o wielkość SHIFT.
PRZYKŁAD Wzór „correl(macd( ),CLOSE,5,10)” porównuje wskaźnik MACD do ceny zamknięcia 10 okresów czasowych w przyszłości, a następnie statystyczną średnią każdego pola danych na przestrzeni poprzednich 5 okresów czasowych.
PATRZ TAKŻE Funkcja tsf( ) (patrz str. 301); funkcja stdev( ) (patrz str. 299).
Cosine
SKŁADNIA cos(DATA ARRAY)
DZIAŁANIE Zwraca cosinus DATA ARRAY. Zakłada się, że wartości DATA ARRAY podane są w stopniach.
PRZYKŁAD cos(C)
PATRZ TAKŻE Funkcja atan( ) (patrz str. 275); funkcja sin( ) (patrz str. 299).
Cross
SKŁADNIA cross(DATA ARRAY 1, DATA ARRAY 2)
DZIAŁANIE Kreśli „+1” w dniu, w którym DATA ARRAY 1 przechodzi ponad DATA ARRAY 2. W przeciwnym wypadku, kreślone jest „0”. Jeśli chcesz wiedzieć, kiedy DATA ARRAY 1 przechodzi poniżej DATA ARRAY 2, użyj wzoru „cross(DATA ARRAY 2, DATA ARRAY 1)”
PRZYKŁAD cross(close, mov(close,9,e))
Cumulate
SKŁADNIA cum(DATA ARRAY)
DZIAŁANIE Oblicza łączną sumę DATA ARRAY od pierwszego okresu czasowego na wykresie.
PRZYKŁAD Wzór „cum(1)” oblicza wskaźnik, który wzrasta o jeden punkt dziennie od początku wykresu; wzór „cum(C)” oblicza łączną sumę cen zamknięcia od początku wykresu.
PATRZ TAKŻE Funkcja sum( ) (patrz str. 300)
Day of Month
SKŁADNIA dayofmonth ( )
DZIAŁANIE Kreśli dzień miesiąca. Jeśli dzisiaj jest 15 lipiec, kreślone jest „15”.
Day of Week
SKŁADNIA dayofweek( )
DZIAŁANIE Kreśli dzień tygodnia. 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday, 7=Sunday.
Delta
SKŁADNIA delta(TYPE, DATE, PRICE, INTEREST, DIVIDEND)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Delta. Patrz funkcja option( ) (patrz str. 295), gdzie opisane są parametry używane w funkcji delta( ).
PRZYKŁAD delta(EC, 961220, 125, 7.50, 4.75)
PATRZ TAKŻE Funkcja gamma( ) (patrz str. 283); funkcja life( ) (patrz str. 292); funkcja option( ) (patrz str. 295); funkcja theta( ) (patrz str. 300); funkcja vega( ) (patrz str. 303); funkcja volo( ) (patrz str. 303).
Dema
SKŁADNIA dema(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Dema.
PRZYKŁAD dema(c,14)
PATRZ TAKŻE Funkcja tema( ) (patrz str. 300).
Demand Index
SKŁADNIA di( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Demand Index.
Detrended Price Oscillator
SKŁADNIA dpo(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Detrended Price Oscillator.
PRZYKŁAD dpo(25)
Directional Movement Index
SKŁADNIA dx(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Directional Movement Index
PRZYKŁAD dx(14)
PATRZ TAKŻE Funkcja adx( ) (patrz str. 275); funkcja adxr( ) (patrz str. 280); funkcja csi( ) (patrz str. 278); funkcja mdi( ) (patrz str. 290); funkcja pdi( ) (patrz str. 293).
Directional Movement Rating
SKŁADNIA adxr(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Directional Movement Rating.
PRZYKŁAD adxr(14)
PATRZ TAKŻE Funkcja adx( ) (patrz str. 275); funkcja dx( ) (patrz str. 280); funkcja csi( ) (patrz str. 278); funkcja mdi( ) (patrz str. 291); funkcja pdi( ) (patrz str. 293).
Divergence
SKŁADNIA divergence(DATA ARRAY 1, DATA ARRAY 2, % MINIMUM CHANGE)
DZIAŁANIE Kreśli +1 jeśli DATA ARRAY 1 jest rozbieżne z DATA ARRAY 2 (tj. DATA ARRAY 1 zwiększa się i DATA ARRAY 2 zmniejsza się). Kreśli -1 jeśli DATA ARRAY 1 jest zbieżne do DATA ARRAY 2 (tj. DATA ARRAY 1 zwiększa się i DATA ARRAY 2 zwiększa się). Kreśli zero jeśli ruch jest w tym samym kierunku. Ruchy DATA ARRAY 1 mniejsze niż % MINIMUM CHANGE są ignorowane.
Funkcja Divergence jest podstawą wzoru Zig Zag. Najpierw obliczany jest Zig Zag dla DATA ARRAY 1 używając % MINIMUM CHANGE. Następnie obliczany jest Zig Zag dla DATA ARRAY 2 używając % MINIMUM CHANGE. Te dwa Zig Zagi są następnie porównywane w celu stwierdzenia zbieżności i rozbieżności.
PRZYKŁAD Wzór „divergence(close, rsi(21), 3)” sprawdza rozbieżność pomiędzy ceną zamknięcia i 21-okresowym RSI. Ruch zamknięcia mniejszy niż 3% jest ignorowany.
Division
SKŁADNIA div(DATA ARRAY, DATA ARRAY)
DZIAŁANIE Dzieli pierwszy parametr przez drugi. Dzielenie przez zero daje wynik zero.
PRZYKŁAD Wzór „div(10, 2)” zwraca 5 (ten wzór może być także napisany jako „10/2”).
PATRZ TAKŻE Funkcja mul( ) (patrz str. 292).
Dynamic Momentum Index
SKŁADNIA dmi(DATA ARRAY)
DZIAŁANIE Oblicza uprzednio zdefiniowany Dynamic Momentum Index
PRZYKŁAD dmi(14)
Ease of Movement
SKŁADNIA emv(PERIODS, METHOD)
DZIAŁANIE Oblicza PERIODS średniej ruchomej wartości Ease of Movement używając METHOD jako metody obliczeń. Prawidłowymi metodami obliczeń są SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR i VARIABLE. (Można użyć skrócone formy tj. S, E, W, T, TRI i VAR).
PRZYKŁAD Wzór „emv(14,S)” zwraca wartość wskaźnika Ease of Movement wygładzoną za pomocą 14-okresowej prostej średniej ruchomej.
Exponent
SKŁADNIA exp(DATA ARRAY)
DZIAŁANIE Oblicza e wzrostu siły DATA ARRAY.
PATRZ TAKŻE funkcja log( ) (patrz str. 288).
External Formula
SKŁADNIA ExtFml(„DLL NAME.FUNCTION NAME”, argument1,...., argument n)
DZIAŁANIE Zwraca wartość funkcji zawartej w MSX DLL. Dostępne tylko wtedy, gdy istnieje MSX DLL.
PRZYKŁAD ExtFml(„MyDLL.MyFunction”,close) oznacza funkcję zwaną MyFunction, zawartą w MSX DLL, zwaną MyDLL, i używa do obliczeń ceny zamknięcia papieru wartościowego.
Więcej informacji o programie Equis Solution Provider oraz o MetaStock Developers Kit znajdziesz pod adresem www.equis.com.
Fast Fourier Transform
SKŁADNIA fft(DATA ARRAY, PERIODS, LENGHT, DETREND or MEAN, AMPLITUDE or POWER)
DZIAŁANIE Oblicza okres czasowy PERIODS wskaźnika Fourier dla DATA ARRAY danego wzoru LENGHT używając metody DETREND lub MEAN i wyświetla widmo AMPLITUDE lub POWER.
PRZYKŁAD Wzór „fft(CLOSE, 100, 1, DETREND, POWER)” zwraca domyślnie wskaźnik Fast Fourier.
Floor
SKŁADNIA floor(DATA ARRAY)
DZIAŁANIE Oblicza największą liczbę całkowitą, która jest mniejsza niż DATA ARRAY.
PRZYKŁAD Funkcja „floor(13.9)” zwraca 13. Wzór „floor(-13.9)” zwraca liczbę -14.
PATRZ TAKŻE Funkcja ceiling( ) (patrz str. 277); funkcja int( ) (patrz str. 286).
Forecast Oscillator
SKŁADNIA forecastosc(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Forecast Oscillator.
PRZYKŁAD forecastosc(close, 14)
Formula Call
SKŁADNIA fml(„FORMULA_NAME”)
DZIAŁANIE Oblicza wartość innego wzoru. Wzór może być przywołany używając FORMULA_NAME w cudzysłowiu.
Kiedy przywołujesz nazwę wzoru, nazwa musi być zawarta w cudzysłowiu (tj. fml(„Secret A”)). Jeśli zmieniasz nazwę wzoru, musisz także zmienić przywołanie fml( ) tego wzoru.
PRZYKŁAD Wzór „fml(„Secret A”)*fml(„MyMACD”)” oblicza wartość wzoru o nazwie „Secret A” pomnożonego przez „MyMACD”.
PATRZ TAKŻE Więcej informacji o używaniu funkcji fml( ) znajdziesz na str 264.
Formula Variable Call
SKŁADNIA fmlvar(„FORMULA_NAME”, „VARIABLE_NAME”)
DZIAŁANIE Przyzywa wskaźnik o nazwie FORMULA_NAME i zwraca wartość zawartą w zmiennym wskaźniku o nazwie VARIABLE_NAME.
Nazwy wzorów i nazwy zmiennych muszą być zawarte w cudzysłowiu (tj. fmlvar(„Secret A”, „MyVar”)).
Jeśli zmieniasz nazwę wzoru lub zmiennej, musisz także zmienić przywołanie fmlvar( ), które przyzywa ten wzór lub zmienną.
PRZYKŁAD fmlvar(„MyIndicator”, MyVariableA”)
PATRZ TAKŻE Więcej informacji o używaniu funkcji fmlvar( ), znajdziesz na str. 267.
Fraction
SKŁADNIA frac(DATA ARRAY)
DZIAŁANIE Usuwa liczbę całkowitą z DATA ARRAY i zwraca jej część ułamkową.
PRZYKŁAD Wzór „frac(10.7)” zwraca 0.7; wzór „frac(-19.8)” zwraca -0.8.
PATRZ TAKŻE Funkcja int( ) (patrz str. 286).
Gamma
SKŁADNIA gamma(TYPE, DATE, PRICE, INTEREST, DIVIDEND)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Gamma. Patrz funkcja option( ) na str. 295, gdzie opisane są parametry używane w funkcji gamma( ).
PRZYKŁAD gamma(EC, 961220, 125, 7.50, 4.75)
PATRZ TAKŻE Funkcja delta( ) (patrz str. 279); funkcja life( ) (patrz str. 292); funkcja option( ) (patrz str. 295); funkcja theta( ) (patrz str. 300); funkcja vega( ) (patrz str. 302); funkcja volo( ) (patrz str. 303).
Gap Down
SKŁADNIA gapdown( )
DZIAŁANIE Kreśli „+1” w dniu, w którym cena papieru wartościowego spada i tworzy lukę cenową. W przeciwnym wypadku kreślone jest „0”. Luka cenowa w dół występuje wtedy, gdy wczorajsze minimum jest większe od dzisiejszego maksimum.
Gap Up
SKŁADNIA gapup( )
DZIAŁANIE Kreśli „+1” w dniu, w którym cena papieru wartościowego rośnie, tworząc lukę cenową. W przeciwnym wypadku kreślone jest „0”. Luka cenowa w górę występuje wtedy, gdy wczorajsze maksimum jest mniejsze niż dzisiejsze minimum.
Herrick Payoff Index
SKŁADNIA hpi(CENTS, MULTIPLYING FACTOR)
DZIAŁANIE Oblicza uprzednio zdefiniowany Herrick Payoff Index.
PRZYKŁAD hpi(100, 10)
Highest
SKŁADNIA highest(DATA ARRAY)
DZIAŁANIE Oblicza największą wartość DATA ARRAY, począwszy od pierwszego załadowanego dnia wykresu (łącznie z aktualnym dniem).
PRZYKŁAD Wzór „highest(rsi(14))” zwraca najwyższą wartość RSI, począwszy od pierwszego załadowanego dnia wykresu; wzór „highest(close)” zwraca najwyższą cenę zamknięcia, począwszy od pierwszego załadowanego dnia wykresu.
PATRZ TAKŻE Funkcja hhv( ) (patrz str. 284); funkcja llv( ) (patrz str. 288); funkcja lowest( ) (patrz str. 288).
Highest Bars Ago
SKŁADNIA highestbars(DATA ARRAY)
DZIAŁANIE Oblicza liczbę okresów czasowych, które minęły od momentu, gdy DATA ARRAY osiągnęła najwyższą wartość. Pod uwagę brane są wszystkie załadowane dane na wykresie.
PRZYKŁAD Wzór „highestbars(close)” zwraca liczbę okresów czasowych, które minęły od momentu, gdy cena zamknięcia osiągnęła najwyższą wartość.
Highest High Value
SKŁADNIA hhv(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza najwyższą wartość DATA ARRAY w ciągu poprzedzającego okresu czasowego PERIODS (łącznie z aktualnym dniem).
PRZYKŁAD Wzór „hhv(CLOSE,5)” zwraca najwyższą wartość ceny zamknięcia w ciągu poprzednich 5 okresów czasowych. Wzór „hhv(H,7)” zwraca najwyższą wartość maksymalną ceny, w ciągu poprzednich 7 okresów czasowych.
PATRZ TAKŻE Przykład Stochastic Oscillator (patrz str. 339); funkcja llv( ) (patrz str. 288).
Highest High Value Bars Ago
SKŁADNIA hhvbars(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza liczbę okresów czasowych, które minęły od momentu, gdy DATA ARRAY osiągnął swoją maksymalną wartość w uprzednio wyznaczonym okresie.
PRZYKŁAD Wzór „hhvbars(CLOSE, 5)” zwraca liczbę okresów czasowych, które przeszły od momentu osiągnięcia przez cenę zamknięcia wartości maksymalnej w uprzednich 50 okresach.
Highest Since
SKŁADNIA highestsince(Nth, EXPRESSION, DATA ARRAY)
DZIAŁANIE Zwraca najwyższą wartość DATA ARRAY od chwili, gdy ostatni występujący Nth wyrażenia EXPRESSION jest prawdą. Uwzględnia wszystkie załadowane dane wykresu.
PRZYKŁAD Wzór „highestsince(2, cross(c, mov(c,10,s),close))” zwraca najwyższą wartość ceny zamknięcia od chwili, gdy druga ostatnio występująca cena zamknięcia przecina w górę swoją 10-dniową średnią ruchomą.
Highest Since Bars Ago
SKŁADNIA Highestsincebars(Nth, EXPRESSION, DATA ARRAY)
DZIAŁANIE Oblicza liczbę okresów czasowych, które minęły od najwyższej wartości DATA ARRAY (po tym jak Nth ostatniego występującego wyrażenia EXPRESSION było prawdziwe). Uwzględnia wszystkie załadowane dane wykresu.
Tłumacząc inaczej, funkcja ta zwraca liczbę okresów czasowych, które minęły od chwili, gdy funkcja highestsince( ) zwróciła swoją wartość.
PRZYKŁAD Wzór „highestsincebars(2,cross(c,mov(c,10,s).close))” zwraca liczbę okresów czasowych, które minęły od chwili osiągnięcia najwyższej wartości ceny zamknięcia (po tym jak druga ostatnio występująca cena zamknięcia przecięła w górę 10-dniową średnią ruchomą.
If
SKŁADNIA if(DATA ARRAY >>=<<=<>=DATA ARRAY, THEN DATA ARRAY, ELSE DATA ARRAY)
DZIAŁANIE Funkcja warunkowa, która zwraca drugi parametr (THEN) jeśli wyrażenie warunkowe zdefiniowane przez pierwszy parametr jest prawdziwe; w przeciwnym wypadku zwracany jest trzeci parametr (ELSE).
PRZYKŁAD Wzór „if(1<2,3,4)” zawsze zwraca liczbę 3.
PATRZ TAKŻE On Balance Volume (patrz str. 337); The Indicator Builder Tutorial (patrz str. 325). Więcej szczegółów, dotyczących używania funkcji if( ), znajdziesz na str. 263.
Inertia
SKŁADNIA inertia(REGRESSION PERIODS, RVI PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Inertia. RVI PERIODS jest liczbą okresów czasowych używanych przez Reletive Volatility Index, składnik tego wskaźnika.
PRZYKŁAD inertia(20,14)
Input
SKŁADNIA input(„PROMPT TEXT”, MINIMUM VALUE, MAXIMUM VALUE, DEFAULT VALUE)
DZIAŁANIE Ta funkcja nakazuje programowi MetaStock wyświetlić komunikat, podpowiadający co należy wprowadzić, gdy kreślony jest wskaźnik. Ta funkcja wspomaga Custom Indicator Builder.
prompt text. Definiuje tekst wyświetlany po polu, w którym należy wprowadzić daną. Używany do opisania tego, co należy wprowadzić.
minimum value. Określa najmniejszą dozwoloną wartość, którą można wprowadzić. Jeśli spróbujesz wprowadzić wartość mniejszą niż wartość minimalna, to program MetaStock wyświetli komunikat.
maximum value. Określa największą dozwoloną wartość, którą można wprowadzić. Jeśli spróbujesz wprowadzić wartość większą niż wartość maksymalna, to program MetaStock wyświetli komunikat.
default value. Określa wartość domyślną (tj. wartość, która ukaże się w polu do wprowadzania danych, gdy zainicjujemy wyświetlanie okienka dialogowego). Pamiętaj, że wartość domyślna jest używana w innym wzorze, używającym funkcji fml( ), zwanym wskaźnikiem.
PRZYKŁAD input(„Enter the number of periods”,1,50,9)
Inside
SKŁADNIA inside( )
DZIAŁANIE Kreśli „+1” gdy występuje inside day. Inside day występuje wtedy, gdy dzisiejsze maksimum jest mniejsze od wczorajszego maksimum oraz gdy dzisiejsze minimum jest większe od wczorajszego minimum. Ustawienie jest określane przez pierwszy Inside Day i może być zmienione tylko przez Rally Day, Reaction Day lub Outside Day.
Integer
SKŁADNIA int(DATA ARRAY)
DZIAŁANIE Usuwa część ułamkową DATA ARRAY i zwraca jej część całkowitą.
PRZYKŁAD Wzór „int(10.7)” zwraca 10; wzór „int(-19.8)” zwraca -19.
PATRZ TAKŻE Funkcja ceiling( ) (patrz str. 277); funkcja floor( ) (patrz str. 282); funkcja frac( ) (patrz str. 282).
Intraday Momentum Index
SKŁADNIA imi(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Intraday Momentum Index.
PRZYKŁAD imi(14)
IsDefined( )
SKŁADNIA isdefined(DATA ARRAY)
DZIAŁANIE Zwraca 1 jeśli wszystkie dane niezbędne do obliczenia wzoru są dostępne, 0 jeśli nie.
PRZYKŁAD Wzór „isdefined(mov(c,20,s))” zwróci 0 jeśli na wykresie załadowanych jest mniej niż 20 okresów czasowych.
IsUndefined( )
SKŁADNIA isundefined(DATA ARRAY)
DZIAŁANIE Zwraca 0 jeśli wszystkie dane liczbowe niezbędne do obliczenia wzoru są dostępne, 1 jeśli nie.
PRZYKŁAD Wzór „isundefined(mov(c,20,s))” zwróci 1 jeśli na wykresie załadowanych jest mniej niż 20 okresów czasowych.
Klinger Oscillator
SKŁADNIA kvo( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Klinger Oscillator.
PRZYKŁAD Wzór „kvo( )” zwraca wartość Klinger Oscillator (tj. grubą linię). Wzór „mov(kvo( ),13,E)” zwraca wartość linii sygnalnej KVO (tj. linii kropkowanej).
Last Value in Data Array
SKŁADNIA lastvalue(DATA ARRAY)
DZIAŁANIE Funkcja ładuje całe pole danych wraz z ostatnio obliczoną wartością konkretnego DATA ARRAY. Rezultat tej funkcji może być używany jako stała dowolnego argumentu funkcji.
Jeśli DATA ARRAY nie jest zdefiniowane (np. załadowano tylko 100 dni, a wymagasz ostatnią wartość 200-dniowej średniej ruchomej), wtedy funkcja lastvalue zwraca zero.
Ponieważ funkcja ta ładuje całe pole danych wraz z ostatnio obliczoną wartością innego pola, pozwala to funkcji patrzeć w przyszłość. Jest to nie do zaakceptowania przez większość wskaźników, jednak jest to bardzo korzystne w takich przypadkach jak rozpoznawanie próby.
PRZYKŁAD Wzór „mov(close, lastvalue (fml („Determine Periods”) ), s)” oblicza średnią ruchomą używającą liczbę okresów czasowych zwróconych przez wskaźnik o nazwie „Determine Periods”.
Linear Regression Indicator
SKŁADNIA linearreg(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Linear Regression.
PRZYKŁAD linearreg(50)
Linear Regression Slope
SKŁADNIA linregslope(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Linear Regression Slope.
PRZYKŁAD linregslope(c,50)
Logarithm (naturalny)
SKŁADNIA log(DATA ARRAY)
DZIAŁANIE Oblicza logarytm naturalny DATA ARRAY.
PATRZ TAKŻE Funkcja exp( ) (patrz str. 281).
Lowest
SKŁADNIA lowest (DATA ARRAY)
DZIAŁANIE Oblicza najmniejszą wartość DATA ARRAY począwszy od pierwszego załadowanego dnia na wykresie (łącznie z aktualnym dniem).
PRZYKŁAD Wzór „lowest(rsi(14))” zwraca najmniejszą wartość RSI począwszy od pierwszego załadowanego dnia na wykresie; wzór „lowest(close)” zwraca najmniejszą cenę zamknięcia począwszy od pierwszego załadowanego dnia na wykresie.
PATRZ TAKŻE Funkcja hhv( ) (patrz str. 284); funkcja llv( ) (patrz str. 288); funkcja highest( ) (patrz str. 283).
Lowest Bars Ago
SKŁADNIA lowestbars(DATA ARRAY)
DZIAŁANIE Oblicza liczbę okresów czasowych, które minęły począwszy od najmniejszej wartości DATA ARRAY. Dotyczy to wszystkich danych załadowanych na wykresie.
PRZYKŁAD Wzór „lowestbars(close)” zwraca liczbę okresów czasowych, które minęły, począwszy od osiągnięcia przez cenę zamknięcia najmniejszej wartości.
Lowest Low Value
SKŁADNIA llv(DATA ARRAY), PERIODS)
DZIAŁANIE Oblicza najmniejszą wartość DATA ARRAY w określonej liczbie okresów czasowych PERIODS (łącznie z aktualnym dniem).
PRZYKŁAD Wzór „llv(CLOSE),14)” zwraca najmniejszą cenę zamknięcia w ciągu ostatnich 14 okresów czasowych.
PATRZ TAKŻE Stochastic Oscillator (patrz str. 339); funkcja hhv( ) (patrz str. 284).
Lowest Low Value Bars Ago
SKŁADNIA llvbars(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza liczbę okresów, które minęły od chwili, gdy DATA ARRAY osiągnął swoją minimalną wielkość w wyznaczonym zakresie okresów czasowych.
PRZYKŁAD Wzór „llvbars(close,50)” zwraca liczbę okresów czasowych, które przeszły od momentu, gdy cena zamknięcia osiągnęła swoją minimalną wartość w ostatnich 50 okresach.
Lowest Since
SKŁADNIA lowestsince(Nth,EXPRESSION,DATA ARRAY)
DZIAŁANIE Zwraca najniższą wartość DATA ARRAY począwszy od momentu, gdy Nth ostatniego EXPRESSION było prawdziwe. Wzór uwzględnia wszystkie dane załadowane na wykresie.
PRZYKŁAD Wzór „lowestsince)2,cross(c,mov(c,10,s),close)” zwraca najmniejszą wartość ceny zamknięcia od momentu, gdy druga najbardziej aktualna cena zamknięcia przecięła w górę swoją 10-dniową średnią ruchoma.
Lowest Since Bars Ago
SKŁADNIA lowestsincebars(Nth,EXPRESSION,DATA ARRAY)
DZIAŁANIE Oblicza liczbę okresów czasowych, które minęły od najniższej wartości DATA ARRAY (po tym jak Nth ostatniego EXPRESSION było prawdziwe). Uwzględnia to wszystkie załadowane dane na wykresie.
Mówiąc inaczej, funkcja zwraca liczbę okresów czasowych, które minęły począwszy od momentu gdy funkcja lowestsince( ) zwróciła swoją wartość.
PRZYKŁAD Wzór „lowestsincebars(2,cross(c,mov(c,10,s),close)” zwraca liczbę okresów czasowych, które przeszły od momentu osiągnięcia najniższej wartości ceny zamknięcia (po tym jak druga najbardziej aktualna cena zamknięcia przecięła w górę swoją 10-dniową średnią ruchomą.
MACD
SKŁADNIA macd( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik MACD.
PRZYKŁAD Wzór „macd( )” zwraca wartość wskaźnika MACD (tj. grubą linię). Wartość „mov(macd( ),9,E)” zwraca wartość linii sygnalnej MACD (tj. linię przerywaną).
Market Facilitation Index
SKŁADNIA marketfacindex( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Market Facilitation Index.
PRZYKŁAD marketfacindex( )
Mass Index
SKŁADNIA mass(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Mass Index.
PRZYKŁAD mass(25)
Maximum
SKŁADNIA max(DATA ARRAY, DATA ARRAY)
DZIAŁANIE Zwraca większy z tych dwóch parametrów.
PRZYKŁAD Wzór „max(CLOSE,10)” zwraca cenę zamknięcia lub 10, w zależności od tego, która wartość jest większa. Wzór „max(-14,13)” zawsze zwraca 13.
Median Price
SKŁADNIA mp( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Median Price Indicator.
PATRZ TAKŻE Funkcja typ( ) (patrz str. 302).
MESA Lead Sine
SKŁADNIA mesaleadsine(CYCLE LENGHT)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik MESA Lead Sine, który kreślony jest wraz ze wskaźnikiem MESA Sine Wave (patrz str. 525).
PRZYKŁAD mesasinewave(20)
PATRZ TAKŻE Funkcja mesasinewave( ) (patrz str. 290).
MESA Sine Wave
SKŁADNIA mesasinewave(CYCLE LENGHT)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik MESA Sine Wave (patrz str. 525).
PRZYKŁAD mesasasinewave(20)
PATRZ TAKŻE Funkcja mesaleadsine( ) (patrz str. 290).
Midpoint
SKŁADNIA mid(DATA ARRAY,PERIODS)
DZIAŁANIE Zwraca punkt środkowy DATA ARRAY w wyznaczonym czasie PERIOD. Punkt środkowy jest wartością leżącą w połowie najwyższej i najniższej wartości DATA ARRAY w wyznaczonym okresie PERIOD.
PRZYKŁAD Wzór „mid(CLOSE,7)” stanowi ekwiwalent „llv(C,7)+ ((hhv(C,7)-llv(C,7))/2)”.
PATRZ TAKŻE Funkcja hhv( ) (patrz str. 284); funkcja llv( ) (patrz str. 288).
Minimum
SKŁADNIA min(DATA ARRAY,DATA ARRAY)
DZIAŁANIE Zwraca mniejszy z tych dwóch parametrów.
PRZYKŁAD Wzór „min(CLOSE,10)” zwraca cenę zamknięcia lub 10 w zależności od tego, co jest mniejsze. Wzór „min(-14,13)” zawsze zwraca -14.
PATRZ TAKŻE Funkcja max( ) na str. 290.
Minus Directional Movement
SKŁADNIA mdi(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Minus Directional Movement.
PRZYKŁAD mdi(14)
PATRZ TAKŻE Funkcja adx( ) na str. 275; funkcja adxr( ) na str. 280; funkcja csi( ) na str. 278; funkcja dx( ) na str. 280; funkcja pdi( ) na str. 293.
Modulus
SKŁADNIA mod(DATA ARRAY, DATA ARRAY)
DZIAŁANIE Oblicza resztę z dzielenia DATA ARRAY przez DATA ARRAY. Dzielenie przez zero da wynik zero.
PRZYKŁAD Wzór „mod(10,3)” zwraca 1.0; wzór „mod(-10.7,3)” zwraca -1.7. Możesz napisać wzór równoważny jako „-10.7-(int(-10.7/3)*3)”.
Momentum
SKŁADNIA mo(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Momentum.
PRZYKŁAD mo(12)
Money Flow Index
SKŁADNIA mfi(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Money Flow Index.
PRZYKŁAD mfi(14)
PATRZ TAKŻE Funkcja rsi( ) na str. 298.
Month
SKŁADNIA month( )
DZIAŁANIE Kreśli miesiące roku na wykresie ceny. Jeśli słupek był kreślony w dniu 10/15/96, będzie wykreślone „10”.
Moving Average
SKŁADNIA mov(DATA ARRAY,PERIODS,METHOD)
DZIAŁANIE Oblicza PERIODS średniej ruchomej DATA ARRAY używając METHOD jako sposób obliczania. Prawidłowymi metodami są EXPONENTIAL, SIMPLE, TIME SERIES, TRIANGULAR, WEIGHTED, VARIABLE oraz VOLUMEADJUSTED (można użyć skrótów E, S, T, TRI, W, VAR oraz VOL).
PRZYKŁAD Wzór „mov(CLOSE,25,EXPONENTIAL)” zwraca wartość 25-okresowej logarytmicznej średniej ruchomej cen zamknięcia.
Multiplication
SKŁADNIA mul(DATA ARRAY, DATA ARRAY)
DZIAŁANIE Oblicza DATA ARRAY pomnożone przez DATA ARRAY.
PRZYKŁAD Wzór „mul(CLOSE,2)” zwraca cenę zamknięcia pomnożoną przez dwa. (Tę funkcję można zapisać także jako „C*2”.
PATRZ TAKŻE Funkcja div( ) na str. 280.
Negative
SKŁADNIA neg(DATA ARRAY)
DZIAŁANIE Oblicza wartość ujemną DATA ARRAY.
PRZYKŁAD Wzór „neg(10)” zwraca -10; wzór „neg(-12)” zwraca +12. Wzór ten można także zapisać jako „-(-12)”.
Negative Volume Index
SKŁADNIA nvi( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Negative Volume Index.
PATRZ TAKŻE Funkcja pvi( ) na str. 294.
On Balance Volume
SKŁADNIA obv( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik On Balance Volume.
PATRZ TAKŻE Przykładowy wzór na str. 337.
Option Expiration
SKŁADNIA optionexp( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Next Option Expiration.
PATRZ TAKŻE Funkcja Option Life na str. 292.
Option Life
SKŁADNIA life(EXPIRATION DATE)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Option Life.
PRZYKŁAD life(970121) wyświetla liczbę dni do 21 stycznia 1997 r.
PATRZ TAKŻE Funkcja delta( ) na str. 278; funkcja gamma ( ) na str. 283; funkcja option( ) na str. 295; funkcja theta( ) na str. 300; funkcja vega( ) na str. 302; funkcja volo( ) na str. 303.
Outside
SKŁADNIA outside( )
DZIAŁANIE Kreśli „+1” gdy występuje outside day. Outside day występuje wtedy, gdy dzisiejsze maksimum jest większe od wczorajszego maksimum i dzisiejsze minimum jest mniejsze niż wczorajsze minimum. Ustawienie to jest determinowane przez pierwszy Outside Day i może być zmienione tylko przez Rally Day, Reaction Day oraz Inside Day.
Parabolic SAR
SKŁADNIA sar(STEP,MAXIMUM)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Parabolic SAR.
PRZYKŁAD sar(0.02,0.20)
Peak Bars Ago
SKŁADNIA peakbars(Nth,DATA ARRAY,%MINIMUM CHANGE)
DZIAŁANIE Kreśli liczbę słupków, które minęły od momentu gdy Nth osiągnął swój szczyt. Używany jest w funkcji Zig Zag (patrz str. 305) do określania szczytów. N=1 zwraca liczbę słupków, które minęły począwszy od ostatniego szczytu. N=2 zwraca liczbę słupków, które minęły począwszy od przedostatniego szczytu.
PRZYKŁAD peakbars(1,close,5)
Peak Value
SKŁADNIA peak(Nth,DATA ARRAY,%MINIMUM CHANGE)
DZIAŁANIE Kreśli wartość DATA ARRAY Nth szczytów temu. Używany w funkcji Zig Zag (patrz str. 578) do określania szczytów. N=1 zwraca wartość ostatniego szczytu. N=2 zwraca wartość przedostatniego szczytu. Itd.
PRZYKŁAD peak(1,close,5)
Perfomance
SKŁADNIA per( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Perfomance.
Plus Directional Movement
SKŁADNIA pdi( )PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Plus Directional Movement.
PRZYKŁAD pdi(14)
PATRZ TAKŻE Funkcja adx( ) na str. 275; funkcja adxr( ) na str. 280; funkcja csi( ) na str. 278; funkcja dx( ) na str. 280; funkcja mdi( ) na str. 291.
Polarized Fractal Efficiency
SKŁADNIA pfe(DATA ARRAY, PERIODS,SMOOTHING PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Polarized Fractal Efficiency.
PRZYKŁAD pfe(c,10,5)
Positive Volume Index
SKŁADNIA pvi( )
DZIAŁANIE Oblicza uprzednio zdefiniowany Positive Volume Index.
PATRZ TAKŻE Funkcja nvi( ) na str. 292.
Power
SKŁADNIA power(DATA ARRAY,POWER)
DZIAŁANIE Oblicza DATA ARRAY podniesione do potęgi POWER. Ujemna wartość DATA ARRAY podniesiona do niecałkowitego POWER spowoduje wyświetlenie komunikatu błędu.
PRZYKŁAD Wzór „power(10,3)” zwraca 1000.
Precision
SKŁADNIA prec(DATA ARRAY,PRECISION)
DZIAŁANIE Obcina DATA ARRAY do PRECISION miejsc po przecinku.
PRZYKŁAD Wzór „prec(10.12981,2)” zwraca 10.120. Wzór „prec(10.12981, 4)” zwraca 10.12980. Małe podwójne zaokrąglanie może spowodować nieznaczne zniekształcenie wartości ułamkowych niektórych liczb zgromadzonych w komputerze.
Price Channel High
SKŁADNIA pricechannelhigh(PERIODS)
DZIAŁANIE Oblicza górną linię kanału wskaźnika Price Channel.
PRZYKŁAD pricechannelhigh(14)
Price Channel Low
SKŁADNIA pricechannellow(PERIODS)
DZIAŁANIE Oblicza dolną linię kanału wskaźnika Price Channel.
PRZYKŁAD pricechannelhigh(14)
Price Oscillator
SKŁADNIA oscp(PERIODS,PERIODS,MA_METHOD,DIFF_METHOD)
DZIAŁANIE Oblicza PERIODS/PERIODS uprzednio zdefiniowanego wskaźnika Price Oscillator obliczonego używając MA_METHOD jako metody obliczania średniej ruchomej wyrażonej w DIFF_METHOD.
Prawidłowymi MA_METHOD są SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR oraz VARIABLE (można użyć skrótów S, E, W, T, TRI, VAR).
Prawidłowymi DIFF_METHOD są PERCENT i points (można użyć skrótów % oraz $).
PRZYKŁAD Wzór „oscp(1,25,E,$)” zwraca 1-okres czasowy/25-okresowego logarytmicznego price oscillator wyrażonego w punktach.
PATRZ TAKŻE Funkcja oscv( ) na str. 303.
Price Volume Trend
SKŁADNIA pvt( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Price Volume Trend.
Projection Band Bottom
SKŁADNIA projbandbot(PERIODS)
DZIAŁANIE Oblicza dolny Projection Band.
PRZYKŁAD projbandbot(21)
Projection Band Top
SKŁADNIA projbandtop(PERIODS)
DZIAŁANIE Oblicza górny Projection Band.
PRZYKŁAD projbandtop(21)
Projection Oscillator
SKŁADNIA projosc(REGRESSION PERIODS, SLOWING PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Projection Oscillator.
PRZYKŁAD projosc(21,3)
Put/Call Price
SKŁADNIA option(TYPE, DATE, PRICE, INTEREST, DIVIDEND)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Put/Call Price.
PRZYKŁAD Wzór „option(EC,961231,125,8.5,6.31)” oblicza wartość rynkową prawa do wykupu akcji przypadające do zapłaty 31 grudnia 1996 r. o wartości emisyjnej 125$. Aktualna stopa procentowa wynosi 8.5%, a roczna dywidenda wynosi 6.31$.
TYPE oznacza rodzaj papieru wartościowego tj. Equity lub Future (E lub F) oraz wskazuje co powinno być obliczane Put lub Call (tj. P lub C).Prawidłowymi TYPE są EC, EP, FC oraz FP.(Typy te można także podać jako CALL, PUT, FUTURECALL oraz FUTUREPUT).
DATE jest datą wygaśnięcia opcji. DATE musi być wprowadzone jako liczba w postaci YYMMDD. Na przykład data 31 grudzień 1996 r. powinna być wprowadzona jako 961231. Ten format daty jest używany bez względu na format daty oznaczony w dziale Configuration.
Parametr PRICE oznacza wartość emisyjną opcji.
Parametr INTEREST oznacza rynkową stopę procentową (tj. 8.75).
Parametr DIVIDEND oznacza całkowitą wypłaconą dywidendę w ostatnich 12 miesiącach.
PATRZ TAKŻE Funkcja delta( ) na str. 279; funkcja gamma( ) na str. 283; funkcja life( ) na str. 292; funkcja theta( ) na str. 300; funkcja vega( ) na str. 302; funkcja volo( ) na str. 303.
Qstick
SKŁADNIA qstick(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Qstick.
PRZYKŁAD qstick(21)
r-squared
SKŁADNIA rsquared(DATA ARRAY, PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Rsquared.
PRZYKŁAD rsquared(c,21)
Rally
SKŁADNIA rally( )
DZIAŁANIE Kreśli „+1” gdy występuje rally day. W przeciwnym wypadku kreślonne jest „0”. Rally day występuje wtedy, gdy dzisiejsze maksimum jest większe niż maksimum z poprzedniego dnia oraz dzisiejsze minimum jest większe lub równe minimum z poprzedniego dnia.
Rally With Volume
SKŁADNIA rallywithvol( )
DZIAŁANIE Kreśli „+1” gdy występuje rally with volume. Rally with volume występuje wtedy gdy dzisiejsze maksimum jest większe niż maksimum poprzedniego dnia oraz dzisiejsze minimum jest większe lub równe od minimum z poprzedniego dnia. Dzisiejszy wolumen musi być większy niż wolumen z poprzedniego dnia.
Random Walk Index of Highs
SKŁADNIA rwih(MINIMUM PERIODS,MAKSIMUM PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Random Walk Index of Highs.
PRZYKŁAD rwih(6,39)
Random Walk Index of Lows
SKŁADNIA rwi(MINIMUM PERIODS, MAXIMUM PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Random Walk Index of Lows.
PRZYKŁAD rwil(6,39)
Range Indicator
SKŁADNIA rangeindicator(PERIODS,SMOOTHING PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Range Indicator.
PRZYKŁAD rangeindicator(10,3)
Rate of Change
SKŁADNIA roc(DATA ARRAY,PERIODS,DIFF_METHOD)
DZIAŁANIA Oblicza PERIODS zmian DATA ARRAY wyrażone jako DIFF_METHOD.
Prawidłowymi wartościami DIFF_METHOD są PERCENT oraz POINTS (można użyć skrótów % oraz $).
PRZYKŁAD Wzór „roc(CLOSE,12,PERCENT)” zwraca 12-okresową procentową zmianę cen zamknięcia.
Reaction
SKŁADNIA reaction( )
DZIAŁANIE Kreśli „+1” gdy występuje reaction day. W przeciwnym wypadku kreśli „0”. Reaction day występuje wtedy, gdy dzisiejsze maksimum jest mniejsze lub równe od maksimum poprzedniego dnia oraz dzisiejsze minimum jest mniejsze minimum poprzedniego dnia.
Reaction With Volume
SKŁADNIA reactionwithvol( )
DZIAŁANIE Kreśli „+1” gdy występuje reaction day. W przeciwnym wypadku kreślone jest „0”. Reaction day występuje wtedy, gdy dzisiejsze maksimum jest mniejsze lub równe od maksimum poprzedniego dnia oraz dzisiejsze minimum jest mniejsze minimum poprzedniego dnia. Dzisiejszy wolumen musi być większy niż wolumen poprzedniego dnia.
Reference
SKŁADNIA ref(DATA ARRAY,PERIODS)
DZIAŁANIE Oznacza poprzedni lub dalszy element w DATA ARRAY. Dodatni PERIOD oznacza „n” okresów w przyszłości; ujemny PERIOD oznacza „n” okresów temu.
PRZYKŁAD Wzór „ref(CLOSE,-12)” zwraca cenę zamknięcia 12-okresów temu. Tak więc, możesz napisać 12-dniową zmianę ceny (wyrażoną w punktach) jako „C,-12)”. Wzór „ref(C,+12)” zwraca cenę zamknięcia 12 okresów do przodu.
Relative Momentum Index
SKŁADNIA rmi(DATA ARRAY,PERIODS,MOMENTUM PARAMETER)
DZIAŁANIE Oblicza uprzednio zdefiniowany Relative Momentum Index.
PRZYKŁAD rmi(20,20)
Relative Strength Index (RSI)
SKŁADNIA rsi(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik RSI.
PRZYKŁAD rsi(14)
Relative Volatility Index
SKŁADNIA rvi(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Relative Volatility Index.
PRZYKŁAD rvi(21)
Round
SKŁADNIA round(DATA ARRAY)
DZIAŁANIE Zaokrągla DATA ARRAY do najbliższej liczby całkowitej
PRZYKŁAD Wzór „round(+10.5)” zwraca +11. Wzór „round(-10.4)” zwraca -10.
PATRZ TAKŻE Funkcja ceiling( ) na str. 277; funkcja floor( ) na str. 282; funkcja int( ) na str. 286.
Selling Pressure
SKŁADNIA sellp( )
DZIAŁANIE Oblicza selling pressure, składnik Demand Index (patrz str. 504). Selling pressure jest to miara wielkości wolumenu odpowiadającego sprzedaży.
Sine
SKŁADNIA sin(DATA ARRAY)
DZIAŁANIE Zwraca sinus DATA ARRAY. Ta funkcja zakłada, że DATA ARRAY podane jest w procentach.
PRZYKŁAD Możesz narysować falę sinusa używając wzoru „sin(cum(5))”. Zwiększając wartość w tym wzorze (tj. „5”) zwiększysz częstotliwość fali sinusa.
PATRZ TAKŻE Funkcja atan( ) na str. 275; funkcja cos( ) na str. 278.
Square Root
SKŁADNIA sqrt(DATA ARRAY)
DZIAŁANIE Oblicza pierwiastek kwadratowy DATA ARRAY. Pierwiastek kwadratowy liczby ujemnej zwraca zero.
PRZYKŁAD Wzór „sqrt(16)” zwraca 4.
PATRZ TAKŻE Przykład wzoru Standard Deviation na str. 338.
Standard Deviation
SKŁADNIA stdev(DATA ARRAY)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Standard Deviation.
PRZYKŁAD stdev(CLOSE,21)
Standard Error
SKŁADNIA ste(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Standard Error.
PRZYKŁAD ste((CLOSE,21)
Standard Error Band Bottom
SKŁADNIA stebandbot(DATA ARRAY,PERIODS,ERRORS)
DZIAŁANIE Oblicza dolny Standard Error Band DATA ARRAY przesunięty w dół o błąd standardowy ERRORS.
PRZYKŁAD stebandbot(close,21,2)
Standard Error Band Top
SKŁADNIA stebandtop(DATA ARRAY,PERIODS,ERRORS)
DZIAŁANIE Oblicza górny Standard Error Band DATA ARRAY przesunięty w górę o błąd standardowy ERRORS.
PRZYKŁAD stebandtop(close,21,2)
Stochastic Momentum Index
SKŁADNIA stochmomentum(PERIODS,SMOOTHING,DOUBLE SMOOTHING)
DZIAŁANIE Oblicza uprzednio zdefiniowany Stochastic Momentum Index.
PRZYKŁAD stochmomentum(10,40,3)
Stochastic Oscillator
SKŁADNIA stoch(%K PERIODS,%K SLOWING)
DZIAŁANIE Oblicza uprzednio zdefiniowany Stochastic Oscillator.
PRZYKŁAD Wzór „stoch(5,3)” zwraca wartość 5-okresowego %K spowolnionej 3-okresami.
PATRZ TAKŻE Przykład wzoru Stochastic na str. 339.
Subtraction
SKŁADNIA sub(DATA ARRAY,DATA ARRAY)
DZIAŁANIE Oblicza DATA ARRAY minus DATA ARRAY.
PRZYKŁAD Wzór „sub(10,2)” zwraca osiem. (ten wzór można także napisać jako „10-2”.
PATRZ TAKŻE Funkcja add( ) na str. 274.
Summation
SKŁADNIA sum(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza łączną sumę DATA ARRAY dla określonej liczby byłych okresów (łącznie z dzisiejszym).
PRZYKŁAD Wzór „sum(CLOSE,12)” zwraca sumę poprzednich 12 cen zamknięcia. 12-okresową prostą średnią ruchomą można zapisać w postaci „sum(C,12)/12”.
PATRZ TAKŻE Funkcja cum( ) na str. 278.
Swing Index
SKŁADNIA swing(LIMIT MOVE)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Swing Index. Swing Index wymaga cen otwarcia.
PRZYKŁAD swing(3.0)
PATRZ TAKŻE Funkcja aswing( ) na str. 274.
Tema
SKŁADNIA tema(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik TEMA.
PRZYKŁAD tema(c,14)
PATRZ TAKŻE Funkcja dema( ) na str. 279.
Theta
SKŁADNIA theta(TYPE,DATE,PRICE,INTEREST,DIVIDEND)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Theta. Patrz funkcja option( ) na str. 295, gdzie opisane są parametry używane w funkcji Theta( ).
PRZYKŁAD theta(EC,961220,125,7.50,4.75)
PATRZ TAKŻE Funkcja delta( ) na str. 279; funkcja gamma( ) na str. 283; funkcja life( ) na str. 292; funkcja option( ) na str. 295; funkcja vega( ) na str. 302; funkcja volo( ) na str. 303.
Time Series Forecast
SKŁADNIA tsf(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza PERIODS uprzednio zdefiniowanego wskaźnika Time Series Forecast dla DATA ARRAY.
PRZYKŁAD Wzór „tsf(CLOSE,10)” zwraca 10-okresowy Time Series Forecast cen zamknięcia.
PATRZ TAKŻE Funkcja correl( ) na str. 278.
Trade Volume Index
SKŁADNIA tvi(MINIMUM TICK)
DZIAŁANIE Oblicza uprzednio zdefiniowany Trade Volume Index.
PRZYKŁAD tvi(0.125)
PATRZ TAKŻE Funkcja obv( ) na str. 292.
Trix
SKŁADNIA trix(PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik TRIX.
PRZYKŁAD trix(12)
Trough Bars Ago
SKŁADNIA troughbars(Nth,DATA ARRAY,% MINIMUM CHANGE)
DZIAŁANIE Kreśli liczbę słupków, które przeszły od Nth doliny fali. Wykorzystywane jest to w funkcji Zig Zag (patrz str. 305) do określania dołków. Jeśli Nth wynosi 1, to zostanie zwrócona liczba słupków, które przeszły od ostatniego dołka. Jeśli Nth wynosi 2, to zostanie zwrócona liczba słupków, która przeszła od ostatnich dwóch dołków. Itd.
PRZYKŁAD troughbars(1,close,5)
Trough Value
SKŁADNIA trough(Nth, DATA ARRAY, % MINIMUM CHANGE)
DZIAŁANIE Kreśli wartość DATA ARRAY Nth dołków temu. Używany w funkcji Zig Zag (patrz str. 305) do określania dołków. N=1 zwraca wartość ostatniego dołka. N=2 powinien zwrócić wartość przedostatniego dołka. Itd.
PRZYKŁAD trough(1,close,5)
Typical Price
SKŁADNIA typ( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Typical Price.
Ultimate Oscillator
SKŁADNIA ult(CYCLE1,CYCLE2,CYCLE3)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Ultimate Oscillator używając trzech wstęg cyklu dostarczanych jako parametry. Pamiętaj, że każdy z tych trzech parametrów musi być większy od poprzedniego parametru lub pojawi się komunikat błędu (np. „ult(5,5,5)” jest nieprawidłowe).
PRZYKŁAD Wzór „ult(7,14,21)” zwraca domyślne Ultimate Oscillator.
Value When
SKŁADNIA valuewhen(Nth, EXPRESSION,DATA ARRAY)
DZIAŁANIE Zwraca wartość DATA ARRAY gdy EXPRESSION było prawdziwe dla ostatniego Nth. Obejmuje to wszystkie dane załadowane do wykresu.
PRZYKŁAD Wzór „valuewhen(2,cross(c,mov(c,10,s),rsi(20))” zwraca wartość RSI drugiego miejsca przecięcia w górę ceny zamknięcia przez 10-dniową średnią ruchomą.
Variance
SKŁADNIA var(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza statystyczny rozbieżność DATA ARRAY w wyznaczonym okresie PERIOD.
PRZYKŁAD var(CLOSE,20)
PATRZ TAKŻE Funkcja stdev( ) na str. 299; przykład Standard Deviation na str. 338.
Vega
SKŁADNIA vega(TYPE,DATE,PRICE,INTEREST,DIVIDEND)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Vega. Patrz funkcja option( ) na str. 295 za opisem parametrów używanych w funkcji vega( ).
PRZYKŁAD vega(EC,961220,125,7.50,4.75)
PATRZ TAKŻE Funkcja delta( ) na str. 279; funkcja gamma( ) na str. 283; funkcja life( ) na str. 292; funkcja option( ) na str. 295; funkcja theta( ) na str. 300; funkcja volo( ) na str. 303.
Vertical Horizontal Filter
SKŁADNIA vhf(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Vertical Horizontal Filter DATA ARRAY w wyznaczonym okresie PERIOD.
PRZYKŁAD vhf(C,28)
Volatility, Chaikin's
SKŁADNIA vol(MA PERIODS,ROC PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany Chaikin's Volatility Indicator.
PRZYKŁAD vol(10,10)
Volatility Option
SKŁADNIA volo( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Option Volatility.
PRZYKŁAD volo( )
PATRZ TAKŻE Funkcja delta( ) na str. 279; funkcja gamma( ) na str. 283; funkcja life( ) na str. 292; funkcja option na str. 295; funkcja theta( ) na str. 300; funkcja vega( ) na str. 302.
Volume Oscillator
SKŁADNIA oscv(PERIODS,PERIODS,MA_METHOD,DIFF_METHOD)
DZIAŁANIE Oblicza PERIODS/PERIODS uprzednio zdefiniowanego wskaźnika Volume Oscillator obliczanego przy użyciu MA_METHOD średniej ruchomej wyrażonej w DIFF_METHOD.
Prawidłową MA_METHOD są SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR oraz VARIABLE (można użyć skrótów S, E, W, T, TRI oraz VAR)
Prawidłowymi DIFF_METHOD są PERCENT oraz POINTS (można użyć skróty % i $)
PRZYKŁAD oscv(1,25,SIMPLE,$)
PATRZ TAKŻE Funkcja oscp( ) na str. 295.
Weighted Close
SKŁADNIA wc( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Weighted Close.
Wilder's Smoothing
SKŁADNIA wilders(DATA ARRAY,PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Wilder's Smoothing.
PRZYKŁAD wilders(CLOSE,14)
PATRZ TAKŻE Funkcja mov( ) na str. 291.
Williams'%R
SKŁADNIA willr(%R PERIODS)
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Williams'%R.
PRZYKŁAD willr(14)
Williams'A/D
SKŁADNIA willa( )
DZIAŁANIE Oblicza uprzednio zdefiniowany wskaźnik Williams'A/D.
Writeif
SKŁADNIA writeif(EXPRESSION,”TRUE TEXT”,”FALSE TEXT”)
DZIAŁANIE Funkcja ta może być używana tylko w obrębie komentarza eksperta. Jeśli EXPRESSION zostanie ocenione jako „prawda”, to w obrębie komentarza zostanie wyświetlony ciąg TRUE TEXT. Jeśli EXPRESSION zostanie ocenione jako „fałsz”, to w obrębie komentarza zostanie wyświetlony ciąg FALSE TEXT.
PRZYKŁAD writeif(c>mov(c,200,s),”The close is above the 200-period moving average.”,”The close is below the 200-period moving average.”)
PATRZ TAKŻE Więcej szczegółowych informacji o używaniu funkcji writeif( ) w obrębie komentarza eksperta, znajdziesz na str. 451.
Writeval
SKŁADNIA writeval(DATA ARRAY)
lub
writeval(DATA ARRAY,FORMAT)
DZIAŁANIE Funkcja ta może być używana wyłącznie w obrębie komentarza eksperta. Używana jest do wyświetlania DATA ARRAY w postaci wartości numerycznej i dziesiętnej. Wartość dziesiętna brzmi X.Y gdzie X jest całkowitą liczbą cyfr oraz Y jest liczbą cyfr na prawo od przecinka dziesiętnego.
PRZYKŁAD writeval(stoch(39,3)-stoch(12,3),5.2)
PATRZ TAKŻE Więcej szczegółowych informacji o wykorzystywaniu funkcji writeval( ) w obrębie komentarza eksperta, znajdziesz na str. 452.
Year
SKŁADNIA year( )
DZIAŁANIE Kreśli rok. Jeśli słupek był rysowany 10/15/96, funkcja zwróci „1996”.
Zig Zag
SKŁADNIA zig(DATA ARRAY,MINIMUM CHANGE,DIFF_METHOD)
DZIAŁANIE Oblicza MINIMUM CHANGE uprzednio zdefiniowanego wskaźnika Zig Zag dla DATA ARRAY używając metody obliczania DIFF_METHOD.
Prawidłowymi DIFF_METHOD są PERCENT oraz POINTS (można używać skrótów % i $).
PRZYKŁAD zig(CLOSE,5,PERCENT)
Funkcje świecowe
Funkcje świecowe pozwalają na lokalizację specyficznych formacji świec japońskich. Każda funkcja kreśli „+1” gdy zaistnieje formacja określona przez tę funkcję, w przeciwnym wypadku kreślone jest „0”.
Zwięzła interpretacja załączona do formacji pokazanych na poniższych stronach, została wzięta z dwóch książek napisanych przez Steve Nison. W celu głębszego zaznajomienia się z tymi i innymi formacjami świec japońskich, Equis International poleca dwie książki Steve Nison: Japanese Candlestick Charting Techniques oraz Beyond Candlestick. Więcej informacji o tych książkach, znajdziesz na str. 601.
Pamiętaj, że rozpoznawanie formacji świecowej jest subiektywne. To co jedna osoba nazywa „Big Black Candle”, druga osoba może nie zakwalifikować tej formacji w taki sposób. Chcąc znaleźć formację na wykresie, program MetaStock musi ją zdefiniować za pomocą reguł. Reguły te są zdefiniowane na podstawie naszego własnego doświadczenia oraz przy pomocy reguł określonych przez Steve Nison.
Ważne: Gdy używasz funkcji świecowych podczas eksploracji, musisz wybrać przycisk „Load_Records” w okienku dialogowym Explorer Options (patrz str. 416) i zaznaczyć co najmniej „10”; w przeciwnym wypadku rezultat eksploracji może być niedokładny.
Bearish 3 Method Formation
SKŁADNIA bear3formation( )
UKŁAD ŚWIEC
Za czarną świecą, o długim korpusie, występują trzy małe świece, zazwyczaj o białych korpusach, a następnie długa, czarna świeca. Korpusy trzech białych świec, zawarte są w obrębie pierwszej czarnej świecy.
INTERPRETACJA Kontynuacja trendu spadkowego.
Bearish Harami
SKŁADNIA bearharami( )
UKŁAD ŚWIEC
Po nienaturalnie długiej białej świecy występuje mała, czarna świeca, której korpus zawarty jest w obrębie białej świecy.
INTERPRETACJA Gdy znajduje się w trendzie rosnącym, zwiastuje zmianę trendu na malejący.
Bearish Harami Cross
SKŁADNIA bearharamicross( )
UKŁAD ŚWIEC
Świeca doji zawarta w obrębie długiego, białego korpusu.
INTERPRETACJA Sygnał odwrócenia występujący na szczycie.
Big Black Candle
SKŁADNIA bigblack( )
UKŁAD ŚWIEC
Nienaturalnie długi, czarny korpus o dużej rozpiętości pomiędzy minimum a maksimum, z niewielkimi cieniami.
INTERPRETACJA Trend spadkowy.
Big White Candle
SKŁADNIA bigwhite( )
UKŁAD ŚWIEC
Nienaturalnie długi, biały korpus o dużej rozpiętości pomiędzy minimum a maksimum, z niewielkimi cieniami.
INTERPRETACJA Trendu wzrostowy.
Black Body
SKŁADNIA black( )
UKŁAD ŚWIEC
Świeca uformowana wtedy, gdy zamknięcia znajduje się niżej niż cena otwarcia.
INTERPRETACJA Sygnał spadku. Ma większe znaczenie gdy wchodzi w skład układu świec.
Bullish 3 Method Formation
SKŁADNIA bull3formation( )
UKŁAD ŚWIEC
Za białą świecą, o długim korpusie, występują trzy małe świece, zazwyczaj o czarnych korpusach, a następnie długa, biała świeca. Korpusy trzech czarnych świec, zawarte są w obrębie pierwszej białej świecy.
INTERPRETACJA Kontynuacja trendu wzrostowego.
Bullish Harami
SKŁADNIA bullharami( )
UKŁAD ŚWIEC
Po nienaturalnie długiej, czarnej świecy występuje mała, biała świeca, której korpus zawarty jest w obrębie białej świecy.
INTERPRETACJA Sygnał odwrócenia trendu na wzrostowy, gdy występuje w trendzie malejącym.
Bullish Harami Cross
SKŁADNIA bullharamicross( )
UKŁAD ŚWIEC
Świeca doji zawarta w obrębie długiego, czarnego korpusu.
INTERPRETACJA Sygnał odwrócenia trendu malejącego.
Dark Cloud Cover
SKŁADNIA darkcloud( )
UKŁAD ŚWIEC
Długa biała świeca, a następnie świeca czarna. Otwarcie czarnej świecy znajduje się ponad maksimum białej świecy, a zamknięcie znajduje się głęboko w korpusie białej świecy.
INTERPRETACJA Sygnał odwrócenia trendu na malejący, gdy ta formacja znajdzie się w trendzie wzrostowym.
Doji
SKŁADNIA doji( )
UKŁAD ŚWIEC
Otwarcie i zamknięcie jest takie same.
INTERPRETACJA Świeca doji wchodzi w skład wielu ważnych formacji świecowych.
Doji Star
SKŁADNIA dojistar( )
UKŁAD ŚWIEC
Świeca doji po luce cenowej ponad lub poniżej białej lub czarnej świecy.
INTERPRETACJA Sygnał odwrócenia wymagający potwierdzenia następnego dnia.
Engulfing Bearish Line
SKŁADNIA engulfingbear( )
UKŁAD ŚWIEC
Za białą świecą, o krótkim korpusie, następuje czarna świeca, o wysokim korpusie. Korpus białej świecy zawarty jest w obrębie czarnej świecy.
INTERPRETACJA Sygnał odwrócenia trendu, występujący na szczycie.
Engulfing Bullish Line
SKŁADNIA engulfingbull( )
UKŁAD ŚWIEC
Za czarną świecą, o krótkim korpusie, następuje biała świeca, o długim korpusie. Korpus czarnej świecy zawarty jest w obrębie białej świecy.
INTERPRETACJA Sygnał odwrócenia trendu występujący w dołku.
Evening Doji Star
SKŁADNIA eveningdojistar( )
UKŁAD ŚWIEC
Pierwsza świeca posiada długi, biały korpus. Druga świeca, typu doji, występuje po luce cenowej ponad pierwszą świecą. Trzecia świeca posiada czarny korpus, a jej zamknięcie następuje głęboko w korpusie białej świecy.
INTERPRETACJA Sygnał odwrócenia trendu na szczycie, ważniejszy niż układ świec evening star, ponieważ występuje doji.
Evening Star
SKŁADNIA eveningstar( )
UKŁAD ŚWIEC
Pierwsza świeca posiada długi, biały korpus. Druga świeca posiada krótki korpus (biały lub czarny) i występuje po luce cenowej ponad pierwszą świecą. Trzecia świeca posiada długi, czarny korpus, a jej zamknięcie następuje głęboko w korpusie białej świecy.
INTERPRETACJA Sygnał odwrócenia trendu występujący na szczycie.
Falling Window
SKŁADNIA fallingwindow( )
UKŁAD ŚWIEC
Występuje luka cenowa pomiędzy minimum pierwszej świecy a maksimum drugiej świecy. Daje ten sam rezultat co Gap Down (patrz str. 283).
INTERPRETACJA Sygnał bardzo wiarygodny. Luka cenowa powinna stanowić opór.
Gravestone Doji
SKŁADNIA gravestonedoji( )
UKŁAD ŚWIEC
Tworzy się w momencie, gdy świeca doji jest równa lub znajduje się bardzo blisko kursu minimalnego z danej sesji.
INTERPRETACJA Sygnał odwrócenia trendu na szczycie. Im dłuższy cień tym sygnał jest bardziej wiarygodny.
Hammer
SKŁADNIA hammer( )
UKŁAD ŚWIEC
Krótki korpus (biały lub czarny) znajduje się w górnej części zasięgu zmiany cen. Świeca posiada długi dolny cień. Może posiadać krótki górny cień lub nie posiadać go wcale.
INTERPRETACJA Formacja występuje w trendzie spadkowym na dnie i powoduje odbicie kursu w górę.
Hanging Man
SKŁADNIA hangingman( )
UKŁAD ŚWIEC
Krótki korpus (biały lub czarny) znajduje się w górnej części zasięgu zmiany cen. Świeca posiada długi dolny cień. Może posiadać krótki górny cień lub nie posiadać go wcale. Dolny cień powinien być dwu lub trzykrotnie dłuższy niż korpus świecy.
INTERPRETACJA Formacja występuje w trendzie wzrostowym i sygnalizuje zmianę trendu.
Inverted Black Hammer
SKŁADNIA invblackhammer( )
UKŁAD ŚWIEC
Odwrócony młot o czarnym korpusie.
INTERPRETACJA Sygnał odwrócenia trendu na dnie wymagający potwierdzenia na następnej sesji.
Inverted Hammer
SKŁADNIA invhammer( )
UKŁAD SWIEC
Odwrócony młot o białym lub czarnym korpusie.
INTERPRETACJA Sygnał odwrócenia trendu na dnie wymagający potwierdzenia na następnej sesji.
Long Legged Doji
SKŁADNIA longleggeddoji( )
UKŁAD ŚWIEC
Świeca doji z bardzo długimi cieniami.
INTERPRETACJA Sygnał odwrócenia trendu na szczycie.
Long Lower Shadow
SKŁADNIA longlowershadow( )
UKŁAD ŚWIEC
Świeca o korpusie białym lub czarnym z długim dolnym cieniem, który stanowi 2/3 lub więcej całkowitej długości świecy.
INTERPRETACJA Sygnał wzrostu, szczególnie gdy występuje w pobliżu linii oporu.
Long Upper Shadow
SKŁADNIA longuppershadow( )
UKŁAD ŚWIEC
Świeca o korpusie białym lub czarnym z długim górnym cieniem, który stanowi 2/3 lub więcej całkowitej długości świecy.
INTERPRETACJA Sygnał spadku, szczególnie gdy występuje w pobliżu linii oporu.
Morning Doji Star
SKŁADNIA morningdojistar( )
UKŁAD ŚWIEC
Pierwsza świeca posiada długi czarny korpus. Druga świeca jest typu doji po luce cenowej, poniżej pierwszej świecy. Trzecia świeca posiada biały korpus, a jej zamknięcie jest głęboko wewnątrz czarnej świecy.
INTERPRETACJA Sygnał odwrócenia trendu na rosnący, bardziej wiarygodny niż układ gwiazdy porannej, ponieważ zawiera świecę doji.
Morning Star
SKŁADNIA morningstar( )
UKŁAD ŚWIEC
Pierwsza świeca posiada długi, czarny korpus. Druga świeca posiada krótki korpus (biały lub czarny) po luce cenowej utworzonej poniżej czarnej świecy. Trzecia świeca posiada biały korpus, a jej zamknięcie następuje głęboko w korpusie czarnej świecy.
INTERPRETACJA Sygnał odwrócenia trendu na rosnący.
On Neck-Line
SKŁADNIA onneckline( )
UKŁAD ŚWIEC
Pierwsza świeca, w trendzie spadkowym, posiada czarny korpus. Druga świeca posiada krótki, biały korpus, a jej zamknięcie następuje w pobliżu minimum czarnej świecy.
INTERPRETACJA Pojawia się w trendzie spadkowym. Zapowiada kontynuację spadków.
Piercing Line
SKŁADNIA piercingline( )
UKŁAD ŚWIEC
Pierwsza świeca posiada czarny korpus. Druga świeca posiada biały korpus, a jej otwarcie następuje poniżej minimum czarnej świecy oraz jej zamknięcie następuje powyżej połowy czarnej świecy.
INTERPRETACJA Sygnał odwrócenia na trendu na rosnący.
Rising Window
SKŁADNIA risingwindow( )
UKŁAD ŚWIEC
Luka cenowa pomiędzy maksimum pierwszej świecy a minimum drugiej świecy. Daje ten sam rezultat co funkcja Gap Up (patrz str. 283)
INTERPRETACJA Luka cenowa powinna stanowić linię wsparcia.
Separating Lines
SKŁADNIA separatinglines( )
UKŁAD ŚWIEC
W trendzie rosnącym, za czarną świecą następuje biała świeca o tej samej cenie otwarcia.
W trendzie malejącym, za białą świecą następuje czarna świeca o tej samej cenie otwarcia.
INTERPRETACJA Kontynuacja trendu. Dotychczasowy trend powinien być kontynuowany.
Shaven Bottom
SKŁADNIA shavenbottom( )
UKŁAD ŚWIEC
Świeca (biała lub czarna) bez dolnego cienia.
INTERPRETACJA Patrz interpretacja Inverted Hammer (patrz str. 314)
Shaven Head
SKŁADNIA shavenhead( )
UKŁAD ŚWIEC
Świeca (biała lub czarna) bez górnego cienia.
INTERPRETACJA Patrz interpretacja Hammer (patrz str. 313) oraz Hanging Man (patrz str. 313).
Shooting Star
SKŁADNIA shootingstar( )
UKŁAD ŚWIEC
Świeca (biała lub czarna) o krótkim korpusie, z długim cieniem górnym. Cień dolny jest krótki lub nie występuje.
INTERPRETACJA W trendzie rosnącym sygnalizuje zmianę trendu.
Spinning Top
SKŁADNIA spinning top( )
UKŁAD ŚWIEC
Świeca (biała lub czarna) o krótkim korpusie. Długość cieni nie jest istotna.
INTERPRETACJA Formacja neutralna. Ma większe znaczenie gdy wchodzi w skład innych formacji.
Three Black Crows
SKŁADNIA 3blackcrows( )
UKŁAD ŚWIEC
Trzy długie czarne świece, których zamknięcie następuje na coraz niższym poziomie. Zamknięcie każdej ze świec następuje na poziomie lub w pobliżu kursu minimalnego z danej sesji.
INTERPRETACJA Sygnał odwrócenia trendu na malejący.
Three White Soldiers
SKŁADNIA 3whitesoldiers( )
UKŁAD ŚWIEC
Trzy długie białe świece, których zamknięcie następuje na coraz wyższym poziomie. Zamknięcie każdej ze świec następuje na poziomie lub w pobliżu kursu maksymalnego z danej sesji.
INTERPRETACJA Sygnał odwrócenia trendu na rosnący na dnie.
Tweezer Bottoms
SKŁADNIA tweezerbottoms( )
UKŁAD ŚWIEC
Dwie lub więcej świec, których dolne części leżą na tym samym poziomie. Wielkość i kolor świec nie są istotne. Świece nie muszą następować kolejno po sobie.
INTERPRETACJA Drugorzędny sygnał odwrócenia trendu, który ma większe znaczenie, gdy świece formują inny układ.
Tweezer Tops
SKŁADNIA tweezertops( )
UKŁAD ŚWIEC
Dwie lub więcej świec, których górne części leżą na tym samym poziomie.
INTERPRETACJA Drugorzędny sygnał odwrócenia trendu, który ma większe znaczenie, gdy świece formują inny układ. Świece nie muszą następować kolejno po sobie.
White Body
SKŁADNIA white( )
UKŁAD ŚWIEC
Świeca ta formuje się wtedy, gdy cena zamknięcia jest wyższa niż cena otwarcia.
INTERPRETACJA Sygnał wzrostu. Znacznie ważniejszy gdy wchodzi w skład układu świec.
1
275
wa