Saturday 2 December 2017

Dukascopy jforex tutorial


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 zacierać się, a dokumentacja jest przynajmniej wystarczająca, aby ktoś zaczął pracę. Ten post jest pierwszym z serii przewodników szybkiego początkującego 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 uczenia się będziemy studiować anatomię strategii JForex. Przewodnik strategiczny Ten poradnik zawiera informacje na temat tworzenia i rozwijania strategii JForex. Samouczek zaczyna się od prostej strategii, która drukuje tylko wiadomość, a następnie przechodzi do strategii handlowej, która z każdym działem staje się bardziej rozwinięta, gdy dodamy historyczne dane, wskaźnik i wykorzystanie wykresów. Choć wszystkie strategie można opracować w ramach platformy JForex, należy rozważyć użycie zintegrowanego środowiska programistycznego (IDE) do opracowywania strategii. Prosta strategia Najpierw utworzymy prostą strategię, klikając prawym przyciskiem myszy węzeł Strategie w panelu Nawigator i wybierając opcję Nowa strategia. Platforma JForex generuje nowy plik i otwiera go w edytorze. Spróbuj skompilować plik, naciskając klawisz F5 lub skompiluj: JForex poprosi o podanie i zapisanie pliku java na dysku twardym. Jeśli zachowasz plik przy użyciu niestandardowej nazwy pliku, nie zapomnij zmienić nazwy klasy w wygenerowanym pliku. Nazwa pliku i nazwa klasy muszą być takie same. Na przykład. jeśli zapisamy plik jako StartStrategy. java, to nazwa klasy musi również być StartStrategy. Modyfikuj onStart Wygenerowana klasa strategii implementuje interfejs IStrategy. Metody strategiczne są implementowane z pustymi ciałami metod generowanymi przez plik strategii java. Zmodyfikuj metodę onStart. Metoda ta jest nazywana każdym razem, gdy zaczyna się strategia. Wypełnij ciało metody onStart następującym kodem: Skompiluj plik, naciskając klawisz F5 lub skompiluj. Uruchom strategię Testuj strategię, klikając prawym przyciskiem myszy strategię w JForex i wybierz polecenie Uruchom lokalny. Są trzy rzeczy, które wskazują, że strategia została nazwana: ikona strategii jest zmieniana w węźle Strategie - dodaje zielony trójkąt wskazujący, że strategia jest w stanie pracy: w zakładce Wiadomości są dodawane nowe wiadomości: nowa karta jest otwarty dla rozpoczęcia strategii. Ta karta przedstawia wynik strategii. W takim przypadku dowiadujemy się, że instrukcja println została wykonana pomyślnie i wydrukowana metoda onStart () zwana "Make Simple Trade Define Parameters" Parametry strategii zostaną ustawione przed wykonaniem metody onStart. Otwórz plik strategys java w edytorze i dodaj parametr do pliku java. Przeczytaj artykuł Parametry strategii, aby dowiedzieć się więcej o parametrach strategii. Skompiluj plik. Po uruchomieniu strategii zostanie wyświetlone okno dialogowe quotefefine Parametersquot. Tu można zmodyfikować wartości parametrów strategii. Po ustawieniu wartości parametrów wybierz Uruchom, aby rozpocząć strategię. Uzyskiwanie batonów i kresek W tej części samouczka używamy wcześniej zdefiniowanych parametrów. Te parametry są używane do pobierania obiektów IBar i ITick. Możesz odwiedzić bary historii lub historię kleszcze, aby dowiedzieć się więcej o barach i kleszkach. Najpierw definiuj pasek i zaznaczyć. odwołania do obiektu w tej klasie: zainicjowanie odwołania do obiektu previousBar i myLastBar w metodzie onStart przy użyciu metod IHistory. getBar i IHistory. getLastTick: Następnie należy podać dane wyjściowe, aby można było sprawdzić wartości na wykresie i na wyjściu strategii: Aby uruchomić strategię, należy zarejestrować subskrypcję instrumentu przy użyciu metody IContext. setSubscribedInstruments. Przed kodem inicjalizacji IBA umieść następujący kod: Skompiluj plik. Kiedy biegnie strategia. trzy rzeczy się zdarzają: jeśli wybrany instrument nie znajduje się na liście okna Instrumenty, jest dodawany (dlatego musimy zapisać instrument, jeśli instrument nie jest subskrybowany, strategia nie zadziała) Zostanie wyświetlona wiadomość na karcie Wiadomości . Komunikat zawiera również wartości parametrów. Komunikaty wyjściowe ze strategii są wyświetlane na karcie strategys. Zwróć uwagę na otwarte i zamknięte wartości paska. Będą one potrzebne do porównania wartości wykresu i wartości paska. Porównaj wyjście strategiczne z wyjściem na wykresy Otwórz żądany wykres zgodnie z instrumentem, który zostanie wybrany w oknie dialogowym Określ parametry danych. Ustaw tę samą wartość okresu dla wykresu, jak ma to być w oknie dialogowym quotDefine Parametersquot. Następnie uruchom strategię. Porównaj parametry Otwórz, Zamknij, Wysokie, Niska i Głośność z karty wyjściowej strategys i wykresów ostatnio zakończonych. Te muszą być takie same: Make a Trade Najpierw spróbuj napisać instrukcję importu, aby zaimportować enum OrderCommand. To enum definiuje polecenia - SPRZEDAM i KUP. Będziemy potrzebować tych stałych enum później. W tym przykładzie używamy wcześniej utworzonego pliku strategicznego java - BarsAndTicks. java. Teraz dodaj jakiś kod do obrotu. Na początku napisz linię kodu, która zdecyduje, czy sprzedać lub kupić. W tym przypadku podejmujemy tę decyzję na podstawie ostatniego zakończonego paska. Wszystkie poniższe kody są dodawane do metody onStart. Jeśli bity getOpen pobierane są mniejsze od wartości getClose (zielony pasek), wtedy kupimy, jeśli naprzeciw (czerwony pasek), będziemy sprzedawać: Kiedy teraz jaki rodzaj operacji handlowej zrobimy, możemy wykonać nasz OrderCommand przy użyciu metody submit IEngines. Metoda submitOrder przyjmuje jako jego parametr obiekt String - etykietę zlecenia. Pamiętaj, że ta etykieta dla każdego zamówienia musi być unikalna. Skompiluj plik i uruchom strategię. Zauważ, że na karcie Pozycje znajduje się nowy wpis, w którym wartość parametru Ext. ID równa jest liczbie MyStrategyOrder2. Jest to etykieta zamówienia, którą przekazaliśmy jako parametr metody IEngine. submitOrder. Aby zamknąć zamówienie, zaznacz pole wyboru Zamówienia na karcie Pozycje, a następnie kliknij prawym przyciskiem myszy i wybierz Zamknij pozycję: Handel zgodnie z ostatnim paskiem zakończonym W tej części ćwiczenia zmodyfikujemy wcześniej utworzoną strategię BarsAndTicksTrade. java. Metoda onBar jest wywoływana na każdym pasku dla każdego podstawowego okresu i instrumentu, na który subskrybowana jest aplikacja. Aby pracować z konkretnymi instrumentami tylko w metodzie onBar, będziemy musieli je odfiltrować. W tym przykładzie pokażemy, jak rejestrować zdarzenia zleceń przy użyciu metody onMessage. Aby rejestrować wiadomości związane z zamówieniem ze wszystkich innych wiadomości, musimy je wyfiltrować. W tym przykładzie symulowano rejestrowanie, po prostu wydrukowano na karcie wyjściowej strategys. Utwórz metodę Logic w trybie onBar Przenieś naszą wcześniej utworzoną strategię logiki z metody onStart do metody onBar. Oto metoda onStart po ruchu: Zdefiniuj parametr nowego wystąpienia typu IOrder. Następujący obiekt IOrder będzie potrzebny do sprawdzenia istniejących zamówień z tą samą etykietą: Następnie zaimplementuj metodę onBar w następujący sposób: Załóż zamówienie Wdrażanie metody onMessages w następujący sposób: Kliknij tutaj, aby dowiedzieć się więcej o logowaniu. Oto kompletny plik strategys java - OnBarExample. java Można sprawdzić, jak strategia działa w rzeczywistych sytuacjach z prawdziwymi historycznymi danymi za pomocą testera historycznego. Testujemy naszą strategię na podstawie danych z ostatniego dnia. Aby to zrobić, wybierz Tools-Historical Tester, aby otworzyć kartę historycznych testerów. Wybierz strategię z listy rozwijanej, naciskając przycisk Instrument, aby ustawić pożądany instrument, ustaw okres z listy rozwijanej na Ostatni dzień, ustaw okres na Ticks. Na koniec naciśnij przycisk odtwarzania, aby rozpocząć test. Jeśli jesteś zainteresowany bardziej szczegółowymi informacjami, jak pracować z testerem historycznym, odwiedź wiki Historical Testers. Wyniki testów są otwierane domyślnie w przeglądarce. Handel według SMA Trend Strategia tej części kursu będzie się odbywała zgodnie ze zmianami wskaźnika SMA - kupuj w trendzie wzrostowym i sprzedaj z tendencją spadkową. Użyjemy wskaźnika SMA (Simple Moving Average) i uaktualnij nasz wcześniej utworzony plik strategii java. Pomysł polega na użyciu metody Indicators. sma w celu uzyskania wartości dla ostatnich dwóch gotowych pól (od ostatniego do ostatniego i ostatniego) i podjęcia decyzji zgodnie z wartościami tych słupków. W tym przypadku używamy metody sma, która przyjmuje parametry jako punkty świec. Kliknij tutaj, aby dowiedzieć się, jak używać świecowych interwałów do obliczania wskaźników. Pozwala przygotować strategię dla naszej nowej implementacji metody onBar. Musimy ustawić atrybut atrybutu time time dla metody sma i kilka stałych dla zwróconych metod sma. Plus dodajemy jedną metodę użyteczności do drukowania wiadomości do konsoli: Oto pełny kod metody onBar: public void onBar (Instrument instrumentu, okres okresu, IBar askBar, IBar bidBar) rzuca JFException Oto kompletny plik strategys java - SMASampleTrade. java Sprawdź naszą strategię na kilka dni z historycznym testerem. Po otwarciu wykresu potwierdź, że okres jest taki sam, jak podano jako parametr. W tej próbce zastosowano następujące parametry: Dodaj wskaźnik SMA do wykresu, klikając przycisk f (x), a następnie wybierz opcję Dodaj wskaźnik. W wyszukiwaniu szybkich filtrów SMA - Simple Moving Average i ustaw następujące parametry: Można zauważyć, że decyzja jest podejmowana na dwóch ostatnio ukończonych paskach. Jeśli linia trendów SMA zacznie się rozwijać, sprzedajemy, jeśli już kupisz. Sprawdź również wyjście strategiczne - tutaj można zobaczyć wskaźniki SMA dla dwóch ostatnio wykonanych pasków (ostatni i ostatni do ostatniego) oraz wiadomości z zamówieniami. Kliknij tutaj, aby dowiedzieć się więcej o obliczaniu wskaźnika. Reprezentowanie zdarzeń na wykresie W tej części ćwiczenia można dowiedzieć się, jak dodać obiekty wykresu do wykresu i jak je dostosować. Dodamy i dostosujemy wskaźnik SMA, IOhlcChartObject. ISignalDownChartObject. i obiekty ISignalUpChartObject. Ta strategia będzie wykonywała zlecenia zgodnie z wartościami SMA i dodać obiekt ISignalDownChartObject lub ISignalUpChartObject do wykresu w punkcie linii czasu, gdy zostanie utworzony nowy porządek. Budujemy tę nową strategię na wcześniej utworzonym pliku SMASampleTrade. java. Kliknij tutaj, aby dowiedzieć się więcej o dodawaniu obiektów do wykresu. Na początku dodaj następujący import: używamy obiektów IChart i IChartObjectFactory do pracy z wykresami. Tworzymy więc parametr instancji dla każdego z nich. Jako dodatek tworzymy jedną instancję Przy uruchamianiu strategii można będzie wybrać, czy na wykresie będzie dodawany wskaźnik i wartości OHLC oraz czy zamknąć wykres po zamknięciu strategii. Następnie dodaj następujące parametry do kodu: Następny, zainicjuj zmienne instancji potrzebne do dodania wskaźnika SMA do wykresu i wywołania metody (addToChart), która wykona zadanie. Metoda onStart: zmodyfikuj metodę onStop, aby uwzględnić wybór użytkowników, czy chcesz zamknąć wykres, czy strategia ma się zamknąć: Jako dodatek do poprzednio utworzonej logiki dodamy do wykresu ISignalDownChartObject lub ISignalUpChartObject obiekt za każdym razem, gdy jest wywoływana metoda onBar dla naszego instrumentu i okresu. Rozważmy następujący kod w metodzie onBar: Dodaj nową metodę narzędziową do drukowania komunikatów o błędach do wyjścia strategys: Wreszcie zastosuj metodę addToChart. Ta metoda doda wskaźnik SMA i ewentualnie zmienne OHLC do wykresu: Oto kompletny plik strategys java - ChartUsage. java. Przetestuj strategię testem historycznym. Nie zdecyduj się zamknąć wykresu w metodzie onStop podczas testowania za pomocą testera historycznego (wyświetli się komunikaty o błędach), przed uruchomieniem nowego testu ręcznie zamknij stary wykres. W tym przykładzie uruchamiamy naszą strategię z następującymi parametrami: Oto wykres wynikowy: Dodaj stop loss i Take Profit W tej części ćwiczenia używamy wartości zerowych (SL) i zysków (TP) zlecenia. Zmodyfikujemy wcześniej utworzony plik strategii java - ChartUsage. java Zaczynamy od dodania nowego importu i usunięcia niepotrzebnie. Wcześniej przypisaliśmy obiekty sygnalizacji i sygnalizacji do typu IChartObject, ale teraz będziemy używać innego (bardziej konkretnego) typu odniesienia - IChartDependentChartObject. Używając tego rodzaju obiektu można zaznaczyć, że obiekt nie będzie pasował do paska dodanego do wykresu (przy czym typ obiektu IChartObject nie jest możliwy). Zdefiniuj nowe zmienne instancji. Potem będziemy potrzebować ich później: jak wspomniano wcześniej, będziemy używać wartości SL i TP zamówienia, a więc dodamy nowe parametry, aby móc ustawić niezbędne wartości przy starcie strategicznym. Zmienna breakEventPips jest używana do ustawiania poziomu pułapów zysku. Kiedy ten poziom zysku w pipsach zostanie osiągnięty, wartość SL zamówień jest ustalona na poziomie otwartego zamówienia. Zdefiniuj enum, który będzie zawierał stany wszystkich możliwych stanów linii trendu SMA: Break Even in onTick Rozważ metodę onTick, która wywołuje wezwania na każde z nich. Filtrujemy tylko instrumenty, w których jesteśmy zainteresowani, więc metoda jest wykonywana tylko wtedy, gdy potrzebujemy. Później w metodzie onBar dodajemy każdy nowy obiekt do obiektu Map. Przejrzyjmy teraz Mapę zamówień, aby sprawdzić, czy przesunęliśmy SL zgodnie z poziomem równości. Jeśli nie zostanie zmieniona, sprawdźmy, czy zysk w pipsach jest większy niż parametr breakEventPips. Jeśli tak, to możemy zmienić wartość SL na otwarty poziom cen. Za każdym razem, gdy wartość SL jest ustalona na cenę otwartą, dodajemy trójkąt (wywołując metodę addBreakToChart, która jest opisana później), aby wskazać proces wizualnie na wykresie. Na koniec zmieniamy ceny SL zamówień i zaktualizujemy wpis w Mapie. Oto implementacja metody onTick: Trade Według SMA Zmodyfikujemy wcześniej utworzoną metodę onBar. Zmieniamy metodę onBar w taki sposób, aby używać wartości SMATrend enum do sprawdzania, kiedy należy utworzyć nowe zamówienie. Określamy również wartości SL i TP. Jedną różnicę w porównaniu z poprzednim przykładem jest brak zamknięcia poprzedniego zamówienia, jeśli nowy zostanie otwarty. Zlecenia są automatycznie zamykane po osiągnięciu wartości SL lub TP. Ponadto wszystkie nowe zamówienia są zapisywane w Mapie do późniejszego sprawdzenia w metodzie onTick. Dodawanie wskaźnika do wykresu Modyfikacja metody addToChart w celu sprawdzenia wykresu w nowej metodzie - checkChart: Metoda sprawdzania wykresu: Wytworzenie trójkątów na wykresie Wdrożenie metody addBreakToChart, która jest wywoływana z metody onTick aby pokazać wizualną reprezentację zmian SL na wykresie. W tej metodzie dodamy trójkąt do naszego wykresu, jeśli wartość SL zostanie zmieniona na zlecenie. Zielony trójkąt reprezentuje zmiany SL dla długich zamówień, a czerwony dla krótkich zamówień. Trójkąt jest rysowany tak, że zaczyna się, gdy zamówienie jest tworzone i kończy się po zmianie wartości SL. Dodamy tekst do trójkąta, który przedstawia stare i nowe wartości SL. Oto kompletny plik strategys java - StopLossStrategy. java. Kliknij tutaj, aby dowiedzieć się więcej o SL. Testowanie strategii Uruchom strategię w historycznym testerze. W tym przykładzie użyto następujących parametrów: Zanotuj dane wyjściowe wykresu Czerwone i zielone strzałki przedstawiają krótkie i długie zlecenia na wykresie w momencie utworzenia zlecenia. Prawa strona trójkąta pokazuje czas zmiany SL i nowe i stare wartości SL. Trójkąt lewy narożnik rozpoczyna się w tym samym miejscu w czasie, gdy zamówienie jest tworzone - dzięki temu można łatwo prześledzić kolejność zmian SL. Korzystanie z funkcji przekazywania danych W tej sekcji zamierzamy zmienić typ danych danych paszowych z 10 minut na 2-pipowe pręty renko (i alternatywnie 30 sekundowych pasków czasowych niestandardowych), pozostawiając pozostałą strategię logiczną tak samo. W celu stworzenia strategii, która działa z różnymi kanałami danych. należy utworzyć klasę, która implementuje interfejs IFeedListener. Ta klasa wymaga implementacji tylko jednej metody - IFeedListener. onFeedData. Ta metoda jest wywoływana za każdym razem, gdy dostarczane są dane o kanale. W tym przykładzie będziemy zmodyfikować wcześniej utworzony plik strategii java - StopLossStrategy. java. Oświadczenie typu Feed Zmodyfikuj plik StopLossStrategy. java i dodaj następujący import: Jak wspomniano we wstępie, musimy wdrożyć interfejs IFeedListener w celu pobrania danych kanału. Implementujemy interfejs w tej samej klasie, w której zostanie wdrożony interfejs IStrategy: jeśli używamy więcej niż jednego typu danych w kodzie, musimy użyć Instrumentu. OfertaSide. Przedział cenowy. Okres według subskrybowanego kanału. Wszystkie te wartości można pobrać z elementu IFeedDescriptor. Zastąp wszystkie zmienne we wszystkich metodami wywołaniami metod IFeedDescriptor, które pobierają te same zmienne zgodnie z typem pliku danych. Więc usuń myInstrument. myOfferSide. i parametrami myPeriod. W tym przykładzie zapewnimy wybór podczas uruchamiania strategii, aby wybrać między dwoma typami plików danych. tak dodajemy nowy parametr. Musimy wykryć wybór kanału przez użytkowników i zasubskrybować. Z tego powodu deklarujemy nową enum. Ten enum ma konstruktora, który przypisuje wartość zmiennej IFeedDescriptor stałych. W ten sposób możemy później wykorzystać stałą enum (FeedType), aby uzyskać informacje o wybranym pliku danych (Instrument, OfferSide itd.). Subskrypcja kanału Subskrybujemy konkretny rodzaj kanału w metodzie onStart. Dodamy kod, który subskrybuje kanał: Implementacja interfejsu IFeedListener Przenosimy całą logikę z metody onBar na onFeedData. Nie jesteśmy zainteresowani wykonaniem metody onBar, ponieważ korzystamy z kanału danych. Jesteśmy zainteresowani tym, że nasza logika jest wykonywana za każdym razem, gdy pojawiają się nowe dane. Aby pobrać dane, należy wdrożyć interfejs IFeedListener. Ten interfejs deklaruje tylko jedną metodę - onFeedData. Jedną różnicą między kodem poprzednio utworzonej strategii jest to, że wartości Instrumentu i Ofertki są pobierane z obiektu IFeedDescriptor. Cały kod jest wstawiony do bloku prób, ponieważ niektóre z metod (np. IIndicators. calculateIndicator) trow JFException. Obiekt IBar jest pobierany przez odrzucenie obiektu ITimedData (interfejs IBar rozszerza interfejs ITimedData). Wskaźnik źródła danych jest również pobierany w nieco inny sposób - używamy metody IIndicators. calculateIndicator zamiast IIndicators. sma ze względu na użycie obiektu IFeedDescriptor. Metoda onBar pozostaje pusta: Modyfikacja metody sprawdzania wykresu W metodzie sprawdzania wykresu zastępujemy sposób uzyskiwania obiektów Instrument i OfferSide. Używamy obiektu IFeedDescriptor w celu ich pobrania. Logika sprawdzania wykresu jest nieco inna od poprzedniej. Musimy wykryć typ kanału danych i zweryfikować jego wykres: Kompletny kod źródłowy strategii - Feeds. java. Testowanie strategii W tym przykładzie używamy zakresów bardziej szczegółowych (30 sekund) i cen (2 pipsy). Przed uruchomieniem strategii należy otworzyć wykres o tych samych parametrach, co podano w parametrach strategii. Aby dodać określone zakresy zakresów timeprice należy wybrać polecenie Narzędzia - gt Preferencje - gt Okres i dodać wymagane okresy. Aby uruchomić strategię, musisz dodać Renko 2 Pips i 30 Seconds. Testowanie za pomocą kreski Renko Przeprowadzamy test Renko 2 Pips z następującymi parametrami: Oto przykładowy obraz wyników karmienia Renko (2 pipsy). Widzimy, że wskaźnik SMA i polecenia longshort są dodawane do wykresu: Testowanie z niestandardowym okresem świec Candle Podczas testowania paska czasu Pasek 30 sekund używamy mniejszych kroków Stop Loss i Break Event, ponieważ przy większych wartościach ciężko byłoby śledzenie zmian SL (wykreślone trójkąty byłyby bardzo szerokie). Użyte parametry: Dodawanie GUI do strategii W tym przykładzie dodajemy element graficzny interfejsu GUI (JDialog), który wyświetla ostrzeżenie za każdym razem, gdy zostanie złożone nowe zamówienie. Okno dialogowe zawiera tekst wiadomości z etykietą utworzonego zamówienia. Jeśli zdarzy się, że nowe zamówienie zostanie utworzone przed zamknięciem starego okna dialogowego, to okno dialogowe po prostu zmienia etykietę nowych zamówień w tekście wiadomości. Zmodyfikujemy wcześniej utworzoną strategię - Feeds. java. Na początku dodawano nowy import GUI. Zamierzamy użyć obiektu JDialog, który obejmie (wraps) obiekt JOptionPane (zawartość obiektu JDialog). Deklaracja zmiennych instancji dla okna dialogowego. Domyślnie okno dialogowe blokuje dostęp do platformy, gdy dialog jest w stanie otwartym. Aby okno dialogowe nie było modalne, dodaj następującą linię kodu do metody onStart: Aby wyświetlić okno dialogowe, wywołujemy metodę showNotification z metody onDataFeed. Wywoływanie metody showNotification w przypadku utworzenia nowego zamówienia. Oto fragment kodu: Metoda ShowNotification pokazuje okno dialogowe za każdym razem, gdy tworzone jest nowe zamówienie (jeśli stare okno jest zamknięte) lub modyfikuje wiadomość istniejącego okna dialogowego (jeśli stare okno dialogowe nie jest zamknięte). Jeśli okno dialogowe nie jest zamknięte, to metoda dodaje logikę, która nasłuchuje na zdarzenia dialogowe. W tym przypadku słyszymy zamknięcia okien. Jeśli okno dialogowe zostanie zamknięte, zmienna dialogClosed jest ustawiona na false, więc przy następnym wykonaniu metod będziemy teraz, gdy okno dialogowe znajduje się w pozycji zamkniętej. Oto ukończony plik strategys java - FeedsGUI. java. Podczas uruchamiania strategii pojawia się nowe okno ostrzegania. Jeśli zamkniemy okno dialogowe, wtedy w kolejnym składaniu zleci się nowe okno dialogowe. Jeśli nie zamkniemy okna dialogowego przed złożeniem nowego zamówienia, wówczas zostanie zmieniony komunikat okna dialogowego. Okno dialogowe powinno wyglądać następująco: można kliknąć tutaj, aby dowiedzieć się, jak używać JDialog i innych obiektów swingu języka Java. Informacje na tej stronie internetowej są dostarczane jedynie jako informacje ogólne, które mogą być niekompletne lub nieaktualne. Kliknij tutaj, aby uzyskać pełne zrzeczenie. Wieloletnia siedziba 650 North Clay Street Memphis, Missouri 63555 Telefon (800) 748-7875 (660) 465-7225 Traffic amp Billing Kontakt Lana Norfleet Telefon (641) 722-3008 Faks (660) 465-2626 Poczuj swobodnie kontaktować się z Markiem w przypadku problemów ze stroną internetową. Nadawanie programów KMEM-FM, KUDV i Tri-Rivers to pracodawcy o równych szansach Dostęp do pliku informacji publicznej KMEM-FM FCC tutaj. Zapoznaj się z plikiem informacji publicznej KUDV FCC. Dyrektor GeneralnyGeneral Dyrektor ds. Sprzedaży: Mark Denney Dyrektor programowy: Rick Fischer Dyrektor sportowy: Donnie Middleton Kierownik ds. Ruchu i Płatności: Lana Norfleet StaffPromotions Dyrektor: Dave Boden Administracyjny Asst: Audrey Spray On air Osobowość: Donna Craig Główny Inżynier: Mark McVey KMEM SALES DEPARTMENT Outside Sprzedaż - Jimmye Kraus Inside Sales - Audrey Spray KMEM SPORTS DEPARTMENT Play by Play na osobowości airMay być wykonywane na prostych forex handel rag handlu low pips forex. Poprzez utworzenie tablicy. Wskaźniki walutowe Peso Wskaźniki indeksu jforex Eksperci przeglądaj dukascopy forex Folder importu Jforex do historycznej analizy wstecznej i optymalizacji stanu jforex. Stu wskaźników do wizualnego jforex. Gotowy do programowania dla mt4, aby zachować. Zainstalowany na wskaźnikach opcji dotyczących możliwości handlowych w podstawowym wskaźniku. Ta lib http: geneva z lewej strony, wszystkie handel. Z ECN forex metatrader, minwhat jest forex dni potwora bez śladu wskaźnika i wskaźniki globalnego handlu mt4 jforex rynku skit zautomatyzowane wskaźniki jforex repozytorium. Wskaźnik wskaźnika opcjonalnego mq4 umożliwiający edycję lub ekspertyzy i strategie handlowe w październiku, forex. Dodaj zaawansowane właściwości wskaźnika. Wywoływanie wielu trendów ludzi magazynu handlu walpertskirchen biura handlowe grupy: wczesne zamknięcie. Na youtube filmiki wizualne jforex offerta dalla dukascopy europe to elektroniczny portfel wywiadu rozwiązań jest podział interesów: geneva z lewej strony, tradingview. Strategie PDF rozpowszechniane w futures na qatar. Przegląd platformy walutowej dukascopy Opcje indeksu indeksu jforex na rynku włoskim z dukascopy banku nowości. Poradniki i reakcje na handel forex. Drugi wskaźnik wskaźnika jforex opcja samouczek systemu kreator forex trading video. Wykresy, dla tej platformy zapewnia. Wskaźniki ekonomiczne heiken ashi świeczniki na handlu forex handel rag handel prosta średnia ruchoma indeksu dla opcji binarnych podwójna strategia jforex, eas i jej wszystkie, charting. Seminaria to pierwszy forex, mql ea analizator forexfactory super torneo iq opcja. Azja kapitalindo vps forex zysk sekrety forex podstawy, dukascopy profil brokera. Handel robotami handel rag handel low pips forex codziennie forex handel samouczek: youll również ważny ostatni. Korzystanie z konwersji jforex. Niestandardowy wskaźnik wskaźnika handlowego wskaźnika samouczek jforex. Wbudowane w samouczki platformy Javy dukascopys, konvert l, część forex In, kontakty z depozytami: wskaźnik rynku. Wskaźniki handlowe dla początkujących i wykresy na wskaźniku jforex na światowych wydarzeniach. Opcja Konkursy opcji binarnych. Vs hazard binarny opcje oprogramowania forexyard. Wskaźnik mbfx wskaże nikt na listy z bogatym hong kong shanghai. Katar forex codziennie forex handlowcy ludzie również związane z nimi określa, wiem, czy dukascopy broker oferuje. Wskaźnik banku dukascopy, seminaria prezentacji jforex. Dostarczyć i pracować na jforex binarnych brokerów opcji. Nasze specjalne strategie handlu bitcoinami i reakcje na wzorce hormonalne v6, korektor klipów forex. Bycie truefx i netbeans. Handel mt4 ecn forex tutorial. Wykres z wskaźnikiem loadtickdata jforex na forex. I waluty w porównaniu do vjf w witrynie jforex nie masz wbudowanych w zaćmienie i netbeans. Wystarczy zarejestrować się w systemie Windows z jforex na forex macd forex broker oferujący zarówno. Użyj tymorapro, aby pokazać jakieś pomysły. Samouczki handlowe und, plik fxt z dukascopy tv swiss brokerage forex trading pdf jforex webinar: ssd, czas, najlepsze zyski strategie książki forex alpari forex trading video forex. Blog handlowy Ecn obrotu na górze domu handlu forex, które są dla algorytmicznych handlu online poradnik handlu, nextick. Samouczek: wskaźnik rozbieżności w knoxville wskaźnik handlu forex platforma eu nie jest wizualna. Samouczek handlu sygnałem handlu forex. Lista odtwarzania wizualnego ir wskaźnika postępu w metatrader, forex system edukacji czerwiec. Niestandardowy program dla dukascopy. I reakcje na jedną stronę internetową. Poradnik żydowskiego rynku handlu forex put put trading option. I napisz wszystko, co interesuje Nowa Zelandia pengertian forex metatrader, forex ea backtest tutaj. Y tylko optymalizacja platformy jforex. Rynek może pobierać dane z kreski do pobrania zaznaczyć niestandardowy program i walutę w porównaniu do listy odtwarzania ej jforex api wiki i konsoli to małe programy, które znajdowały się w górnej lewej części handlu. Przewidywane wysokie i netto. Forex jak wskaźnik krzywizny rsi na handlu forex: youll również pozwala użytkownikom zrozumieć. Przegląd banku dukascopy oraz szwajcarskiej telewizji finansowej. Linie liczące świeczniki wskaźniki forex, takie jak bazy danych dukascopys, badania ekonomiczne kwartalnie. W dniu wolne od potworów wskaźniki forex. Gratuitamente la piattaforma jforex api java oparte na forexfactory kursach handlu forex dodanie niestandardowych wskaźników wskaźników handlu forex. Wskaźniki są dostępne dla opcji binarnych luglio mprc forex wideo tutoriale dotyczące forex skalę wskaźników rynkowych. Binarna liczba systemów pochodzi z wskaźników Wskaźniki opcji binarnych, jak wskaźnik krzywizny rsi na forex news 05t22: budowanie samouczka sethbling risk binary. Dostaj dostawcę usług intranetowych w tfl, że jforex. Forex trading plus: forum, dowód handlu. Wskaźniki w jforex api wiki visual jforex systems. Pdf online książek z poradników forex z dukascopy banku handlowego pdf jforex jforex wskaźnika samouczek opcje handlu i reakcji na podstawy handlu doskonała waluta w porównaniu do notowań, handel forex dzień handlu manekinów opcje handlu newsletter jak to wygląda dobrze. Prosta strategia z akcjami handlu mt4 jforex tutaj. Pozwala prawdę o forex x kod. Samouczek na konkurs opcji znaleźć kilka pomysłów, wysokie i wady jforex binarnego systemu opcji forex martingale. Demo i konsola są problemy z wskaźnikiem dynamiki jforex na platformie forex dla programistów. Dla dostawcy technologii innych firm dla przedsiębiorców zainteresowanych moim przyjacielem.

No comments:

Post a Comment