Serwis Forex-nawigator.biz korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce. [Zamknij tą informację]

Dzisiaj jest 21 sie 2018, 11:52     PREMIA 30$ bez depozytu! Dodatkowo aż do 50% bonusu od wpłaty w XM!



JForex

Sprawy techniczne dotyczące poszczególnych platform handlowych.
  • Autor
  • Wiadomość
Offline
Awatar użytkownika

raposo

Moderator

Moderator

  • Posty: 11025
  • Rejestracja: 22 wrz 2006, 22:10
  • Lokalizacja: Trójmiasto
  • Pochwały: 66

Re: JForex

Nieprzeczytany post06 mar 2018, 21:36

Ale odkopałeś... :D Stara strona Forex Club, a artykuł sprzed 6 lat :) Nie wiem czy to będzie działać, możesz sprawdzić.
I faktycznie, masz rację. Na JForex był dostępny konwerter, ale na starej wersji. I widzę, że już całkowicie tę wersję wygasili...

Z konwerterami jest jak z translatorami językowymi. Coś tam tłumaczą, ale nie zawsze zachowają sens wypowiedzi. Po prostu to ułatwienie roboty, a niekoniecznie sposób na gotowiec.

Ile kosztuje przepisanie jednej strategii? To jak z wyceną remontu mieszkania. Zależy od zakresu prac, jaką ekipę sobie znajdziesz itd.... ;) Wycena indywidualna, zawsze.
- RABATY u brokerów ECN, STP, NDD
- Forex Club Tools
- Program Podatek 5.0
ForexClub.pl - IC Markets (-21%) - Tickmill (-10%)- Vipro Markets (-10%) - XTB - (Pakiet książek) - Dukascopy - LMAX (-20%) - FxPro (do -15%)

Zapraszamy do kontaktu
Offline

FreeWay

Stały bywalec

Stały bywalec

  • Posty: 43
  • Rejestracja: 05 lut 2018, 20:32

Re: JForex

Nieprzeczytany post04 maja 2018, 17:18

Ma ktoś może jakiś wskaźnik na tą platformę który by pokazywał Wolumen Skumulowany ? w formie liczb nad swingami coś jak na ss
Zaloguj się (lub zarejestruj), aby zobaczyć pliki załączone do tego postu.
Offline
Awatar użytkownika

raposo

Moderator

Moderator

  • Posty: 11025
  • Rejestracja: 22 wrz 2006, 22:10
  • Lokalizacja: Trójmiasto
  • Pochwały: 66

Re: JForex

Nieprzeczytany post05 maja 2018, 10:03

- RABATY u brokerów ECN, STP, NDD
- Forex Club Tools
- Program Podatek 5.0
ForexClub.pl - IC Markets (-21%) - Tickmill (-10%)- Vipro Markets (-10%) - XTB - (Pakiet książek) - Dukascopy - LMAX (-20%) - FxPro (do -15%)

Zapraszamy do kontaktu
Offline

FreeWay

Stały bywalec

Stały bywalec

  • Posty: 43
  • Rejestracja: 05 lut 2018, 20:32

Re: JForex

Nieprzeczytany post05 maja 2018, 14:35

Całkiem ciekawe ,zobaczymy jak wypadnie w testerze ,dzięki.
Offline

-rookie-

Maniak

Maniak

  • Posty: 2222
  • Rejestracja: 13 kwie 2015, 19:00

Re: Dukascopy - ECN

Nieprzeczytany post12 maja 2018, 07:43

btw. Informacje z raportów można wyciągnąć stąd - IReportPosition -
Kod: Zaznacz cały
long to = System.currentTimeMillis();
long from = to - 5 * Period.MONTHLY.getInterval(); // np 5 miesięcy do tyłu
for ( IReportPosition m : context.getReportService().getClosedPositions(from, to)  ) {
    console.getOut().println( m.getPositionId() + " " + m.isLong()  + " " + m.getInstrument() + " " + m.getSwaps() + " " + m.getCommission() );   
}

