Grzegorz Molenda

Programista (Delphi/Pascal, MQL4, Oracle PL/SQL, XML, JSON)

Wypowiedzi

  • Grzegorz Molenda
    Wpis na grupie Sieci Komputerowe w temacie jak wykryć wirusa w WLAN

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Sieci Komputerowe

  • Grzegorz Molenda
    Wpis na grupie FOREX forex w temacie [MQL4 / MT4] Niezależny zegar czasu rzeczywistego dla...
    16.09.2011, 17:58

    Zapraszam do lektury tematu pod adresem:
    http://www.goldenline.pl/forum/2571118/vitesoft-net-mq...

  • Grzegorz Molenda
    Wpis na grupie ViTESOFT.net MQL 4 KB w temacie ViTESOFT.net MQL 4 KB
    15.09.2011, 00:38

    1. Pierwszy i najważniejszy problem/zagadnienie:

    Często potrzeba skorzystać w implementowanej strategii z najbardziej podstawowej informacji jaką jest data i godzina, od której może być uzależniony przyszły zysk lub strata.

    Jak wiadomo MQL4 posługuje się formatem

    datetime czas;

    jest to typowy unix-owy znacznik czasu (czyli liczba sekund po północy roku 1970.01.01).

    Sama reprezentacja wartości nie jest tak istotna, jak fakt, że opieranie pracy strategii na funkcjach
    datetime TimeCurrent()
    datetime TimeLocal()

    jest ok, do momentu w którym wykonanie pewnych czynności przez strategię w określonym czasie, nie jest nam potrzebne i oczywiście strategia nasza pracuje na "tikach".

    Jest jednak taki moment, w którym bardziej rozgarnięty inwestor/programista zaczyna rozumieć, że kluczem do sukcesu jest działanie wyprzedzające zaistniałe zdarzenia i z tej prostej przyczyny wyklucza oczekiwanie na "tik".

    Jak się okazuje, istnieje proste rozwiązanie, trzeba przejść na tzw. "tryb asynchroniczny", czyli innymi słowy przejąć kontrolę nad wykonywaniem się funkcji start i wykonywać ja w koło bez końca. Poniższy fragment kodu zobrazuje o co chodzi:
    #property copyright "Copyright © 2011, ViTE Software Solutions"
    #property link "http://vitesoft.net";

    bool async_mode_running = false;

    void timer() {
    while(!IsStopped()) {
    Sleep(100);
    start();
    }
    }

    int init() {
    timer();
    return(0);
    }

    int deinit() {
    return(0);
    }

    int start() {
    if (async_mode_running) return (0);

    if (!IsConnected() || !IsTradeAllowed() || IsTradeContextBusy()) {
    async_mode_running = false;
    return (0);
    }

    async_mode_running = true;
    // RefreshRates();

    // tu wykonujemy nasze polecenia

    async_mode_running = false;

    return(0);
    }


    Teraz, kiedy nasza strategia kręci się w kółko, dochodzimy do sedna problemu!
    TimeCurrent() i TimeLocal() są niestety zawodne.
    Pierwsza funkcja bazuje na danych pochodzących z serwera kwotującego (naszego operatora) i zawiera informację o ostatnim odebranym kwotowaniu (tu w odniesieniu do zegara rynkowego), druga podaje czas pochodzący z naszego komputera, który może się różnić od czasu wykorzystywanego przez serwer, do którego jesteśmy podłączeni lub po prostu z uwagi na to, iż czas na naszym komputerze może być "mocno" nieprecyzyjny, także nie nadaje się do użycia.

    Pytanie brzmi: Jaką mamy alternatywę, jeśli w ogóle jakąś mamy!?
    MAMY! NIEZALEŻNY ZEGAR CZASU RZECZYWISTEGO. Dlatego powstał ten wątek...

    Po pierwsze szukając w necie, nie natrafiłem na żadne dostępne rozwiązanie, pomimo tego, że pyta o to wiele osób.
    Po drugie, jeśli już ktoś coś proponował, to nie widziałem ani grama kodu, który dało by się zaimplementować we własnych "ekspertach".

    Tak więc konkluzja jest taka, wystarczy użyć mojego rozwiązania (kod poniżej) i wszystko będzie z głowy:
    #import "exttimer.ex4"
    datetime getTime(int gmt_offset = 0);
    #import

    int start() {
    if (async_mode_running) return (0);

    if (!IsConnected() || !IsTradeAllowed() || IsTradeContextBusy()) {
    async_mode_running = false;
    return (0);
    }

    async_mode_running = true;
    // RefreshRates();

    datetime now = getTime(2); // 2 oznacza przesunięcie czasu względem GMT
    Comment(TimeToStr(now, TIME_DATE | TIME_SECONDS));

    async_mode_running = false;

    return(0);
    }


    Jeśli jesteście zainteresowani moim rozwiązaniem, proszę o kontakt.

    Biblioteka MQL4 (exttimer.ex4) - Niezależny zegar czasu rzeczywistego / Independent real-time clock.
    Cena: 199 PLN (nie udostępniam kodu źródłowego biblioteki).Grzegorz Molenda edytował(a) ten post dnia 05.09.12 o godzinie 06:11

  • Grzegorz Molenda
    Wpis na grupie ViTESOFT.net MQL 4 KB w temacie ViTESOFT.net MQL 4 KB
    15.09.2011, 00:35

    Witam!

    Od kilku lat zajmuję się programowaniem w MQL4 i ostatnio stwierdziłem ku swojemu zdziwieniu, że są jeszcze takie zagadnienia, na które wcześniej nie zwracałem uwagi, a w związku z postępami w pracach nad udoskonalaniem własnych strategii, wpadłem na nie niespodziewanie.

    Ponieważ zderzenie z tymi zagadnieniami spowodowało wystąpienie wielu "niepożądanych problemów", postanowiłem zająć się ich eliminacją.

    W tym miejscu zrodził się pomysł opisania niektórych z tych zagadnień i opracowanych przeze mnie rozwiązań.

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie Czy nowy projekt społecznościowy Piotra Tymochowicza ma...
    1.09.2010, 04:38

    Trochę czasu minęło, jesteśmy bogatsi o kilka faktów.

    Po pierwsze jest 21 wiek, takie portale dają dostęp za darmo, a żyją z reklam, bo tylko ten obszar rozwija się najbardziej dynamicznie.
    Po drugie, start notowań giełdowych firmy "I" pokazał, że nie ma się czym podniecać, spadek wartości akcji mówi dobitnie, ile to coś jest warte.
    Po trzecie, no właśnie, od pięciu miesięcy na temat "SG" ani jednego słowa nie widziałem nigdzie. Jak dla mnie oznacza to tylko jedno - totalną śmierć tego tematu, jak i samego "SG".

    P.S. 30k użytkowników (i kolejne 30k ze świata) - no to wogóle jest tak wygórowana liczba, że taki facebook, myspace, nasza-klasa i inne, to wogóle powinny się cieszyć, że sie do nich miliony zapisały bez jakiegoś specjalnego "pozyskiwania", z własnej woli i całkowicie za darmo...

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie Czy nowy projekt społecznościowy Piotra Tymochowicza ma...
    19.01.2010, 13:11

    Już mam odpowiedź: falstart!
    O 12-tej mieli opublikować listę 100.

    Sprawdzałem Blog.SG, solarisgate.pl oraz 100nasolaris.pl (to to samo co poprzedni adres).
    Listy brak! Kiszka! Tyle mogę powiedzieć o SG.

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie Czy nowy projekt społecznościowy Piotra Tymochowicza ma...
    19.01.2010, 11:02

    W zasadzie to mam wrażenie, że specjaliści z Infinity mają problem zdefiniowany wyraźnie w filmie MatriX - mianowicie, że język programowania, którym się posługują, jest niewystarczający do pełnego i dokładnego wyrażenia tego, co chcą osiągnąć. W zamian dostaniemy jakąś "łatkę" sporządzoną naprędce.

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie Czy nowy projekt społecznościowy Piotra Tymochowicza ma...
    19.01.2010, 10:47

    Bo jak się w to wszystko wczytać uważnie, co się w niecie na ten temat pojawiało do tej pory, to nasuwa mi się jedna konkluzja: skoro na wstępie nie zamierzają nas zaskoczyć czymś odbiegającym od tego co jest już dostępne - to gdzie tu będzie jakaś rewolucja?

    Jak dla mnie, to jeśli chcą zabłysnąć, to powinni ruszyć z kopyta, ze wszystkimi bajerami, a nie wprowadzać je stopniowo. To co już istnieje trzeba czymś przebić, a nie proponować to samo plus zapowiedzi, że reszta się pojawi z czasem.

    Nie przemawia to do mnie w żaden sposób!

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie Czy nowy projekt społecznościowy Piotra Tymochowicza ma...
    19.01.2010, 10:34

    Witam, podobno wczoraj (poniedziałek) wieczorem miało się okazać, kto jest tym "szczęśliwcem" ze 100 osób do testowania SG.
    Jak na razie nie ma w ogóle żadnych przecieków od tych osób, czy się z nimi ktoś kontaktował od twórców i czy już się logowali do tego "czegoś".
    To raczej według mnie, nie przepowiada sukcesu temu portalowi...

    Ludzie dajcie znać co i jak!!! Jakieś opinie, screeny, cokolwiek!

  • Grzegorz Molenda
    Wpis na grupie WEB 2.0 w temacie podbij.pl gdzie zarobek?
    17.09.2008, 16:32

    To jest jak najbardziej w całości sprzeczny zapis z prawami konsumenta, zawsze można wystąpić o poprawienie/usunięcie swoich danych z jakiejś bazy danych...

    Ale to jest lepsze:

    §5.

    Spółka oświadcza, iż nikt spośród pracowników Spółki
    lub osób współpracujących przy tworzeniu portalu Podbij.pl,
    nie ma może brać udziału w aukcjach
    na takich samych prawach jak Użytkownicy.

    Znaczy się, że oni tam mają prawa co najmniej przekraczające prawa Użytkownika!!!Grzegorz Molenda edytował(a) ten post dnia 17.09.08 o godzinie 16:49

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do