Jacek2009

Programowanie JForex

Recommended Posts

Dukascopy to broker prawie idealny. ECN (lub prawie ECN dla malkontentów), solidość (gwarancje banku), prawodawstwo w jakim funkcjonuje (UE, Szwajcaria lub USA), uczciwość (opinie w necie). Jest w końcu mankament: programowanie w Javie. Na forach informatycznych są całe wykłady na temat Javy a tu potrzeba obsługiwać jej kawałek dotyczący platformy JForex (nie piszę o API Javy, bo to wymaga znacznych kapitałów i osoba, która je posiada może zatrudnić programistę, który zaimplementuje cała strategią). Nie trzeba też konstruować natychmiast robota. Wydaje się, że potrzeba działu gdzie łopatologicznie, na prostych przykladach pogłebimy wiedzę programistyczną. Na początek proponuję taką modyfikację SMA aby móc otrzymać na wykresie SMA przesuniętą w prawo o x dni (strategie opisywane prze DiNapoli'ego) i o y pipsów w dół. Po przeszukaniu wskaźników dostępnych w JForex nie znalazłem takiej opcji. Są tak wymyślne wskaźniki, fraktale czy techniki rozpoznawania formacji, że nawet ich nie powtórzę. Uważam, że najwarzniejsza jest konsekwencja stosowania danej strategii, a ona jest bezpośrednio związana z jej możliwie jak największą prostotą, a z tej z kolei płynie jej maksymalne zrozumienie. Niekiedy wystarczą proste modyfikacje wbudowanych w platformę podstawowych wskaźników.

Wszystko należy upraszczać jak to tylko możliwe lecz nie bardziej - autor E=mc2.

Share this post


Link to post
Share on other sites

To prawda. Wśród programistów-inwestorów Java nie jest zbyt popularna. Głównie dlatego, że przeważnie brokerzy detaliczni wybierali MT4, a programisści-traderzy poszli w kierunku MQL4.

Istnieją 3 dość prowizoryczne rozwiązania by sobie z tym poradzić:

1) konwerter MQL4 -> Java:

http://www.forexclub.pl/brokerzy/dukascopy-bank/konwerter-mql4-java/

Prosty w użyciu jednak nie wszystko konwertuje jak należy. Czasem pojawiają się błędy, które trzeba poprawiać, a niestety wtedy już wypada znać Javę.

2) Most MT4 -> JForex:

http://www.forexclub.pl/brokerzy/dukascopy-bank/dukascopy-a-metatrader-4/

MOżna analizować wszystko na MT4 (nawet na demie Dukascopy MT4, najbardziej podobny datafeed do JForex) używając wskaźników, które już mamy i też na MT4 zawierać transakcje, które za pomocą mostu będą przekazane do JForex.

3) Korzystać z PT Multistation:

http://www.forexclub.pl/brokerzy/dukascopy-bank/dukascopy-a-protrader/

Tam istnieje możliwość uruchomienia wskaźników i EA z MT4. I w PT Multi transakcje realizowane są bezpośrednio w Dukascopy, nie działa to na zasadzie mostu.

Inne rozwiązanie - znaleźć jakiegoś programistę znającego Javę i zapłacić mu za usługę stworzenia danej rzeczy. Może niebawem uda nam się Wam w tym pomóc... :)

Share this post


Link to post
Share on other sites

Nie chodzi o konwersje EA (tak na prawdę nigdy nie wiadomo co jest w EA ani jak dziala jeżeli samemu sie go nie napisało). Chodzi o to by móc programować proste strategie w Javie w JForex, a nie prowadzić testowania i programowania strategii w MT4, a następnie próbować konwersji lub używania mostów. Ktoś kto próbuje serio inwestować będzie używał natywnej platformy brokera, podobnie jak zapasowego łacza internetowego, VPS-a, czy oryginalnego windowsa i programu antywirusowego. Po prostu nie ma tu miejsca na jakieś protezy czy gdybania na temat sprawności

(szybkosci dzialania mostu), lub co gorsza poprawności jego działania. Gdyby mosty były takie świetne to do każdego popularnego programu do traiding'u oprogramowano by most. Tymczasem dla inwestorów z dużym kapitałem Dukascopy oferuje API do platformy, by móc naspisać program, który dokładnie robi to co chcemy, a my dokładnie to wiemy. Tak więc pomoc programisty jest świetnym pomysłem o ile będzie to seria wykładów lub choćby krótkich przykładów na podstawie, których zaczniemy (obecni lub potencjalni użytkownicy platformy JForex) programować i natywnie testować strategie. Trzeba skupić się na logice strategii jej działaniu i przetestowaniu a nie na programowaniu w MT4, testowaniu strategii na obcych (poza Dukascopy) danych (tych z Metaquots), o potem jeszcze się głowić czy dobrze działa most jak coś pójdzie źle. Kurs programowania JForex (nie całej Jawy) jest niezbędny. Inaczej platforma i broker będą atrakcyjni do momentu otwarcia dema i tzw. pierwszych kroków.