I można zsumować ze sobą wszystkie wartości wg swapów, prowizji, itd jak w funkcji getCommission. A jak można policzyć swap, bo jest domyślnie w walucie bazowej? Można pobrać takie wartości https://www.dukascopy.com/client/javado ... ition.html i jest cena zamknięcia getClosePrice() więc można to przemnożyć i przekonwertować na walutę główną konta z tego https://www.dukascopy.com/wiki/en/devel ... sion-utils to jest 1 linia kodu utils.getRate(JFCurrency.getInstance("JPY"), JFCurrency.getInstance("CHF")); i można pobierać kurs danej pary np AUDPLN, PLNJPY itp.
Kod: Zaznacz cały
package jforex;

import java.util.*;

import com.dukascopy.api.*;

public class _my_own_statement implements IStrategy {
    private IEngine engine;
    private IConsole console;
    private IHistory history;
    private IContext context;
    private IIndicators indicators;
    private IUserInterface userInterface;
   
    public void onStart(IContext context) throws JFException {
        this.engine = context.getEngine();
        this.console = context.getConsole();
        this.history = context.getHistory();
        this.context = context;
        this.indicators = context.getIndicators();
        this.userInterface = context.getUserInterface();
    }

    public void onAccount(IAccount account) throws JFException {}
    public void onMessage(IMessage message) throws JFException {}
    public void onStop() throws JFException {}
    public void onTick(Instrument instrument, ITick tick) throws JFException {}
   
    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
       
        // zwraca wartosc kosztow prowizji
        console.getOut().println( "suma prowizji wynosi: " + getCommission(period) );
       
        // jak wyciagnac inne dane
        long to = System.currentTimeMillis();
        long from = to - 5 * Period.MONTHLY.getInterval(); // 5 miesiecy do tylu, mozna wpisac 12 lub inną date ale to tylko wersja pokazowa
        for ( IReportPosition m : context.getReportService().getClosedPositions(from, to)  ) {
            console.getOut().println( m.getPositionId() + " " + m.isLong()  + " " + m.getInstrument() + " " + m.getSwaps() + " " + m.getCommission() );     
        }
       
        // gdy zwrocilo wszystkie dane zatrzymaj strategie
        context.stop();
       
    }
   
    public double getCommission(Period period) throws JFException {
       long to = System.currentTimeMillis();
       long from = to - 5 * Period.MONTHLY.getInterval();
       double x = 0;
       for ( IReportPosition m : context.getReportService().getClosedPositions(from, to)  ) {
           String str = m.getCommission().toString();
           String res = "";
           char p = str.charAt(str.length()-3);
           char l = str.charAt(str.length()-2);
           char n = str.charAt(str.length()-1);
           if (Character.toString(p).equals("P") && Character.toString(l).equals("L") && Character.toString(n).equals("N")) {
               res = str.substring(0, str.length()-3);
               x = x += Double.parseDouble(res);
           }
       }
       //console.getOut().println( x + " " + res);
       return x;
   }
   
}

I w konsoli zwróci pare przykładowych info z transakcji za ostatnie 5 miesięcy, na końcu jest wyliczenie funkcji getCommision i suma prowizji -83.61000000000003 ( to są moje trejdy z demo z paru ostatnich dni ) i potem zatrzyma strategie context.stop()
Kod: Zaznacz cały
2018-02-01 00:00:10   151526197 false GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151223340 false EUR/USD 0.00 USD -14.12 PLN
2018-02-01 00:00:10   151526301 true GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151526299 true GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151479417 false FRA.IDX/EUR 0.00 EUR -2.48 PLN
2018-02-01 00:00:10   151525442 false GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151196741 false EUR/USD 0.00 USD -7.00 PLN
2018-02-01 00:00:10   151526001 false GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151526442 true GBP/USD 0.00 USD -3.40 PLN
2018-02-01 00:00:10   151211179 false EUR/USD 0.00 USD -6.99 PLN
2018-02-01 00:00:10   151218250 true EUR/USD 0.00 USD -14.12 PLN
2018-02-01 00:00:10   151479431 false FRA.IDX/EUR 0.00 EUR -2.48 PLN
2018-02-01 00:00:10   151212621 true EUR/USD 0.00 USD -14.04 PLN
2018-02-01 00:00:10   151526293 true GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   151479429 false FRA.IDX/EUR 0.00 EUR -2.48 PLN
2018-02-01 00:00:10   151216593 false EUR/USD 0.00 USD -14.12 PLN
2018-02-01 00:00:10   151525441 true GBP/USD 0.00 USD -0.34 PLN
2018-02-01 00:00:10   suma prowizji wynosi: -83.61000000000003

