Wysyłanie wiadomości przez Skype z poziomu EA

Kategoria: Repozytorium kodu MQL4 | 7 kwietnia 2009 o 14:30 | Odpowiedzi: 7 | Permalink

Przeglądając ostatnio bazę artykułów witryny MQL4 Community natrafiłem na ciekawy artykuł pt. “Using Skype to Send Messages from an Expert Advisor“.

W artykule opisane jest krok po kroku jak wszystko ustawić i zainstalować, ja pokuszę się jedynie o sporządzenie “esencji” tego artykułu, aby w przyszłości nie trzeba było szukać w całości :)

Czytaj dalej »


Realizacja breakpointów w testerze

Kategoria: Repozytorium kodu MQL4 | 25 marca 2009 o 22:17 | Odpowiedzi: Brak | Permalink

Dołączony do standardowej instalacji MetaTradera plik WinUser32.mqh (w experts\include) zawiera same interesujące funkcje. Na potrzeby tego wpisu zajmiemy się jedną z nich, a mianowicie keybd_event. keybd_event, jak sama nazwa wskazuje, symuluje zdarzenia klawiatury, a więc możemy w praktyce “udawać” naciśnięcia przycisków na klawiaturze.

W ten sposób można zastosować fajny trik, dzięki któremu jesteśmy w stanie zatrzymać tester w trybie visual mode poprzez zasymulowanie naciśnięcia klawisza pauzy.

Czytaj dalej »


6 przydatnych mini funkcji MQL

Kategoria: Repozytorium kodu MQL4 | 12 marca 2009 o 17:28 | Odpowiedzi: 2 | Permalink

Gdy tak czasem przeglądam kod innych osób zastanawia mnie po co było pisać aż tyle w niektórych miejscach, skoro można zrobić to krócej i bardziej elegancko. Poniżej przedstawiam kilka małych, jednak jakże przydatnych funkcji, które pozwalają w wielu miejscach uczynić kod krótszym, bardziej eleganckim i także - bardziej czytelnym. Czytaj dalej »


Rysowanie strzałek na wykresie

Kategoria: Repozytorium kodu MQL4 | 12 lutego 2009 o 16:29 | Odpowiedzi: Brak | Permalink

Bardzo często, podczas pisania EA zachodzi potrzeba weryfikacji, czy EA dobrze interpretuje dane odczytane z wskaźników. W zadaniu tym bardzo pomaga mi funkcja drawArrow.

Funkcja pozwala na łatwe dodanie do wykresu strzałki skierowanej w górę lub w dół, dzięki czemu można wizualnie prześledzić momenty generowania sygnałów, zwrotów trendów, spełnianie warunków czy też czego tylko dusza zapragnie :) Czytaj dalej »


Automatyczne ustawianie stop lossów

Kategoria: Repozytorium kodu MQL4 | 28 stycznia 2009 o 23:18 | Odpowiedzi: 6 | Permalink

Jakiś czas temu opisywałem ciekawą ofertę brokera MB Trading. Z racji, iż jest to broker ECN w specyficzny sposób obsługuje on składanie zleceń - nie można złożyć zlecenia po rynku z predefiniowanymi poziomami SL i TP - trzeba wejść po rynku, a następnie modyfikować poziomy SL i TP.

Powyżej opisana sytuacja (oraz liczne, wręcz zbyt licznie pytania) zainspirowała mnie do napisania tego wpisu. Poniżej przedstawiam przykładowy kod, jaki można wykorzystać, aby automatycznie ustawić SL dla wszystkich zleceń go nie posiadających. Kod oczywiście można stosować nie tylko u brokerów ECN. Czytaj dalej »


Czekające EA czyli odsiewanie błędnych sygnałów

Kategoria: Repozytorium kodu MQL4 | 13 stycznia 2009 o 12:01 | Odpowiedzi: Brak | Permalink

O odsiewaniu błędnych sygnałów można by książkę napisać, ale to może nie dzisiaj :)

Dzisiaj jednak na krótkim przykładzie pokażę jeden z możliwych sposobów - wstrzymanie EA na podany czas po zamknięciu ostatniej pozycji. Użyjemy do tego niedawno przeze mnie opublikowanej funkcji lastCloseTime.

Ogólna idea przykładu jest taka: mamy EA korzystającego z jakiegoś wskaźnika i wiemy, że w okresie konsolidacji generowanych jest wiele błędnych sygnałów, które chcemy odfiltrować. Użyjemy do tego wspomnianej funkcji lastCloseTime. Czytaj dalej »


Ustalanie czasu zamknięcia ostatniej pozycji

Kategoria: Repozytorium kodu MQL4 | 10 stycznia 2009 o 15:45 | Odpowiedzi: Brak | Permalink

Poniżej publikuję wersję funkcji sprzed kilku dni, tym razem określamy czas zamknięcia ostatniej pozycji (ostatniej chronologicznie). Natomiast w którymś z następnych wpisów pokażę, jak można tę funkcję wykorzystać do odsiewania błędnych sygnałów. Czytaj dalej »


Ustalanie czasu otwarcia ostatniej pozycji

Kategoria: Repozytorium kodu MQL4 | 5 stycznia 2009 o 13:09 | Odpowiedzi: Brak | Permalink

Czasami zachodzi potrzeba ustalenia czasu otwarcia ostatniej pozycji (ostatnia w sensie chronologii), przy czym chcemy brać pod uwagę tylko pozycje o określonym magic number i tylko pozycje określonego typu.

Poniższa funkcja zwraca timestamp czasu otwarcia ostatniej pozycji o podanym magic number i będącą określonego typu (lub -1 aby uwzględnić wszystkie typy pozycji).
Czytaj dalej »


Sprawdzanie ilości zleceń w arkuszu zleceń

Kategoria: Repozytorium kodu MQL4 | 8 grudnia 2008 o 14:09 | Odpowiedzi: Brak | Permalink

Każdego tygodnia średnio trzy do pięciu osób odsyłam do zajrzenia w kod któregoś z moich wskaźników w celu wydobycia funkcji countOrders, służącej do łatwego i szybkiego sprawdzania liczby otwartych pozycji - najwyższa więc pora wrzucić tę funkcję do Repozytorium kodu na tym blogu, najpierw jednak o tym, dlaczego używać mojej funkcji, zamiast OrdersTotal().

Problem z OrdersTotal jest taki, że nie oferuje ona filtrowania zleceń, a jedynie zwraca ilość zleceń w tablicy zleceń, przez co trzeba za każdym razem sprawdzać typ i magic number zlecenia. countOrders rozwiązuje ten problem elegancko i skutecznie pozwalając na elastyczny wybór dokładnie tych zleceń, jakie chcemy policzyć.

Czytaj dalej »


Normalizacja wielkości pozycji

Kategoria: Repozytorium kodu MQL4 | 17 września 2008 o 17:20 | Odpowiedzi: Brak | Permalink

Często, czy to na forach, czy też za pośrednictwem komunikatorów ludzi pytają dlaczego ich EA nie działa, po czym okazuje się, że w kodzie nie sprawdzają, czy wyliczona na podstawie ich money management wartość wielkości pozycji jest dopuszczalna przez brokera.

A sprawa jest bardzo prosta - wystarczy przepuścić obliczoną wielkość przez funkcję normalizującą, taką jak ta:

Czytaj dalej »