background image

VORM v.1.0 beta

Autor: Tomasz Wolny ~Ykee

Napisz, gdy używasz: ykee@wp.pl
Data: 19.05.2009r.

Opis funkcji.

W skład zestawu wchodzą pliki: 

VORM_EA.ex4 – plik Expert Advisor'a, 

VORM_InfoBox.ex4 – plik Indicator'a

VORM to półautomat, nie ma nas wyręczać w handlu, a jedynie go ułatwić. :)
VORM to połączenie mojego RiskManagera, o którym pisałem na stronie forum: 

http://www.forex.nawigator.biz/dyskusje/viewtopic.php?t=6227&highlight=risk+manager
(

jego ewolucja zmierzała nieuchronnie w kierunku, którego owocem jest VORM_InfoBox) – a Expertem 

„Luktum Visual Order Editor”, którego najnowszą wersję można pobrać ze strony autora: 

http://luktom.biz/blog/h/ea/luktom-visual-order-editor

 . Jednakże mój VORM_EA został mocno 

przerobiony.
Najciekawsze funkcje VORM_EA:

1. Oprócz funkcji, które były dostępne w „LuktumVisualOrderEditor”, jak BreakEven, ClosePart, 

automatycznie ustawianych zleceń SL i TP...

2. Multiplikacja poziomów ClosePart.
3. Funkcja TrailingStop z następującymi opcjami:

Stepping – czyli standardowy TS. SL podąża za ceną w zadanej odległości

Jumping – Skaczący TS. SL ustawi się za ceną w zadanej odległości, ale najpierw cena musi 

oddalić się o wartość większą od JumpingLevel. 

MovingAverage – TS podąża ze ceną po średniej kroczącej

ClosePart – TS zajmuje pozycję na poprzednim poziomie CP

Najciekawsze funkcje VORM_InfoBox:

1. RiskManager – czyli informacje związane z zarządzaniem ryzykiem w jednym oknie z wykresem;
2. Wyświetlanie ustawień VORM_EA
3. Blok z informacjami o aktualnych zleceniach.
4. Blok z informacjami o historycznych zleceniach, wraz z podsumowaniem Profit/Loss w pipsach.
5. Najważniejsze: z poziomu ustawień VORM_InfoBox, można również zmienić ustawienia 

VORM_EA, nie trzeba wyłączać, lub wyrzucać Experta, aby ponownie wprowadzić go z nowymi 
ustawieniami. 

background image

Ustawenia Experta VORM_EA

1. Instalacja

Plik VORM_EA.ex4 należy skopiować do katalogu '\experts'  

(Np.: C:\Program Files\X-Trader 4 XTB PLN\experts ) - ( jak widać korzstam z usług XTB i jakoś nie 
narzekam... )

2. Po ponownym uruchomieniu Terminala, z okna 'Navigator' przenieś myszką Strategię VORM_EA w 

okno wykresu.

3. Należy pamiętać, aby w parametrach ogólnych do strategii zaznaczyć opcję 'Umożliw handel'. 

Zakładka 'Wpisz parametry' nie interesuje nas, ponieważ parametry te będziemy modyfikować z 
poziomu Indicatora.

4. Włączamy strategię w Terminalu i jeśli w prawym górnym rogu okna wykresu pojawiła nam się 

nazwa VORM_EA, i obok uśmiechnięta buźka, tzn że udało nam się uruchomić Strategię (EA – 
Expert Advisor, eksperta...). Przechodzimy do wskaźnika.

background image

Ustawienia VORM_infoBox

1. Aby wstawić nasz wskaźnik (Indicator) VORM_InfoBox, do wykresu, można to zrobić podobnie jak 

z Expertem, lub z głównego menu terminala wybieramy opcję:

'Wstaw'   'Wskaźniki'   'Własne'   'VORM_InfoBox'

2. Jeśli wyświetli się nam okno z ustawieniami to przechodzimy do pkt.3, jeśli nie, to klikamy prawym 