Share this post


Link to post
Share on other sites

Wskaźniki i udogodnienia jakie zaoferował Luktombiz są bardzo fajne, lecz niestety zupełnie nie o to mi chodziło zaczynając ten wątek na forum. Dla tego typu porad proponuję wątek reklamowy np.: Firmy i programiści oferujący odpłatnie usługi informatyczne dla platformy Dukascopy. Tu każdy programista lub firma wystawi swoją ofertę wraz z rabatami. Swoją drogą to jak te wskaźniki uruchomić na platformie JForex? Może jakaś krótka łopatologiczna instrukcja. Może jakieś fora zagraniczne opisują programowanie JForex? Nie chodzi mi o np. API z oficjalnego forum Dukascopy. Tam reklamuje się wielu programistów, ceny 500 USD za banialukę i więcej za ważniejsze projekty. Nie można testując wiele strategii za kazdy detal tyle płacić. Pozostaje nauczyć się programowania. Myślę, że popularyzacja tej wspaniałej platformy (JForex) zależy od rozpropagowania sposobu jej programowania. MT4 nie trzeba reklamować. W necie jest nawet podręcznik programowania z przykładami po polsku. Potrzeba czegoś takiego dla Jvy w JForex. Żeby posługiwać się firmami zewnętrznymi i płacić za to słono trzeba mieć duży kapitał, który najpierw trzeba w jakiś sposób zarobić. Podsumowując: dużym kapitałem na JForex będą obracać ci, którzy zarobią go w JForex, sami poznając tą platformę od podszewki (sposób programowania). Ktoś kto programuje MT4 i zarabia duże pieniądze nie zmieni nagle zdania i przesiądzie się na JForex z Javą. Nie wynajmie również nagle programistów z np. z Luktombiz by programowali jego wzkaźniki z powodów wymienianych parę maili wyżej.

Share this post


Link to post
Share on other sites

Założę się, że jest masa materiałów szkoleniowych na temat programowania w Javie. Nie w Javie na JForex ale jeśli ktoś zna sam język i programował już jakieś rzeczy to na pewno sobie poradzi. A jeśli ktoś nie chce lub nie ma czasu uczyć się kolejnego języka to pozostaje udać się do specjalistów. Wspomniałem tu o Luktom.biz ponieważ jest to pierwsza i jedyna firma zajmująca się tym w Polsce i wydaje mi się, że za byle banialuka nie będzie trzeba płacić 500 USD ;).

MT4 oczywiście zyskał potężną popularność w ostatnich 5 latach i samo MQL4 nie jest takie trudne do nauczenia i to jest tego przewaga. Natomiast MT4 ma bardzo istotną wadę, szczególnie dla osób myślących o bardzo poważnym handlu, a mianowicie MT4 nie jest dostosowane do modelu ECN dlatego też nie ma (mimo przerysowanych reklam niektórych brokerów) żadnej firmy, która daje dostęp do tego rynku za pomocą tej platfomy.

Reasumując, jeśli chcemy grać na rynku ECN za pomocą automatów to znajomość MQL nam tu niewiele da.

JForex wciąż prężnie się rozwija. Niemalże co tydzień wychodzą nowe usprawnienia, dlatego kwestią czasu jest by zyskała odpowiednią sławę.

Odnośnie uruchomienia wskaźników.

Postaram się w tygodniu przygotować prostą instrukcję jak to zrobić. Teraz uspokoję tylko, że nie jest to nic trudnego :).

Share this post


Link to post
Share on other sites

Temat nie daje mi spokoju. Na forum nawigatora znalazłem wiele ciepłych opinii na temat PT MultiStation. Może w miejsce Javy w JForex takie oprogramowanie firmy zewnętrznej przynajmniej do budowania i testowania strategii. Może ktoś konkretnie ma doświadczenie z tym oprogramowaniem w Dukascopy. Nie chodzi o samą instalację oprogramowanie tylko o jego konkretne doświadczenia w testowaniu systemów. Na w/w forum Pan Karol Marchewka docenia dzieło firmy ukraińskich programistów. Więc być może testy, wykresy z poziomu programu a następnie natywny dla Javy program w JForex? A może wszystko z poziomu tego oprogramowania. Ciekaw jestem zdania forumowiczów. Swoją drogą nie wiem czy C# to taka Java od Małego Miękkiego. Ponoć łatwiej w C# testować strategie.

PS. Niestety zgubiłem dokładną lokalizację wątku, może ktoś ma dokładny namiar?

Share this post


Link to post
Share on other sites

PT Multistation jest dobrym programem. Świetnie działa też w Dukascopy. JForex jest jednak wyraźnie szybszy. API nie jest takie trudne do opanowania. 

Share this post


Link to post
Share on other sites

Już znalazlem

Bardzo ciekawe informacje na temat PT Multistation: http://www.forex.nawigator.biz/dyskusje/viewtopic.php?t=5325&postdays=0&postorder=asc&start=0 .

Dyskusja wielowątkowa, opisane ciekawe kontakty z forum supportu oprogramowania.

Raposo, twoja informacja: "Już niebawem polska wersja językowa oraz rozbudowana, polskojęzyczna instrukcja obsługi!" jest rewelacyjna. http://www.forexclub.pl/brokerzy/dukascopy-bank/dukascopy-a-protrader/

Może część informacji z forum forex. navigator.biz cytowanego powyżej umieścić w jakimś oddzielnym wątku np. "Programowanie w PT Multistation". No nic czekam w napięciu.

PS. Dzięki Martunia za posta bo w pewnym momencie myślałam, że koresponduję wyłącznie z raposo.

Jednak w tym wątku proponuję wrócić do JForex i Javy.

Share this post


Link to post
Share on other sites

Witam

Jakby ucichło w temacie. Wracając do mojej pierwszej wypowiedzi zlalazłem na forum Ducascopy (http://www.dukascopy.com/swiss/english/forex/jforex/forum/viewtopic.php?f=6&t=364) taką oto propozycję przesuniętej średniej kroczącej SMA(SMA_SHIFT.java):

kurcze właśnie się okazało, że: "Błąd Nie masz uprawnień do wysyłania tego typu plików":

więc kopiuję:

package jforex;

import com.dukascopy.api.indicators.*;

/**

* @author Dmitry Shohov

*/

public class SMA_SHIFT implements IIndicator {

private IndicatorInfo indicatorInfo;

private OptInputParameterInfo shiftOptInputParameter;

private IIndicator smaIndicator;

public void onStart(IIndicatorContext context) {

IIndicatorsProvider provider = context.getIndicatorsProvider();

smaIndicator = provider.getIndicator("SMA");

indicatorInfo = new IndicatorInfo("SMA_SHIFT", "SMA with shift", "Overlap Studies", true, false, false, false, 1, 2, 1);

shiftOptInputParameter = new OptInputParameterInfo("Shift", OptInputParameterInfo.Type.OTHER, new IntegerRangeDescription(0, -100, 100, 1));

}

public IndicatorResult calculate(int startIndex, int endIndex) {

return smaIndicator.calculate(startIndex, endIndex);

}

public IndicatorInfo getIndicatorInfo() {

return indicatorInfo;

}

public InputParameterInfo getInputParameterInfo(int index) {

return smaIndicator.getInputParameterInfo(index);

}

public int getLookback() {

return smaIndicator.getLookback();

}

public int getLookforward() {

return smaIndicator.getLookforward();

}

public OptInputParameterInfo getOptInputParameterInfo(int index) {

if (index == 0) {

return smaIndicator.getOptInputParameterInfo(index);

} else if (index == 1) {

return shiftOptInputParameter;

} else {

return null;

}

}

public OutputParameterInfo getOutputParameterInfo(int index) {

return smaIndicator.getOutputParameterInfo(index);

}

public void setInputParameter(int index, Object array) {

smaIndicator.setInputParameter(0, array);

}

public void setOptInputParameter(int index, Object value) {

if (index == 1) {

smaIndicator.getOutputParameterInfo(0).setShift((Integer) value);

} else {

smaIndicator.setOptInputParameter(index, value);

}

}

public void setOutputParameter(int index, Object array) {

smaIndicator.setOutputParameter(index, array);

}

}

Wgrać do katalogu strategie i dalej instrukcja co z tym zrobić:

Right click on Strategies in your workspace list

Select Open Indicator

Navigate to and open the .java file

A source code editor pops up

Click the Compile icon

In your chart, go to Add Custom Indicator within the Add Indicator dialog

Pick your indicator but with a .jfx extension

Trachę łopatologii , o której pisałem

Drodzy forumowicze co o tym sądzicie

Może założyć temat Strategie i Wskaźniki JForex i umieszczać w nim ciekawe znaleziska internetowe

Pozdrawiam

PS.

1. Nie mam obecnie DEMA więc nie mam jak przetestować

2. Do admina - proszę umożliwić załączenie plików to ułatwi ewentualne przesyłanie programów

Share this post


Link to post
Share on other sites

Odnośnie nowego tematu to bardzo dobry pomysł. Jak tylko włączymy załączaniki plików w javie to go utworzymy.

edit:

rozszerzenie włączone, temat założony:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...