Wednesday 8 November 2017

Jforex api dokumentacja


Największym problemem, jaki miałem podczas uczenia się programowania własnych strategii handlowych w JForex, jest znalezienie, od czego zacząć naukę. W tamtych czasach było niewiele dokumentacji JForex i musiałem nauczyć się poprzez staranne próby i błędy z pomocą techniczną Dukascopys. Co z pewnością zmieniło się na lepsze, gdy społeczność JForex zaczyna się rozwijać, a dokumentacja jest przynajmniej wystarczająca, aby ktoś zaczął pracę. Ten post jest pierwszą serią szybkiego podręcznika dla początkujących do nauki programowania JForex, umieszczając wszystkie te materiały w samouczku. JForex jest narzędziem języka Java JForex w rzeczywistości nie jest językiem programowania. Jest to interfejs programowania aplikacji (API) do użytku ze standardowym językiem programowania języka Java. Jako taki, pierwszym krokiem do nauki programowania w JForex jest nauka Java. Na szczęście Java jest jednym z najbardziej popularnych języków programowania. Więc z mnóstwem zasobów i poza siecią, aby nauczyć się programowania w Javie. Oto kilka przykładów bezpłatnych poradników online: Samouczki Javy - jest to oficjalny samouczek od autora Javy. Wysoce polecany. Samouczek Java dla początkujących - bardziej przystosowany dla początkujących początkujących do programowania. Jeśli wolisz książkę, polecam Head First Java, 2nd Edition. Szarpnęłam swoją Javę z tej książki. Nie zastanawiałeś się zbytnio na Javie, ponieważ musisz tylko zapoznać się z podstawami, aby zacząć pracę z JForex. Przeczytaj kilka rozdziałów, aby zrozumieć składnię języka Java, a następnie przejść dalej. Możesz zawsze odwoływać się do nich później. Nurkowanie w JForex JForex Wiki jest jednym z trzech podstawowych zasobów programistów JForex. Będę odwoływał się do niektórych konkretnych stron Wiki w tej serii postów. Jeśli nie chcesz tego zrobić, zarejestruj się na konto DEMO w Dukascopy. Następnie uruchom platformę JForex i postępuj zgodnie z instrukcjami na stronie Użyj w JForex wiki, aby zebrać swoją pierwszą strategię JForex Do tej pory tak dobrze Na tym etapie mam nadzieję, że możesz zrozumieć podstawowy kod źródłowy języka Java i wiedzieć, jak rozpocząć, skompilować i uruchamiać Strategia JForex. W następnym poście w tej serii JForex nauki będziemy badać anatomię strategii JForex. JForex API JForex API umożliwia tworzenie niestandardowych aplikacji używających języka programowania języka Java. Bibliotekę klienta API można powiązać z systemami klientów. Komunikuje się bezpośrednio z serwerami Dukascopy Bank w bezpiecznych i uwierzytelnionych sesjach internetowych. Nie trzeba równocześnie uruchomić platformy JForex, ale platforma może być używana do monitorowania w czasie rzeczywistym wszelkich działań podejmowanych przez system klientów. Aby rozpocząć pracę z pakietem JForex Software Development Kit (JForex SDK) pobierz i zaimportuj go do wybranego środowiska programistycznego Java (Java Integrated Development Environment - IDE): Zestaw narzędzi JForex zawiera przykłady: strategii działającej z żywą strategią strategii back-testing back - testowanie w trybie wizualnym Omówienie JForex SDK opisuje jak modyfikować i poprawiać te przypadki użycia. W celu opracowania strategii rozpocznij od omówienia strategii API. Najnowsze informacje o zależnościach JForex SDK można znaleźć zawsze w publicznym repozytorium Dukascopy Maven. co oznacza, że ​​można skonfigurować ich projekt, aby zawsze używać najnowszej wersji JForex API. Bądź na bieżąco z najnowszymi aktualizacjami aplikacji Jforex api i subskrybuj automatyczne wiadomości e-mail dotyczące wydań Jforex API. Nie zapomnij też sprawdzić naszego forum pomocy API, w którym publikowane są wszystkie publikacje Jforex API. Omówiono anatomię pustej strategii JForex (część 1 i część 2), jej czas na wykonanie operacji. MAPlay jest strategią dołączoną do każdego pobrania JForex API jako demonstracji. Pełny kod źródłowy tej strategii można znaleźć w pliku srcsinglejartest w pakiecie z pakietem JForex API. Przypomnijmy, że pierwsza metoda interfejsu, która działa na początku strategii, jest na początku. Metoda onStart z mapowania jest odtwarzana poniżej. Silnik zmiennych. wskaźniki. i konsola są polami klasy MAPlay. Są to zmienne globalne w klasie. Jakie linie 42-44 robią to, aby zapisać IEngine. Idyktory. i obiekty IConsole do późniejszego wykorzystania. Ostatnia linia onStart, wiersz 45 to tylko wydrukowanie wiadomości w konsoli programu JForex, aby powiadomić użytkownika, że ​​strategia została uruchomiona. Po ukończeniu przetwarzania onStart serwer prawdopodobnie zadzwoni do systemu Tick, jeśli pojawi się błąd na rynku. Jeśli nie w godzinach rynkowych, to nie ma kleszczu, a inne zdarzenie może się zdarzyć, zamiast w systemie. Pomyśl o metodach jako zdarzeniach niż o liniowym procesie. Opracowujesz strategię JForex zgodnie z tym, co chcesz zrobić z każdym z sześciu imprez IStrategy Interface. W tej konkretnej strategii programista decyduje się na wdrożenie swojej strategii na poziomie kleszcza. Jako taki wiele algorytmów handlu znajduje się w pliku onTick dla MAPlay. Należy pamiętać, że jest to wybór projektu, jeśli chcesz, aby strategia była przetwarzana na poziomie paska, można użyć onBar (lub użyć zarówno funkcji onTick, jak i onBar). Działa kod źródłowy dla onTick w MAPlay. Na pierwszy rzut oka można zauważyć, że zmienne ma0 i ma1 odgrywają kluczową rolę w określaniu konfiguracji. Wskazówka: w celu odwzorowania strategii, można łatwiej pracować do tyłu od momentu złożenia zamówienia, co jest dokonywane przez engine. submitOrder w tym przypadku. ma0 i ma1 posiadają wyniki średnich ruchów wykładniczych (EMA). ma0 jest aktualną wartością. ma1 jest poprzednią wartością kresek. Linie 56--63 sprawdzaj przy użyciu testów IF (wiersze 56 i 60), aby sprawdzić, czy jedna z tych zmiennych zawiera nieprawidłowe dane. Jeśli dane są nieprawidłowe, wskaźnik jest obliczany, a reszta elementu OnTick jest pomijana przez instrukcję zwrotu w wierszu 62. Uwaga: Wartości wskaźników mogą być czasem nieważne (zero, minus lub podwójne. nie w zależności od konkretnego wdrożenia wskaźnika ), jeśli na przykład są niewystarczające dane do jego obliczenia lub wystąpił błąd. EMA są pobierane w wierszach 57 i 59 przy użyciu obiektu IIndicators (który został zainicjalizowany w onStart). JForex Wiki zawiera wyjaśnienie jego wykorzystania. Zauważ, że ma1 to tablica, która została zadeklarowana w linii 38 o wielkości równoważnej liczbie wszystkich dostępnych instrumentów JForex. W szczególności jest on używany ze specjalną wartością indeksu, jak w ma1instrument. ordinal (). Innymi słowy, pyta o obecną szczelinę instrumentów w tablicy ma1. Aktualny instrument to ten, który jest przekazywany do metody w wierszu 55. Przeniesienie kodu, innym punktem zainteresowania jest linia 65, pokazująca użycie instrumentu. getPipValue (). Linia 67 sprawdza, czy bieżąca całkowita liczba pozycji wynosi zero. Jeśli tak jest, co oznacza, że ​​nie ma otwartej pozycji, strategia kontynuuje sprawdzanie sygnału wejściowego, aby wprowadzić handel (wiersze 68-76). positionTotal () jest niestandardową metodą zdefiniowaną w wierszach 84--92. Wykorzystuje pętlę FOR do przechodzenia przez wszystkie zlecenia otrzymane z engine. getOrders (instrument) Kiedy jedno z długich lub krótkich warunków zostanie spełnione, linia 68 i 72 są spełnione, strategia składa kolejno w wierszach 69 krótkie i krótkie linia 73 przez długi czas. Szczegółowe informacje dotyczące składania zleceń rynkowych są opisane w Wiki JForex. Po zatrzymaniu tej strategii nazywa się OnStop (wiersze 48-553). W tej strategii programista ponownie przechodzi przez wszystkie zlecenia ponownie przy użyciu engine. getOrders () i zamyka każdą pozycję z poleceniem order. close () w wierszu 50. To jest dla tej trywialnej strategii. Jeśli jest jeden punkt, który należy pamiętać. Zwróć uwagę na moje użycie wielu linków do javadoc JForex i JForex Wiki w tym poście. Prawdopodobnie znajdziesz wiele odpowiedzi z tych dwóch źródeł. Jeśli nie, to zawsze JForex Support Board. Teraz masz już pojęcie, jak działa MAPlay. java, czas na przetestowanie. W następnym styczniu w styczniu omówimy testera historycznego JForex i co warto obejrzeć, kiedy prowadzimy strategię na żywo. W poprzednim rozdziale omówiliśmy cztery z sześciu metod interfejsu IStrategy. Ostatnie dwie metody, onTick i onBar, gdzie Twoja strategia łączy się z danymi rynkowymi. Każda z tych lub obu tych metod jest miejscem, w którym umieszczasz algorytm obrotu. Twoja strategia byłaby wtedy w stanie przetworzyć dane rynkowe, gdy przychodzą one do jednego paska. Przypomnij, że interfejs IStrategy jest szkieletem Twojej strategii. I ten obiekt IContext jest sercem Twojej strategii. onTickonBar jest szefem Twojej strategii, która zawiera twój algorytm obrotu, który jest mózgiem. Oto definicja metody onTick. Ważne: onTick jest wywoływany dla każdego instrumentu, na który subskrybowana jest platforma JForex (lista instrumentów w polu obszaru roboczego). Pozwól mi powiedzieć, że znowu, onTick jest wezwany do każdego instrumentu, na którym subskrybujesz platformę JForex. Standardową praktyką jest odfiltrowywanie kleszczy dla instrumentów, których nie potrzebujesz za pomocą prostej instrukcji IF-return. if (instrument myInstrument) return Aktualne dane kleszcze są przekazywane do Twojej strategii za pomocą obiektu ITick z parametru metody onTick. Spójrz na wpis ITAVS javadoc, aby zobaczyć, co oferuje. onBar działa w podobny sposób jak onTick. W którym onBar jest wezwany do każdego subskrybowanego instrumentu i okresu znanego JForexowi. Podobnie musisz wyfiltrować wszystkie niepożądane instrumenty i okresy, albo spodziewane efekty z Twojej strategii. Warto zauważyć, że onBar udostępnia zarówno bary IBar i IBar bidBar, reprezentujące paski zapytań i stawek. Pytanie: Co się dzieje, gdy dwa lub więcej okresów się pokrywają, tak jak w 13:45: 1, 5 i 15-minutowe słupki przychodzą w tym samym czasie (nie wspominając o okresach w sekundach też). Odpowiedź: Według Dukascopy Support na forum, przychodzą w ścisłej kolejności, na przykład (1min 1min 1min 1min 1min 5min 1min 1min 1min 1min 1min 5min.) Są w cyklach, w których mniejsze okresy są pierwsze. Forum pomocy JForex Podczas programowania strategii z JForex bez wątpienia zajdą się Państwo pytaniami własnymi. Najlepsze miejsce do zapytania znajduje się na oficjalnym forum wsparcia JForex. To ostatnie z trzech podstawowych zasobów JForex, o których wspominałem wcześniej. Nawet jeśli nie masz żadnych konkretnych pytań, istnieją przykładowe kody, dyskusje na temat kodowania i setki istniejących QampA od innych programistów JForex zamieszczanych na forum. Dotychczasowa dyskusja była bardzo wysoka. Aby pokazać, co można zrobić w ramach IStrategy, rozwiążemy strategię działania w następnym poście. A co jeszcze lepiej zbadać niż najpopularniejsza strategia JForex wszystkich - MAPlay. java. Kontynuując od części 1 tej serii: Rozpoczęcie nauki programowania JForex. teraz byli gotowi dyskutować o prawdziwych rzeczach. Opracowujesz strategie JForex przy użyciu Interfejsu IStrategy (Co to jest interfejs). Zasadniczo interfejs to szkielet kodu zawierający zbiór predefiniowanych pustych metod, które trzeba wykonać samodzielnie. Sześć standardowych metod interfejsu IStrategy to: Poniżej znajduje się pusta implementacja interfejsu IStrategy, znana również jako strategia JForex. Kod ten będzie kompilować w JForex i można go nawet uruchomić. Ale nie robi nic w ogóle, ponieważ nie ma żadnego kodu do uruchomienia w każdej z tych metod. Każda z sześciu metod zostanie właśnie wywołana i wyjdzie natychmiast. Każda z metod jest wyzwalana przez określone zdarzenie. Prawdopodobnie możesz odgadnąć, co to jest z ich imienia. onStart (linia 5) Jest to pierwsza metoda, która jest wywoływana podczas uruchamiania Twojej strategii. Będzie działać raz i tylko raz na początku Twojej strategii. Zwykle inicjujesz tutaj. To, co warto zauważyć, to onStart znajduje się w wierszu 5 kodu. Podpis metody metody onStart Obiektem w parametrze i podanym w tej metodzie jest obiekt IContext. Jeśli IStrategy jest szkieletem, to IContext jest sercem tej strategii. Zapoznaj się z tym odnośnikiem javadoc do IContext, aby zobaczyć, co ten obiekt. Javadoc. Teraz jest dobry czas, aby wprowadzić drugi z trzech podstawowych zasobów programisty JForex. JForex Javadoc jest najbardziej aktualną dokumentacją API wyjaśniającą każdy i każdy obiekt i metody interfejsu API JForex. Pomyśl o tym jak podręcznik referencyjny. Zauważ, że chociaż jest to kompleksowe, większość wyjaśnień jest bardzo rzadka i prawdopodobnie niekompletna. IContext to podstawowy obiekt JForex umożliwiający dostęp do wielu ważnych elementów systemu JForex, takich jak silnik zamówieniowy, wykresy, konsola, wskaźniki. Dostajesz ten pomysł. Ważne jest, aby zazwyczaj zachować kopię lokalną, ponieważ jest to jedyny raz (w obiekcie onStart), że ten obiekt zostanie przekazany użytkownikowi w programie IStrategy. onStop (wiersz 26) Jak sama nazwa wskazuje, ta metoda jest wywoływana po wysłaniu polecenia zatrzymania do strategii. Robisz swoje zawijanie się w programie, takie jak rejestrowanie i pulsowanie danych tutaj. Z tym bardzo niewiele. onMessage (linia 18) Kiedy wiemy, kiedy onStart i onStop będą wywoływane, onMessage jest asynchroniczną metodą polegającą na tym, że nie wiesz dokładnie, kiedy będzie działać. Metoda ta jest wywoływana, gdy serwer Dukascopy wysyła twoją strategię wiadomość. Na przykład serwer nawiązuje doMessage, aby poinformować, że Twoje zamówienie zostało wypełnione. Otrzymujesz i przetwarza komunikat serwera, uzyskując dostęp do obiektu IMessage przekazanego użytkownikowi. Ważne: nie ma gwarancji, że każda wiadomość wysłana do Twojej strategii zostanie wysłana z serwera. Być może proces strategii jest zatkany. A może połączenie internetowe miało czkawkę. Jeśli Twoja strategia onMessage nie zostanie wywołana przez serwer z jakiegokolwiek powodu, serwer nie mógłby być ostrożny i nie będzie sprawdzał ani nie próbował ponownie. Więc nic nie robisz nic poważnego, jak zarządzanie zamówieniami w pliku onMessage onAccount (wiersz 22) Ta metoda jest nazywana, gdy otrzymasz aktualizację informacji o koncie. Metoda zapewnia dostęp do obiektu IAccount. które służą do uzyskiwania informacji o koncie. Powiedz, jeśli masz otwartą pozycję, informacje o Twoim koncie zmienia się na każdym polu, ponieważ twój kapitał jest gotówką niezrealizowaną zyskiem. W takim przypadku na koncie co najmniej 5 sekund na serwerze jest najczęściej zwracane przez serwer, aby uniknąć zalania strategii. Bardziej ważny: obiekt IAccount nie jest połączony z kontem na serwerze. To tylko miniatura twojego konta. Na przykład, jeśli zachowano lokalną kopię obiektu IAccount. Zrób trochę handlu, aby zmienić saldo. Następnie poproś tę samą informację IAccount o informacje o saldzie, nie zobaczysz zmiany. Dlatego zawsze aktualizuj lokalną kopię programu IAccount w ramach metody onAccount, aby informacje o kontach były zawsze aktualne. Aby być kontynuowanym onStart, onStop, onMessage i onAccount są metodami administracyjnymi dla Twojej strategii. Ostatnie dwie metody, które dobrze dyskutują, onTick i onBar, gdzie jest magia w strategii. Ocalę co najwyżej na następny post. Największym problemem, jaki miałem podczas uczenia się programowania własnych strategii handlowych w JForex, jest znalezienie, od czego zacząć naukę. W tamtych czasach było niewiele dokumentacji JForex i musiałem nauczyć się poprzez staranne próby i błędy z pomocą techniczną Dukascopys. Co z pewnością zmieniło się na lepsze, gdy społeczność JForex zaczyna się rozwijać, a dokumentacja jest przynajmniej wystarczająca, aby ktoś zaczął pracę. Ten post jest pierwszą serią szybkiego podręcznika dla początkujących do nauki programowania JForex, umieszczając wszystkie te materiały w samouczku. JForex jest narzędziem języka Java JForex w rzeczywistości nie jest językiem programowania. Jest to interfejs programowania aplikacji (API) do użytku ze standardowym językiem programowania języka Java. Jako taki, pierwszym krokiem do nauki programowania w JForex jest nauka Java. Na szczęście Java jest jednym z najbardziej popularnych języków programowania. Więc z mnóstwem zasobów i poza siecią, aby nauczyć się programowania w Javie. Oto kilka przykładów bezpłatnych poradników online: Samouczki Javy - jest to oficjalny samouczek od autora Javy. Wysoce polecany. Samouczek Java dla początkujących - bardziej przystosowany dla początkujących początkujących do programowania. Jeśli wolisz książkę, polecam Head First Java, 2nd Edition. Szarpnęłam swoją Javę z tej książki. Nie zastanawiałeś się zbytnio na Javie, ponieważ musisz tylko zapoznać się z podstawami, aby zacząć pracę z JForex. Przeczytaj kilka rozdziałów, aby zrozumieć składnię języka Java, a następnie przejść dalej. Możesz zawsze odwoływać się do nich później. Nurkowanie w JForex JForex Wiki jest jednym z trzech podstawowych zasobów programistów JForex. Będę odwoływał się do niektórych konkretnych stron Wiki w tej serii postów. Jeśli nie chcesz tego zrobić, zarejestruj się na konto DEMO w Dukascopy. Następnie uruchom platformę JForex i postępuj zgodnie z instrukcjami na stronie Użyj w JForex wiki, aby zebrać swoją pierwszą strategię JForex Do tej pory tak dobrze Na tym etapie mam nadzieję, że możesz zrozumieć podstawowy kod źródłowy języka Java i wiedzieć, jak rozpocząć, skompilować i uruchamiać Strategia JForex. W następnym poście w tej serii JForex nauki będziemy badać anatomię strategii JForex. FX Trading Java API Java i interfejsy obsługiwanych brokerów Forex w sposób legalny i solidny. Dostawcy usług używają tego do. Zbuduj platformy WEB dla handlowców Forex różnych brokerów. Projektuj mobilne aplikacje Forex. Dostarczanie różnych funkcji kopiowania konta Forex. Ustanowienie zaawansowanych interfejsów WEBmobile do serwerów Brokers. Implementuj bardzo skalowalne aplikacje rozproszone w chmurze. Osoby mogą rozwinąć system Java MTS przy użyciu swojego ulubionego IDE (IntelliJ IDEA, MS VS2017, NetBeans, Eclipse itd.) Włączanie wielu kont handlowych Pisanie złożonych, dobrze zorganizowanych mechanicznych systemów handlowych, inne języki nie pasują do biblioteki NJ4Xtrade do zarządzania kontami forex. Możesz rozwijać system handlu mechanicznego w czystym języku programowania w języku Java lub C, podczas gdy inne języki są nadal dostępne do tworzenia niestandardowych wskaźników (w razie potrzeby). Możesz także skorzystać z biblioteki NJ4Xtrade, aby utrzymywać równoczesne połączenia z wieloma brokerami Forex z pojedynczej sieci rozproszonej aplikacji Java, uzyskiwać notowania, robić transakcje, wywoływać standardowe niestandardowe wskaźniki itd. - NJ4Xtrade pozwala na odczytywanie błędów w dowolnym języku. przyspieszyć rozwój, wykrywając błędy w kodzie i potencjalne pułapki, które mogą się zdarzyć. Osobisty plan cenowy wymaga licencjonowania tylko komputerów z systemem Windows, na których działa serwer terminali NJ4X (Uwaga: możliwe jest również uruchomienie systemu NJ4X TS w środowiskach Linux WINE). Handel różnymi źródłami danych. Opierając się na strategiach handlowych. Dokładna analiza kresek w czasie rzeczywistym różnych źródeł brokerów (na przykład DukasCopy, LMAX, TradingView). Wiarygodne wydarzenia dostawców usług. Zaawansowane technologie rozwoju (takie jak kompresor LMAX). spraw, aby Twoje aplikacje były blisksze dzięki zastosowaniu niekontrolujących kłopotów projektorów procesorów Wykonywanie niezależnych zadań (analiza pozycji, rejestrowanie, odbicie GUI) równolegle Upraszczając ogólną strukturę programu Odchodząc od pojedynczego kontekstu handlowego ograniczającego niektóre platformy Forex, tj. wiele zamówień to samo konto są realizowane równolegle.

No comments:

Post a Comment