Friday 20 October 2017

Dukascopy Jforex Api Dokumentasjon


JForex API JForex API gir mulighet til å utvikle egendefinerte programmer som bruker 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-supportforum der alle Jforex API-utgivelser publiseres og diskuteres. Det største problemet jeg hadde da jeg lærte å programmere mine egne handelsstrategier i JForex, er å finne hvor du 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. Jeg ønsker å bruke jForexAPI for å skape en strategi. Jeg har kodet mange linjer i MT4 og men jeg er allerede tapt med jForex api. De hjelper bare jeg ser er en veldig kort PDF. Er det noen fora for dds bygger Hva utviklingsplattform bruker jeg til å bygge dds-filer Hvor er de mange dds-eksempler Hvordan lager man en dds-fil, bare via notatblokk. Notisblokk er ikke bra for skriptutvikling, så er det noe annet Alt jeg vil gjøre er et skript som vil sette stoppstopp og målgjenvinning, og på en betingelse begynner en etterspørsel etter at jeg har satt en markedsordre. Så som et automatisk bestillingsskript, sparer jeg meg for å gjøre handelsledelsen. Så jeg trenger eksempelressurser eller en koder for å hjelpe meg. Eventuell hjelp ville være flott. Selv om Duskakopi har et verktøy for å bygge en bro fra MT4 til Dukascopy-plattformen, er problemet at MT4 datafeed ofte ikke er helt pålitelig. Så det er sannsynligvis bedre å programmere strategien med Jforex API ved hjelp av Dukascopy Datafeed. Her er dokumentasjonen for de som er interessert: Den pdf du har oppført jeg har. De forteller deg ingenting om hvordan man bygger et skript for sin java-plattform. Er dukas sier at notisblokken er utviklingsplattformen, vel det kan ikke være, hvordan tester man på scripten og feilsøker den. Deres java trading plattform har ingen kode debugger eller forfatter. Jeg kan ikke engang en liste med eksempler. Ikke engang et forum støttet av dukas for å hjelpe strategibyggere. Kanskje det er meg, og jeg er ikke veldig god på google. Var er verktøyene, ressursene, forumene, eksemplene, etc. Spørsmål Dukascopy - JForex Strategy Noen har omskrevet en berømt scalper EA til JForex Strategy og selger den. Back test ser bra ut og fremover test på DEMO ser utmerket ut. Alle som har erfaring med JForex Hvordan forskjellen mellom deres DEMO og REAL-konto, hvor pålitelig deres testresultater duwi: Noen har omskrevet en berømt scalper EA i JForex Strategy og selger den. Back test ser bra ut og fremover test på DEMO ser utmerket ut. Alle som har erfaring med JForex Hvordan forskjellen mellom deres DEMO og REAL-konto, hvor pålitelig deres testresultater jeg handler med Jforex. Det beste med dem er at de har en datafeed. Også å kjøre strategi er veldig enkelt og jeg er sikker på at dette er et riktig sted å handle med automatisk strategi. Har studert anatomien til en tom JForex-strategi (Del 1 og Del 2), er det tid til å 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.

No comments:

Post a Comment