Jforex Api Dokumentasjon


Det største problemet jeg hadde da jeg lærte å programmere mine egne handelsstrategier i JForex, er å finne hvor jeg skal begynne å lære. Det var få JForex-dokumentasjon tilgjengelig på den tiden, og jeg måtte lære meg gjennom forsiktig forsøk og feil ved hjelp av Dukascopys tekniske støtte. Ting har sikkert forandret seg, ettersom et JForex-samfunn begynner å spire, og dokumentasjon for at det er i det minste tilstrekkelig for å få noen startet. Dette innlegget er det første av en serie av rask begynnerguide for å lære JForex programmering ved å sette alle disse ressursene i en opplæring. JForex er et Java-verktøy JForex er egentlig ikke et programmeringsspråk. Det er et program programmeringsgrensesnitt (API) for bruk med standard Java programmeringsspråk. Som sådan er det første trinnet for å lære å programmere i JForex å lære Java. Heldigvis er Java et av de mest populære programmeringsspråkene. Så det er mange ressurser på og utenfor nettet for å lære Java programmering. Noen eksempler på gratis online opplæringsprogrammer er: Java-opplæringen - Dette er en offisiell opplæring fra utvikleren av Java selv. Sterkt anbefalt. Begynner Java Tutorial - Mer rettet mot de absolutte nybegynnere til programmering. Hvis du foretrekker en bok, vil jeg anbefale Head First Java, 2. utgave. Jeg børstet opp på min Java fra denne boken. Ikke legg deg til Java for mye, selv om du bare trenger å vite det grunnleggende for å komme i gang med JForex. Les bare noen få kapitler for å forstå Java-syntaksen, og fortsett deretter. Du kan alltid henvise til dem senere. Dykk inn i JForex JForex Wiki er en av de tre essensielle ressursene til JForex programmører. Jeg vil referere til noen spesifikke sider av Wiki i mye av denne serien av innlegg. Hvis du ikke har gjort det allerede, melde du på en DEMO-konto hos Dukascopy. Deretter starter du JForex-plattformen og følger instruksjonene på Bruk på JForex-wikisiden for å sette sammen din første JForex-strategi. Så langt så bra. På dette punktet håper jeg at du kan forstå grunnleggende Java-kildekoden og vite hvordan du starter, kompilerer og kjører en JForex-strategi. I neste innlegg i denne læring JForex-serien vil vi studere anatomien til en JForex-strategi. JForex API JForex API gir mulighet til å utvikle egendefinerte programvaren ved hjelp av Java-programmeringsspråk. API-klientbiblioteket kan kobles til kundesystemer. Den kommuniserer direkte med Dukascopy Bank-handelsservere over sikre og autentiserte Internett-økter. Det er ikke nødvendig å kjøre JForex-plattformen samtidig, men plattformen kan brukes til å overvåke i sanntid alle handlinger som et kundesystem tar. For å begynne å jobbe med JForex Software Development Kit (JForex SDK), last ned og importer det i et Java Integrated Development Environment (IDE) etter eget valg: JForex SDK inneholder eksempler for: strategi som kjører med live data strategi back-testing strategi back - Testing i visuell modus JForex SDK oversikt beskriver hvordan du modifiserer og forbedrer brukssaker. For strategiutvikling, start med Strategi API-oversikten. De nyeste JForex SDK-avhengighetene kan alltid finnes i det offentlige Dukascopy Maven-depotet. noe som betyr at man kan konfigurere sitt prosjekt for alltid å bruke den nyeste JForex API-versjonen. Hold deg oppdatert med vår nyeste Jforex API-utviklingen og abonner på automatisk Jforex API-utgivelsesnotat e-post. Ikke glem å sjekke vårt API-støtteforum der alle Jforex API-utgivelser publiseres og diskuteres. Å ha studert anatomien til en tom JForex-strategi (del 1 og del 2), er det på tide å dissekere en fungerende. MAPlay er strategien som følger med hver JForex API-nedlasting som en demonstrasjon. Du finner den komplette kildekoden til denne strategien i srcsinglejartest i JForex API-pakken. Husk at den første grensesnittmetoden som kjører i starten av strategien, er onStart. OnStart-metoden for MAPlay er gjengitt nedenfor. Variablene motor. indikatorer. og konsoll er felt i MAPlay-klassen. De er globale variabler i klassen. Hvilke linjer 42--44 gjør er å lagre IEngine. IIndicators. og IConsole objekter for senere bruk. Den siste linjen på onStart, linje 45, er bare å skrive ut en melding på JForex programkonsoll for å varsle brukeren om at strategien har startet. Når onStart er ferdig med behandlingen, vil serveren sannsynligvis ringe onTick hvis et markedskryss kommer. Hvis det ikke er i markedstid, så er det ikke kryss og noen annen hendelse kan skje i stedet for onTick. Tenk på metodene som hendelser i stedet for en lineær prosess. Du programmerer JForex-strategien i henhold til hva du vil gjøre med hver av de seks IStrategy Interface-hendelsen. For denne strategien bestemmer programmøren å implementere sin strategi på teltnivå. Som sådan ligger mye av handelsalgoritmen i onTick for MAPlay. Merk at dette er et designvalg, du kan bruke onBar hvis du vil at strategien din skal behandles i barnivået (eller du kan bruke både onTick og onBar). Heres kildekoden for onTick in MAPlay. På et øyeblikk kan du merke at variablene ma0 og ma1 spiller en nøkkelrolle for å bestemme oppsettet. Tips: For å omdanne en strategi, kan det være lettere å jobbe bakover fra når bestillingen er plassert, som gjøres av engine. submitOrder i dette tilfellet. ma0 og ma1 holder resultater fra eksponentielle bevegelige gjennomsnitt (EMA). ma0 er gjeldende verdi. ma1 er den forrige sverdverdien. Linjer 56-63 sjekker ved hjelp av IF-tester (linjer 56 og 60) for å se om en av variablene inneholder ugyldige data. Hvis dataene er ugyldige, beregnes indikatoren og resten av onTick hoppes over med returoppgaven på linje 62. Merk: Indikatorverdier kan noen ganger være ugyldige (null, negativ eller Dobbel. NaN. Avhengig av den bestemte indikatorimplementasjonen ) hvis det ikke er nok data til å beregne det eller det oppsto en feil, for eksempel. EMAene hentes i linjene 57 og 59 ved hjelp av IIndicators-objektet (som ble initialisert i onStart). JForex Wiki gir en forklaring på bruken av den. Legg merke til at ma1 er en matrise, som ble deklarert i linje 38 med en størrelse som tilsvarer antall tilgjengelige JForex-instrumenter. Spesielt brukes den med en spesiell indeksverdi som i ma1instrument. ordinal (). Med andre ord, det ber om gjeldende instrumentspor i ma1-arrayet. Det nåværende instrumentet er det som sendes inn i metoden i linje 55. Ved å flytte ned koden er et annet interessepunkt linje 65, som viser bruken av instrument. getPipValue (). Linje 67 kontrollerer om nåværende totalt antall posisjon er null. Hvis det er, betyr ingen åpnet posisjon, fortsetter strategien å sjekke inngangssignalet for å inngå en handel (linjer 68-76). positionsTotal () er en tilpasset metode definert i linjene 84-92. Den bruker en FOR-sløyfe til å sykle gjennom alle ordrene som er oppnådd fra engine. getOrders (instrument). Når en av de lange eller korte betingelsene, henholdsvis linjene 68 og 72 er oppfylt, sender strategien en ordre i linjene 69 for en kort og linje 73 for lang tid. Opplysningene om å sende inn markedsordrer er beskrevet i JForex Wiki. Når du stopper denne strategien, kalles onStop (linjer 48--53). For denne strategien løper programmøren gjennom alle ordrene igjen ved å bruke engine. getOrders () og lukker hver posisjon med en order. close () kommando i linje 50. Det er det for denne trivielle strategien. Hvis det er ett punkt du bør huske. Merk min bruk av de mange koblingene til JForex javadoc og JForex Wiki gjennom hele dette innlegget. Du vil sannsynligvis finne mange av svarene dine fra disse to kildene. Hvis ikke, er det alltid JForex Support Board. Nå som du har hatt en ide om hvordan MAPlay. java fungerer, er det på tide å teste det. I neste innlegg i januar vil vi diskutere JForex Historical Tester og hva du skal se etter når du kjører en strategi live. Vi så på fire av de seks metodene i IStrategy-grensesnittet i et tidligere innlegg. De to siste metodene, onTick og onBar, er hvor strategien din kobler seg til markedsdata. Enten eller begge deler av disse metodene er hvor du legger inn din handelsalgoritme. Strategien din vil da kunne behandle markedsdataene da de ankommer en tickbar av gangen. Husk at IStrategy Interface er skjelettet av strategien din. Og at IContext-objektet er hjertet av strategien din. onTickonBar er lederen av strategien din, som inneholder din handelsalgoritme, som er hjernen. Heres metoden definisjon av onTick. Viktig: onTick kreves for hvert instrument som JForex-plattformen din abonnerer på (instrumentlisten i arbeidsområdet). La meg si det igjen, onTick kaller for hvert instrument som JForex-plattformen din abonnerer på. Standard praksis er å filtrere ut flått for instrumenter som du ikke vil ha med en enkel IF-retur setning. hvis (instrument myInstrument) returnere Faktiske tick data sendes til din strategi ved hjelp av ITick objektet fra onTick metoder parameteren. Ta en titt på ITick javadoc-oppføringen for å se hva den tilbyr. onBar fungerer på samme måte som onTick. I hvilken onBar kreves for hvert underordnet instrument og periode kjent med JForex. På samme måte må du filtrere ut alle uønskede instrumenter og perioder ellers vil det forventes resultater fra strategien din. Et annet poeng å merke seg er at onBar gir både en IBar askBar og IBar bidBar, som representerer spør og bud barer. Spørsmål: Hva skjer når to eller flere perioder overlapper som i klokka 13:45 1, 5 og 15 minutter kommer alle sammen samtidig (for ikke å nevne perioder i sekunder også). Svar: Ifølge Dukascopy Support i forumet kommer de i en streng rekkefølge, for eksempel (1min 1min 1min 1min 1min 5min 1min 1min 1min 1min 1min 1min 5min.) De kommer i sykluser, hvor mindre perioder kommer først. JForex Support Forum Når du programmerer strategien din med JForex, vil du uten tvil komme med egne spørsmål. Det beste stedet å spørre er på det offisielle JForex Support Forum. Dette er den siste av de tre essensielle JForex-ressursene som jeg nevnte tidligere. Selv om du ikke har noen spesifikke spørsmål, er det prøvekoder, kodediskusjon og hundrevis av eksisterende QampA fra andre JForex-utviklere som er lagt inn i forumet. Diskusjonen hittil har vært veldig høyt. For å vise deg hva du egentlig kan gjøre i en IStrategy, vil vi dissekere en arbeidsstrategi i neste innlegg. Og hva annet bedre å undersøke enn den mest populære JForex-strategien til dem alle - MAPlay. java. Fortsetter videre fra del 1 i denne serien: Komme i gang med å lære JForex programmering. Nå var klar til å diskutere den virkelige tingen. Du bygger JForex-strategier ved å bruke IStrategy-grensesnittet (Hva er et grensesnitt). I utgangspunktet er et grensesnitt et kode skjelett med et sett med forhåndsdefinerte tomme metoder som du må implementere selv. De seks standardmetodene til IStrategy-grensesnittet er: Nedenfor er en tom implementering av IStrategy Interface, også kjent som en JForex-strategi. Denne koden vil kompilere fint i JForex, og du kan til og med kjøre den. Men det gjør ikke noe i det hele tatt fordi det ikke er noen kode å kjøre i hver av metodene. Hver av de seks metodene blir bare kalt og avsluttes umiddelbart. Hver av metodene utløses av en bestemt hendelse. Du kan sikkert gjette hva de er fra deres navn. onStart (linje 5) Dette er den første metoden som kalles når du kjører strategien din. Det vil løpe en gang i begynnelsen av strategien din. Vanligvis gjør du initialiseringen her inne. Ting å notere for påStart er i linje 5 i koden. Metodesignaturen til onStart er Objektet i parameteren og gitt til deg i denne metoden er et IContext-objekt. Hvis IStrategy er skjelettet, er IContext hjertet av strategien. Ta en titt på denne javadoc-lenken til IContext for å se hva dette objektet gjør. Javadoc. Nå er det en god tid å introdusere den andre av de tre essensielle ressursene til en JForex-programmerer. JForex Javadoc er den enkleste oppdaterte API-dokumentasjonen som forklarer hvert objekt og metoder for JForex API. Tenk på det som en referansehåndbok. Vær oppmerksom på at selv om det er omfattende, er forklaringen mest sparsom og muligens ufullstendig. IContext er et kjerne JForex objekt for å få tilgang til mange viktige komponenter i JForex-systemet, for eksempel bestillingsmotoren, diagrammer, konsoll, indikatorer. Du får ideen. Det er viktig Du vil vanligvis beholde en lokal kopi av det, da dette er den eneste gangen (i onStart) at dette objektet blir sendt til deg i IStrategy. onStop (linje 26) Som navnet antyder, kalles denne metoden når du sender en stoppekommando til strategien din. Du gjør programoppslaget ditt, slik som logging og spyling av data her. Ikke mye utenom det med denne. OnMessage (linje 18) Mens vi vet når start og stopp vil bli kalt, er OnMessage en asynkron metode ved at du ikke vet nøyaktig når den skal løpe. Denne metoden kalles når Dukascopy-serveren sender strategien din en melding. For eksempel kalles serveren for å informere deg om at bestillingen din er fylt ut. Du mottar og behandler servermeldingen ved å få tilgang til IMessage-objektet som er sendt til deg. Viktig: Det er ingen garanti for at du vil motta hver eneste melding som sendes til strategien din fra serveren. Kanskje din strategiprosess er tilstoppet. Eller kanskje din internettforbindelse hadde en hikse. Hvis din strategi onMessage ikke blir kalt av serveren uansett grunn, kan serveren ikke bry seg mindre og vil ikke sjekke eller prøve igjen. Så ikke gjør noe kritisk som å administrere dine bestillinger i onMessage onAccount (linje 22) Denne metoden kalles når din oppdatering av kontoopplysninger er mottatt. Metoden gir tilgang til IAccount-objektet. som du bruker til å få kontoinformasjonen din. Si om du har en åpen posisjon, endres kontoinformasjonen på hvert kryss, fordi egenkapitalen er kontant urealisert profitt. I så fall kalles onAccount hvert 5. sekund av serveren for å unngå å oversvømme strategien din. Viktigere: IAccount-objektet er ikke koblet direkte til kontoen din på serveren. Det er bare et øyeblikksbilde av kontoen din. For eksempel, hvis du beholder en lokal kopi av et IAccount-objekt. Gjør litt handel for å endre balansen din. Spør deretter den samme IAccount for kontoinformasjon, du vil ikke se en endring. Som sådan, må du alltid oppdatere din lokale kopi av IAccount i onAccount-metoden for å holde kontoinformasjonen oppdatert for strategys bruk. Å fortsette onStart, onStop, onMessage og onAccount-metoder er administrative metoder for strategien din. De to siste metodene som drøftes godt, onTick og onBar, er hvor magien skjer i en strategi. Jeg redder best for sist i neste innlegg. Det største problemet jeg hadde da jeg lærte å programmere mine egne handelsstrategier i JForex, er å finne hvor jeg skal begynne å lære. Det var få JForex-dokumentasjon tilgjengelig på den tiden, og jeg måtte lære meg gjennom forsiktig forsøk og feil ved hjelp av Dukascopys tekniske støtte. Ting har sikkert forandret seg, ettersom et JForex-samfunn begynner å spire, og dokumentasjon for at det er i det minste tilstrekkelig for å få noen startet. Dette innlegget er det første av en serie av rask begynnerguide for å lære JForex programmering ved å sette alle disse ressursene i en opplæring. JForex er et Java-verktøy JForex er egentlig ikke et programmeringsspråk. Det er et program programmeringsgrensesnitt (API) for bruk med standard Java programmeringsspråk. Som sådan er det første trinnet for å lære å programmere i JForex å lære Java. Heldigvis er Java et av de mest populære programmeringsspråkene. Så det er mange ressurser på og utenfor nettet for å lære Java programmering. Noen eksempler på gratis online opplæringsprogrammer er: Java-opplæringen - Dette er en offisiell opplæring fra utvikleren av Java selv. Sterkt anbefalt. Begynner Java Tutorial - Mer rettet mot de absolutte nybegynnere til programmering. Hvis du foretrekker en bok, vil jeg anbefale Head First Java, 2. utgave. Jeg børstet opp på min Java fra denne boken. Ikke legg deg til Java for mye, selv om du bare trenger å vite det grunnleggende for å komme i gang med JForex. Les bare noen få kapitler for å forstå Java-syntaksen, og fortsett deretter. Du kan alltid henvise til dem senere. Dykk inn i JForex JForex Wiki er en av de tre essensielle ressursene til JForex programmører. Jeg vil referere til noen spesifikke sider av Wiki i mye av denne serien av innlegg. Hvis du ikke har gjort det allerede, melde du på en DEMO-konto hos Dukascopy. Deretter starter du JForex-plattformen og følger instruksjonene på Bruk på JForex-wikisiden for å sette sammen din første JForex-strategi. Så langt så bra. På dette punktet håper jeg at du kan forstå grunnleggende Java-kildekoden og vite hvordan du starter, kompilerer og kjører en JForex-strategi. I neste innlegg i denne læring JForex-serien vil vi studere anatomien til en JForex-strategi. Forex trading Java API Java og grensesnitt til støttede Forex meglere på en lovlig og robust måte. Tjenesteytere bruker det til. Bygg WEB-plattformer for Forex-forhandlere på tvers av ulike meglere. Design mobile Forex-applikasjoner. Gi ulike Forex-konto kopimaskiner evner. Opprett avanserte WEBmobile grensesnitt til Brokers trading servere. Implementere svært skalerbare distribuerte cloud trading applikasjoner. Enkeltpersoner kan utvikle Java MTS ved hjelp av deres favoritt IDE (IntelliJ IDEA, MS VS2010, NetBeans, Eclipse osv.) Aktiver flere handelsregnskap Skriv komplekse, godt strukturerte mekaniske handelssystemer, andre språk passer ikke til Bruk NJ4Xtrade bibliotek for å administrere forex-kontoer. Du kan utvikle mekanisk handelssystem i rent Java eller C programmeringsspråk, mens andre språk fremdeles er tilgjengelige for å bygge tilpassede indikatorer (om nødvendig). Du kan også bruke NJ4Xtrade bibliotek til å opprettholde samtidige tilkoblinger til flere av Forex meglere fra en enkelt-distribuert Java-applikasjon (er), få ​​tilbud, handel, ring standardkvalitetsindikatorer etc. Feilsøkingsverktøy for alle språk er uvurderlig - NJ4Xtrade lar deg Fremskynde utviklingen ved å oppdage feil i koden din og potensielle fallgruver som kan skje. Personlig prisplan krever at du kun lisenser kun Windows-maskiner som kjører NJ4X Terminal Server (Merk: det er også mulig å kjøre NJ4X TS under Linux WINE-miljøene). Handel med ulike datakilder analysert. Basere dine handelsstrategier på. Dybdeanalyse av sanntids-ticks av forskjellige meglerdata kilder (for eksempel DukasCopy, LMAX, TradingView). Pålitelige signalleverandører hendelser. High-end utviklingsteknologier (som LMAX disruptor). gjør søknadene dine raske. Ved å bruke ikke-blokkerende ticks-prosessorer, utformer du Utførelse av uavhengige oppgaver (posisjonanalyse, logging, GUI refleksjon) parallelt. Forenkling av overordnet programstruktur. Ved å gå bort fra en enkelt handelskontekstbegrensning av noen Forex-plattformer, det vil si flere bestillinger av Den samme kontoen utføres parallelt.

Comments

Popular posts from this blog

Hl30 Forex

Aapl 21 Dagers Moving Average

Daglig Forex Priser Sbi