klawiszem myszy w oknie wykresu i wybieramy opcję 'Lista wskaźników' – a następnie z listy, która 
nam się ukaże wybieramy VORM_InfoBox i naciskamy klawisz 'Edytuj'. Tym razem interesuje nas 

zakładka 'Wpisz parametry'. Uwaga! Tak również będziemy modyfikować parametry już podczas 
pracy obu narzędzi.

3. Opis parametrów i ich zastosowanie:

RiskManager

   

-   RiskManager   i   InfoBox   zawierają   parametry,   od   których   zależy   to   co   się 

wyswietli w bloku 1 wskaźnika.

RM_Parameters –  To  tylko tytuł dla bloku parametrów, żeby się nie  pogubić... :), a blok 
pierwszy to Parametry RiskManager'a

MTD  –   Maksymalny   depozyt   w   %,   czyli   ile   procent   z   naszej   kasy   jesteśmy   skłonni 
zaryzykować...   tzn.   przeznaczyć   na   zakup   lotów   ;).   Linia   'Max

 

Margin' na wskaźniku

MTD_Descript – opis powyzszego

MLR – Maksymalna dopuszczalna strata w %, jaką skłonni jesteśmy ponieść. Linia 'Max Loss'

MLR_Descript – opis powyższego

Precision  –   Parametr   określa   liczbę   miejsc   po   przecinku   dla   voluminu   -  
 

1 – dla minilotów (0.1),

 

2 – dla mikrolotów (0.01)

Precision_Descript – opis powyższego

InfoBox

InfoBox_parameters – blok parametrów indicatora

VisibleBox –  true/false – Pokaż/Ukryj cały blok  1  'RISK 

MANAGER'.

background image

VisibleMaxMargin – true/false – pokaż/ukryj wiersz 'Max Margin'. 

VisibleMaxLoss – true/false – pokaż/ukryj wiersz 'Max Loss'.

VisibleMaxVolume – true/false – widoczność wiersza 'Max Volume' – to tutaj jest informacja 
dla handlowca ile lotów (volumen) może nabyć przy wcześniejszych założeniach, oraz ile wart 

jest 1 pips, przy danym volumenie

VisibleCurrSpread – true/false – pokaż/ukryj wiersz 'Curr.Spread' – czyli różnicę między ceną 

Ask, a ceną Bid dla aktualnej pary walutowej.

VisibleMaxVolSL – true/false – pokaz/ukryj maksymalny, dopuszczalny poziom SL w pipsach 

dla danego volumenu, wyliczonego dla wartości 'Max Margin' i 'Max Loss'

VisibleStopLossLevel – true/false – pokaż/ukryj poziom SL ustawiony dla VORM_EA, a przy 

okazji jaki możemy maksymalnie otworzyć volumen, przy założeniach MaxMargin/MaxLoss. Jak 
widać na przykładowym rysunku (blok. 1) wyliczony SL miałem na poziomie 26 pipsów, a ja 

miałem ustawiony SL na 25 pipsach, tak czy siak maksymalnie mogłem otworzyć 0.2 lota, żeby 
nie stracić więcej niż 3% :).

InMainWindow – true/false – pokaż w głównym oknie wykresu, lub w pierwszym widocznym 
sub-oknie np. innego wskaźnika. Warto jednak pamiętać, że można z tego skorzystać, jeśli 

mamy zamiar korzystać wyłącznie z jednego bloku informacyjnego, bo całość zajmuje sporo 
miejsca w pionie...

X_InfoBox – prawy margines w pikselach.

Y_InfoBox – górny margines w pikselach

LabelFontColor – kolor dla Labelek (opisów). Domyślnie: FireBrick

ValueFontColor – kolor dla wartości. Domyślnie: Gold :)

Other_RM_helpers   –  inne   'pomoce'   związane   z   RiskManagerem, 
np.:

ShowTimeLeftToBarEnd   –  true/false   –   pokaż   ukryj   czas   do 
zamknięcia świecy dla danego okresu.

Space - :) przerywnik między parametrami dla RiskManagera i jego 
boxu, a parametrami dla Experta VORM_EA i boxu informacyjnego z 

nim związanego.

VisualOrder InfoBox

VO_InfoBox_Params   –  Nazwa   kolejnego   bloku   parametrów,   tym   razem   dotyczących 

InfoBoxu w głównym oknie wykresu

VisibleVO_Box   –  true/false   –   pokaż/ukryj   boksy   z 

informacjami z działalności VORM_EA

VisibleVO_Settings – true/false – pokaż/ukryj aktualne 

ustawienia   dla   VORM_EA.   Blok   'VO   SETTINGS'   -   patrz 
rysunek 2. Jak widać w boxie prezentowane są ustawienia 

typu TP, SL, BreakEven, ClosePart i TrailingStop. 

VisibleVO_OrderStatus – true/false – pokaż/ukryj info z 
aktualnymi zleceniami – blok 'ACTIVE ORDER'. np. tak jak 

na rys.  3. Jest otwarte jedno zlecenie na parze EURJPY, 
typu   SELL,   z   ustawionym   TP   na   120pipsów   i   SL   na 

25pipsów. W tej chwili cena jest na -18 pipsów, dlatego 
typ zlecenia, jak i łączna ilość punktów zdobytych jest w 

kolorze   StopLossColor,   inaczej   byłoby   w   kolorze 
TakeProfitColor   –   więcej   o   tych   parametrach   w   części   o 

parametrach VORM_EA.

background image

Trades Statistic

TradesStatistic_Params   –  nazwa   bloku   parametrów 

dotyczących Statystyki trade'ów historycznych

Visible_TradesStatistic  - true/false – pokaż/ukryj blok 

statystyki 

Show_nLastOrdersDescript   –  tu   wpisujemy   liczbę 

ostatnich trade'ów, które mają być wyświetlone w bloku 
'LAST n ORDERS'. Na rys.4 widać 3 ostatnie. Widać date, godzinę, symbol pary walutowej, a 

poniżej liczba pipsów na plus, lub na minus, oraz typ zlecenia.

HistoryOrdersPeriod  –   Parametr   dotyczy   ostatniego   bloku   informacyjnego   w   naszym 

InfoBoxie – 'PROFIT/LOSS' – Jest to podsumowanie wszystkich trade'ów z wybranego okresu, 
oraz z całej historii. Wybrany okres wpisujemy w tym parametrze, wybierając jedną z opcji:
0 - All history, 

- cała historia

1 - Today, 

- dzisiejszy dzień

2 - Last 3 days, 

- Ostatnie 3 dni

3 - Last week, 

- Aktualny tydzień

4 - Last month, 

- Aktualny miesiąc

5 - Last 3 months, 

- Ostatnie 3 miesiące

6 - Last 6 months, 

- Ostatnie 6 miesiecy

7 – other

- inny okres – czyli taki jaki podamy w poniższych parametrach.

Ważne! Należy wcześniej w terminalu wybrać zakładkę 'Historia rachunku' i prawym klawiszem 
wybrać opcję 'Cała Historia'. Inaczej pomimo wybranych opcji we wskaźniku i tak będziemy 

ograniczeni tylko do okresu zaznaczonego w terminalu.

HOP_FirstDate – Wpisujemy datę początku okresu – zachowując przykładowy format daty.

HOP_LastDate – Wpisujemy datę końca interesującego nas okresu.

VisualOrderEA

VO_Parameters – Nazwa bloku parametrów związanych z działaniem Experta

StopLossColor – Określamy kolor dla linii reprezentującej poziom Stop Loss

StopLossStyle – Określamy styl linii. Do wyboru mamy następujące opcje:

0 – STYLE_SOLID 

– linia ciągła

1 – STYLE_DASHED

- linia przerywana: kreska – kreska

2 – STYLE_DOT

- linia kropkowana: kropka – kropka

3 – STYLE_DASHDOT