Teraz to jest niepotrzebne, ale przy kolejnym wypełnianiu pita pewnie może się przydać bo faktycznie te standardowe raporty są toporne do liczenia...

-- 12 maja 2018, 13:58 --

Jeszcze tylko coś dodam, bo może za te kilka miesięcy ktoś też tym się będzie zajmował, chociaż wątpię... Chyba niemożliwe jest sprawdzenie wartości przez equlas porównując np tick.getTime() i czas zamknięcia pozycji. Są jednak różnice w testerze w czasie. Przykładowe wyliczenia dla czasu zamknięcia pozycji o 03-5-2018 10:25:45, w milisekundach jest to wartość z tej listy wyżej 1525343145000
(tick time) 1525343145001 (closed position time) 1525343145000 | (tick time > closed position time) false
(tick time) 1525343144846 (closed position time) 1525343145000 | (tick time > closed position time) true
Jest różnica zaledwie 0000000000001 dlatego wygenerowanie takiego raportu będzie możliwe przez puszczenie testu historycznego za rok wstecz i przeskanowanie czasu dla każdej zamkniętej pozycji i dopiero na koniec testu wygenerowałoby taki raport ?! Nie wiem jak to można inaczej rozwiązać... Ale to tylko tak przy okazji o tym pisze. W raportach na bieżąco jest to sprawdzane i na bieżąco są zbierane dane.

-- 12 maja 2018, 14:14 --

Sorry za ten offtop i troche spamu, ale może ktoś za jakiś czas też to będzie rozkminiał, więc wrzuce jeszcze ten kod i wynik. Pozycja była zamknięta o 10:25:45 3.05.2018 czyli 1525343145000
Kod: Zaznacz cały
public void onTick(Instrument instrument, ITick tick) throws JFException {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(1525343145000L);
        //console.getOut().println( sdf.format(calendar.getTime()) );
        Long T = new Long(tick.getTime());
        Long L = new Long("1525343145000");
        console.getOut().println( T + " " + L + " | " + (T < L));
        if (T > L) {
            //console.getOut().println( sdf.format(calendar.getTime()) + " "  + sdf.format(tick.getTime()) );
            console.getOut().println( sdf.format(T) + " "  + sdf.format(L) );
            context.pause();
        }       
}

I w konsoli dostaje wyniki:
2018-05-03 10:25:46 03-5-2018 10:25:46 03-5-2018 10:25:45
2018-05-03 10:25:46 1525343146637 1525343145000 | false << kolejny tick gdzie czas jest już większy, już 10:25:46
2018-05-03 10:25:45 03-5-2018 10:25:45 03-5-2018 10:25:45
2018-05-03 10:25:45 1525343145001 1525343145000 | false << wartość nie jest równa, różnica 0000000000001
2018-05-03 10:25:44 1525343144846 1525343145000 | true
2018-05-03 10:25:43 1525343143861 1525343145000 | true
2018-05-03 10:25:43 1525343143756 1525343145000 | true
2018-05-03 10:25:42 1525343142803 1525343145000 | true
2018-05-03 10:25:40 1525343140653 1525343145000 | true

-- 12 maja 2018, 14:14 --

Ok, to wszystko.
Offline

-rookie-

Maniak

Maniak

  • Posty: 2222
  • Rejestracja: 13 kwie 2015, 19:00

Re: JForex

Nieprzeczytany post13 maja 2018, 14:54