- linia przerywana: kreska – kropka

4 – STYLE_DASHDOTDOT

- linia: kreska - kropka - kropka

StopLossLevel – poziom SL – standardowo ustawiony jest na 25 pipsów. Jeśli wpiszemy 0, lub 
mniej   niż   wynosi   spread   dla   danej   pary   walutowej,   to   zostanie   ustawiony   SL   wyliczony   z 

RiskManagera.

TakeProfitColor – Określamy kolor linii reprezentującej poziom Take Profit

TakeProfitStyle – Styl linii TP. Dostępne opcje są takie jak przy SL

TakeProfitLevel  – Określamy poziom TP. Standardowo ustawiony jest na 120 pipsów. Jeśli 

wpiszemy 0, to zostanie ustawiony na 3*SL – trzykrotność poziomu SL.

PendingSellColor – Kolor dla zleceń oczekujących typu SELL: SELL STOP, SELL LIMIT

PendingBuyColor – Kolor dla zleceń oczekujących typu BUY: BUY STOP, BUY LIMIT

OrderLimitStyle – Styl linii dla zleceń oczekujących typu LIMIT: SELL LIMIT, BUY LIMIT

OrderStopStyle – Styl linii dla zleceń oczekujących typu STOP: SELL STOP, BUY STOP

BE_Function  –   Nazwa   dla   bloku   parametrów   dotyczących   funkcji   BreakEven.  

BreakEven to funkcja mająca za zadanie obronę zlecenia, gdy ustawisz poziom BE, a cena go 
przebije, twoje zlecenie zostanie zabezpieczone - stop loss zostanie przesunięty tak, abyś w 
razie powrotu nie stracił.

 

BreakEvenEnable – true/false – włącz/wyłącz funkcję BreakEven

background image

BreakEvenColor – kolor dla linii reprezentującej poziom BE

BreakEvenStyle – styl linii dla BE

BreakEvenLevel – domyslny poziom w pipsach. Standardowo ustawiony jest na 35 pipsów

CP_Function – nazwa dla bloku parametrów dotyczących funkcji ClosePart. Funckja ta ma za 

zadanie   zamknąć   część   zlecenia   po   przekroczeniu   przez   cenę   określonego   poziomu.   W 
VORM_EA możemy określić dodatkowo ile tych poziomów ma być. Każdy będzie odsunięty od 

poprzedniego o określoną liczbę pipsów.

ClosePartEnable – true/false – włącz/wyłącz funkcję CP

ClosePartColor – kolor dla linii CP

ClosePartStyle – styl linii (dostępne opcje dokładnie takie same jak przy SL, TP czy BE)

ClosePartLevel – poziom w pipsach dla ceny, po przekroczeniu którego część zlecenia zostanie 
zamknięta. Standardowo ustawiony jest na 35 pipsow

ClosePartLots  –   Wielkość   voluminu,   czyli   jaka   duża   część   zlecenia   ma   zastać   zamknięta. 
Standardowo ustawiony jest na 0.1 lota i jest to minimalna wartość.

CP_MultiplyLevels – czyli ile tych poziomów ma być. Standardowo ustawione jest na 3, ale 
jeśli np. ustawimy ClosePartLevel na powiedzmy 55 pipsów, a TakeProfit na 120 pipsów, to 

trzeci poziom CP wyjdzie na 165 pipsach. Taki poziom nie będzie rysowany. Czyli że będzie 
widać tylko dwa poziomy.

TS_Function – Nazwa dla bloku parametrów związanych z funkcją TrailinStop, czyli ruchomego 
StopLoss

TrailingStopEnable – true/false – włącz/wyłącz funkcję TS

TrailingStopType – wybieramy typ TS, a do wyboru mamy:

stepping (standard), kroczący, czyli zwykły TrailingStop. Po każdej zmianie 

ceny w pożądanym kierunku, poziom SL jest natychmiast przesuwany zachowując  

określony w parametrze TS_Distance dystans

1 - jumping, skaczący TrailingStop – poziom SL jest przesuwany na określony dystans, 

dopiero   po   oddaleniu   się   ceny   o   określony   w   parametrze  TS_JumpingLevels  
poziom. Przykladowo mamy ustawiony TS_Distance na 20 p i TS_JumpingLevel na 

25p – to SL zostanie przesunięty za ceną zachowując odległość 20 p dopiero wtedy 
gdy cena oddali się o 25 pipsów od poziomu SL.

2   -   MovingAverage,   -   TrailingStop   podążający   za   ceną   w   odległości   jaką   określa  

średnia   krocząca.   Jedna   z   ciekawszych   funkcji   moim   zdaniem   –   czasami   można  

złapać   niezły   ciąg,   gdy   sami   zamknęlibyśmy   zlecenie   dużo   wcześniej.   Wszystko  
zależy od ustawnia.

3   -   CloseParts  –   TS   współpracujący   z   funkcją   ClosePart   (Funkcja   CP   musi   być  

uruchomiona). Linia StopLoss jest przesuwana na poprzedni poziom CP, gdy cena  

przebija kolejny poziom CP.

TS_Distance – w pipsach, czyli w jakiej odległości od ceny ma podążać StopLoss (zachowując 

oczywiście pożądany przez nas kierunek :). Parametr dla TrailingStopType: 0 i 1.

TS_JumpingLevels  – odległość jaką musi pokonać cena od SL, żeby SL został przesunięty. 

Parametr dla  TrailingStopType: 1

TS_MAPeriod  –   wpisujemy   okres   dla   średniej   kroczącej.   Muszę   tu   zaznaczyć,   że   MA   jest 

wyliczana od ceny otwarcia, dzięki temu SL nie skacze eliminując wahania ceny.

TS_MAMethod – określamy metodę w jakiej liczona jest średnia krocząca. Dostępne opcje:

0 – MODE_SMA - Simple Moving Average
1 – MODE_EMA - Exponential Moving Average
2 – MODE_SMMA - Smoothed Moving Average
3 – MODE_LWMA - Linear Weighted Moving Average

TS_ActivatedLevel   –  Tutaj   możemy   określić   poziom   dla   ceny,   po   przekroczeniu   którego 
aktywuje się funkcja TS i SL będzie przesuwany. Jeśli wpiszemy 0, to TS będzie działać po 

przekroczeniu ceny otwarcia zlecenia. 

background image

Dodatkowo jest jeszcze parametr  TimerEnabled,  ustawiony na  true  i lepiej tego nie zmieniać. Dzięki 
temu przesuwanie linii na wykresie cenowym jest możliwe w czasie rzeczywistym, a nie tylko w chwili 

odebrania tick'a (mówiąc prosto – takiego pojedynczego tyknięcia ceny ;).
Ważne!  Pomimo tego, że klikając na linię reprezentująca dane zlecenie (SL, TP, BE, CP) i przesuwając 

mamy wpływ na owe zlecenia, to w rzeczywistości są one realizowane na serwerze brokera dopiero z 
nadchodzącym tick'iem. Do tego dochodzi czas opóźnienia na łączach itp. Trzeba o tym pamiętać.

A na obrazku widać VORM'a w akcji, choć akurat niefortunnie zlecenie było SELL, a cena poszła w górę, 
widać   linię   czerwoną,   przerywaną   zlecenia   SL.   (Zielona   linia:   kreska   –   kropa   –   kreska,   to   akurat 

standardowa linia ceny otwarcia...). Obok zaś działający VORM_InfoBox...

Pozdrawiam i życzę miłego trade'owania. :)
Szczególne pozdrowienia dla Luktum, za Jego LuktumVisualOrderEditor, na którym VORM był wzorowany. 

Stary piękna robota! :)

Pzdr.:
Tomasz Wolny ~Ykee

ykee@wp.pl

p.s.: Ponieważ jest to wersja beta, wszelkie uwagi nt błędów będą mile widziane... potem już nie. ;)


Document Outline