Ten post (dukascopy-ecn-t7793-3550.html#p911495) proszę przenieść do tego wątku (JForex) żeby nie zaśmiecał tematu brokera. Ale nie o tym chciałem tutaj napisać... Dukascopy chyba zwiększyło ilość danych, teraz można spojrzeć wstecz na EURUSD do 1973 roku. Inne instrumenty tak samo mają zwiększoną ilość danych wstecz.
Zaloguj się (lub zarejestruj), aby zobaczyć pliki załączone do tego postu.
Offline

-rookie-

Maniak

Maniak

  • Posty: 2222
  • Rejestracja: 13 kwie 2015, 19:00

Re: JForex

Nieprzeczytany post17 maja 2018, 19:08

Powinieneś raposo uzupełnić informacje odnośnie grupowania instrumentów w jforex, bo jest fajny bajer dzięki temu. Można lepiej analizować stylem multi time frame. Jeśli powiąże się okna tzn pogrupuje według instrumentu (nie okresu, nie strony, tylko wg instrumentu - 1 z 4 kolorów na 1 instrument, są 4 kolorki) i ustawi np jak na obrazku że masz 4 okna na pulpicie oraz włączony jest kursor na wszystkich oknach wtedy po najechaniu na jednym kursor przesuwa sie na innych na taką samą cene i czas. Fajnie widać to na range barach albo renko, na świecach tak samo działa. Niby nic ale całkiem pomocne rozwiązanie... Poza tym jak się ma powiązane okna to zmieniając w jednym oknie instrument w reszcie powiązanych tak samo się zmienia.
Zaloguj się (lub zarejestruj), aby zobaczyć pliki załączone do tego postu.
Offline
Awatar użytkownika

raposo

Moderator

Moderator

  • Posty: 11025
  • Rejestracja: 22 wrz 2006, 22:10
  • Lokalizacja: Trójmiasto
  • Pochwały: 66

Re: JForex

Nieprzeczytany post17 maja 2018, 19:26

JForex właściwie co dwa-trzy tygodnie przechodzi kolejne aktualizacje, gdzie dochodzą nowe funkcje. O wprowadzanych zmianach na bieżąco informujemy na naszej stronie, a przy większej ich ilości też tutaj ;).

Grupowanie instrumentów działa bardzo fajnie - sam z tego na codzień korzystam. Funkcja bodajże odgapiona od CMC, ale podobno na świecie wszystko już było... :)
- RABATY u brokerów ECN, STP, NDD
- Forex Club Tools
- Program Podatek 5.0
ForexClub.pl - IC Markets (-21%) - Tickmill (-10%)- Vipro Markets (-10%) - XTB - (Pakiet książek) - Dukascopy - LMAX (-20%) - FxPro (do -15%)

Zapraszamy do kontaktu
Offline

krystian74

Pasjonat

Pasjonat

  • Posty: 730
  • Rejestracja: 28 sty 2011, 12:05

Re: JForex

Nieprzeczytany post23 maja 2018, 09:37

Jak pozbyć się świecy niedzielnej na platformie JForex. Co mam zaznaczyć ?
Offline
Awatar użytkownika

raposo

Moderator

Moderator

  • Posty: 11025
  • Rejestracja: 22 wrz 2006, 22:10
  • Lokalizacja: Trójmiasto
  • Pochwały: 66

Re: JForex

Nieprzeczytany post23 maja 2018, 10:20

krystian74 pisze:Jak pozbyć się świecy niedzielnej na platformie JForex. Co mam zaznaczyć ?

Hmmm... U mnie to wygląda tak - i mam pięć świec D1.
Zaloguj się (lub zarejestruj), aby zobaczyć pliki załączone do tego postu.
- RABATY u brokerów ECN, STP, NDD
- Forex Club Tools
- Program Podatek 5.0
ForexClub.pl - IC Markets (-21%) - Tickmill (-10%)- Vipro Markets (-10%) - XTB - (Pakiet książek) - Dukascopy - LMAX (-20%) - FxPro (do -15%)

Zapraszamy do kontaktu
PoprzedniaNastępna

Wróć do Platformy transakcyjne

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości