Documentazione Api Jforex


Condizioni di utilizzo 1. Concessione di licenza Dukascopytrade (Suisse) SA (di seguito denominato quotLicensorquot) e l'utente finale (di seguito denominato quotLicenseequot) dichiara e statuisce concludono un accordo giuridicamente vincolante. In base ai termini e alle condizioni del contratto di licenza con l'utente finale (di seguito denominato quotEULAquot), il Licenziante concede al Licenziatario non esclusiva, non trasferibile, licenza mondiale per uso personale e non commerciale (istanze di, l'uso commerciale non personale sono consentiti quando evidenziato da un accordo supplementare firmato che si ritiene essere una parte di Dukascopytrade Condizioni di utilizzo), uso temporaneo e l'accesso alle API di Dukascopytrade JForex. tutte le immagini, i materiali, ogni altro dato o informazione in esso contenuti, qualsiasi altro servizio o prodotto distribuito dal Licenziatario, così come tutti i futuri aggiornamenti, miglioramenti e sequel (in prosieguo: quotContentquot). Alcune parti del Content sono espressamente identificati come liberamente disponibile per l'integrazione e la modifica limitata entro l'API licenziatari JForex sulla base di uso non commerciale. I licenziatari diritto di modificare qualsiasi parte contenuti offerti è limitata a modificare solo per adattarsi al formato, look and feel delle API licenziatari JForex. Licenziante si riserva il diritto di definire i limiti di uso non commerciale dei contenuti o parte di esso. Tutte le forme di utilizzo che non rientrano questa definizione sono considerati come esempi di uso commerciale. Per ottenere la licenza commerciale (che viene offerto gratuitamente per un periodo di tempo limitato) le richieste si prega di e-mail a apidukascopy. 2. Le restrizioni di licenza Il licenziatario non può vendere, affittare, noleggiare, sub-licenza, assegnare, dare in prestito, pubblicare, commercializzare o distribuire in alcun modo a terzi, tradurre in un altro linguaggio di programmazione, porto, adattare, modificare, decodificare, decompilare, smontaggio, locale per uso commerciale qualsiasi parte del contenuto o qualsiasi loro derivati, fonte uso o codice oggetto o utilizzare in altro modo contenuti. Il licenziatario non può utilizzare o accedere a contenuti o integrare qualsiasi parte di esso in dotazione (in Licenzianti insindacabile giudizio) se tale azione può avere un effetto negativo sulla licenziatari buona volontà, la reputazione, marchio o immagine pubblica a causa di utilizzare in un modo che è (o integrato con materiali che sono) moralmente discutibili, violento, erotico, pornografico, sessista, razzista, profano, illegale o che danno luogo a responsabilità civile. Licenziatario accetta espressamente per visualizzare Licensors copyright o marchio di fabbrica (come indicato al punto 8 quotTrademark informationquot) sulla stessa pagina Web che sarà facilmente identificabile (da un osservatore oggettivo) come parte integrante di qualsiasi parte del contenuto utilizzato dal licenziatario. Il licenziatario non può modificare o rimuovere qualsiasi avviso di copyright o marchio o esclusività contenuta nel o su qualsiasi parte del contenuto. Tutti i diritti che non sono espressamente concessi nel Contratto sono mantenuti dal Licenziante. Licenziante non possedere o sviluppare i contenuti, ma ha un diritto esclusivo di sub-licenza l'uso e l'accesso al contenuto ed è un rappresentante dei suoi proprietari e sviluppatori. Licenziante non fornisce alcuna garanzia o dichiarazioni relative al contenuto. Il contenuto viene costantemente sviluppato e fornito quote ISquot, quote AVAILABLEquot, quotWITH TUTTA LA SUA FAULTSquot e - nei limiti consentiti dalla legge - è offerto senza alcun covenant o esplicite, implicite o garanzie di legge, tra cui (a titolo esemplificativo e qualificazione) garanzie concernenti accuratezza, funzionalità, prestazioni, commerciabilità, godimento, l'integrazione del sistema, la precisione dei dati, non violazione dei diritti di proprietà intellettuale o idoneità per uno scopo specifico e le garanzie derivanti da usi commerciali, corso di trattative o di prestazioni. Né Licenziante né qualsiasi altra parte (tra cui - a titolo esemplificativo e qualificazione - proprietari, gestione, sviluppatori, dipendenti, funzionari, affiliati, agenti, rappresentanti, appaltatori, di comunicazione fornitori di servizi o di terze parti) monitor, controlli, o la qualità di garanzie, l'accuratezza, completezza, tempestività, veridicità, affidabilità, assenza di virus, adeguatezza o la disponibilità di contenuti (incluso ma non limitato a informazioni, testi, grafici, collegamenti o altri elementi ottenuti tramite l'accesso, l'utilizzo, la consultazione o l'esplorazione dei contenuti) e avrà alcun la responsabilità, contingenti o in altro modo, per eventuali danni diretti, indiretti, incidentali, consequenziali, speciali, esemplari o punitivi o qualsiasi altro tra cui (senza limitazioni o riserve) perdita di profitto, gli investimenti, perdite commerciali o qualsiasi altra perdita economica derivante dalla disposizione (o mancanza di disposizione) dei contenuti, indipendentemente dalla causa o forma di azione, sia in torto, per contratto, responsabilità oggettiva, responsabilità legale o di altro, e se non sono state previste tali danni, imprevisto o prevedibile, anche se Licenziante è stata informata della possibilità di tali danni. Senza limitare quanto sopra, nel caso in questi termini e condizioni, o parte di essi, sono da ritenersi non valida, illegale o altrimenti inapplicabile da un tribunale di licenziatario competente accetta espressamente che la responsabilità Licenzianti non deve superare l'importo equivalente a 1 ( un dollaro). L'uso della tecnologia Java parte del contenuto implica l'uso della tecnologia Java. La tecnologia Java non è compatibile e non è progettato, costruito o destinato all'uso o alla vendita come apparecchiatura di controllo in linea in ambienti pericolosi che richiedono prestazioni fail-safe, come ad esempio nel funzionamento di impianti nucleari, sistemi di navigazione o di comunicazione, controllo del traffico aereo , macchine di supporto vitale, o sistemi di armi, in cui il mancato funzionamento della tecnologia Java potrebbe essere causa di morte, lesioni personali o gravi danni fisici o ambientali. Nessuna informazione o materiale in Content deve essere fatto valere ai fini di rendere Andor comunicare (o non prendere Andor comunicanti) decisioni di investimento o di qualsiasi altro tipo di transazioni. Licenziatario effettua una ricerca indipendente, ottenere consulenza specialistica (applicabile ai licenziatari situazione particolare) e si riferiscono sempre alle fonti alternative di informazioni (tra cui - a titolo esemplificativo e qualificazione -. Le quotazioni, notizie di mercato, etc) prima di fare affidamento su qualsiasi informazione trovato in Content. Licenziatario accetta espressamente che ha ricevuto un avviso equo e si assume l'intero rischio di perdita in utilizzando Content. Notizie fornito da Dow Jones Un certo numero di Dukascopytrade prodotti possono contenere testo, titoli, dati, grafici e fotografie (di seguito denominati collettivamente come la quotNewsquot) fornito da Dow Jones amp Company Inc. (UES), (di seguito denominato quotDow Jonesquot) . News è di proprietà di Dow Jones o dei suoi licenziatari ed è protetto dalle leggi sulla proprietà intellettuale. Notizie può essere utilizzato solo per scopi non commerciali personali. Dow Jones ha il diritto di interrompere la fornitura di notizie o modificarne il contenuto in qualsiasi momento, senza preavviso. Licenziatario si impegna a non memorizzare, copiare, riprodurre, distribuire, trasferire, pubblicare, creare il proprio contenuto delle notizie sulla base di Dow Jones News, trasmissione o comunque diffondere contenuti Dow Jones senza un preventivo consenso scritto di Dow Jones. Dow Jones non è responsabile per eventuali ritardi nel licenziatari ricevuto la notizia che per Notizie contenente prematura Andor informazioni imprecise o per le notizie che contiene eventuali omissioni. News è fornito su quote isquot base e Dow Jones e le sue controllate, agenti e licenziatari non fare alcuna e con la presente declinano espressamente qualsiasi dichiarazione, approvazioni, garanzie, o garanzia, esplicita o implicita, compresi, senza limitazione, qualsiasi accuratezza, tempestività , completezza, commerciabilità, idoneità per uno scopo particolare, titolo o non violazione dei diritti di proprietà intellettuale. Dow Jones e le sue controllate, agenti e licenziatari non saranno responsabili per eventuali danni diversi dal decesso o lesioni direttamente connessi con l'uso di News nella misura in cui la morte o lesioni è stato causato da negligenza Dow Jones o contingenze di fuori del controllo del Dow parti Jones nel fornire, compilare, interpretariato, di segnalazione o la trasmissione di notizie di Dow Jones e le sue controllate, agenti e licenziatari non saranno responsabili per le decisioni o le azioni effettuate in base al contenuto di News. Dow Jones e le sue controllate, agenti e licenziatari non saranno responsabili per eventuali danni diversi dal danno diretto, tra cui, ma non limitati a, danni indiretti, anche se sono stati informati di tale possibilità. In nessun caso la responsabilità della Dow Jones e delle sue controllate, agenti e licenziatari derivanti da qualsiasi reclamo relativo a questo accordo o all'oggetto del presente superare l'importo complessivo versato dal suo distributore autorizzato nella (12) mesi dodici immediatamente precedenti l'evento dando origine alla richiesta. JForex traduzioni API JForex API è disponibile in più lingue. La versione inglese è la versione originale e Concedente non sarà responsabile per eventuali traduzioni dalla versione originale in altre lingue errate, inadeguate o fuorvianti. Il Licenziatario accetta espressamente di manlevare e tenere Concedente Andor qualsiasi altro terzo indenne da qualsiasi rivendicazione, le tasse (tra cui - a titolo esemplificativo e qualificazione - le spese legali), la responsabilità, le perdite derivanti da prestazione (o la mancanza di disposizione) dei contenuti, violazione delle disposizioni EULA o diritti di terzi (tra cui - a titolo esemplificativo e qualificazione - diritti di proprietà intellettuale). 5. Residence e restrizioni legali fornitura di contenuti non è rivolto a residenti della giurisdizione da cui per qualsiasi motivo l'accesso e l'utilizzo dei contenuti o parte di esso è proibito oppure strettamente regolamentato (ad esempio Stati Uniti d'America). Licenziatario soggetti a tali restrizioni non può accedere ed utilizzare i contenuti o parte di esso. A causa della pletora di normative internazionali e il loro aumento costante incapacità delle piccole imprese internet a rispettare tutti i requisiti normativi dei vari sistemi giuridici in tutto il mondo non deve essere interpretato come atto volontario ed è puramente casuale. Le quotazioni sono il risultato di una forma originale di compilazione dei dati e l'alto grado di creatività basata sulla realizzazione di un metodo statistico che è unica. Le citazioni forniscono licenziatario con un nuovo tipo di feed di dati in tempo reale con le proprietà originali in termini di formato, la frequenza, l'eliminazione del rumore, ecc. e rappresentano un romanzo e soluzione creativa per la nuova generazione di sistemi di trading automatico intelligente. I nomi dei stock-borse (ad esempio NYSE, Nasdaq) sono utilizzati all'interno di contenuti esclusivamente per informare licenziatario in cui un particolare strumento possono essere scambiati. No Borsa fornisce Concedente con i dati di mercato, se non espressamente dichiarato il contrario. Le citazioni rappresentano un intervallo di valori risultanti da un metodo Dukascopytrade pluripremiata e brevettata di filtrazione dati di mercato. La filtrazione viene effettuata monitorando e l'elaborazione dei dati ottenuti dai commercianti utilizzando Dukascopytrade mercato Machin e, e anche confrontando le informazioni ricevute con i dati ottenuti da fonti alternative. Il valore effettivo ottenuto è un prezzo del tempo ottimale per un periodo di dieci secondi. Nel determinare le previsioni i prezzi di mercato sempre fluttuanti sono stati domati con il metodo di elaborazione dei dati che riduce gli effetti del rumore di prezzo. Licenziatario che consulta i preventivi accetta espressamente di organizzare e utilizzare l'accesso simultaneo alle fonti alternative di dati di mercato. Solo essere in grado di confrontare le quotazioni fornite con le stesse citazioni dalle fonti licenziatario alternativa grado di conoscere che si presenta con una visione oggettiva del mercato. 7. proprietà delle informazioni delle pubblicazioni, ogni altra informazione compresa (senza alcuna limitazione e qualificazione) immagini di persone o luoghi visualizzate in Content sono di proprietà del Licenziante o utilizzati con il permesso. Licenziatario o altre terze parti non devono utilizzare tali informazioni senza previa autorizzazione scritta. L'uso improprio di queste informazioni possono violare le norme e le leggi in materia di diritto alla privacy e della proprietà intellettuale di comunicazione. 8. Informazioni sui marchi commerciali e di servizio Tutti i marchi, loghi e altri marchi, registrati o non registrati, mostrato in Content sono di proprietà dei rispettivi proprietari. Fatto salvo quanto espressamente specificato in questi termini e condizioni, nulla di quanto contenuto deve essere interpretato come conferimento per implicazione, preclusione giuridica o altrimenti licenza o diritto di brevetto, segreto commerciale, marchio di fabbrica, diritti d'autore o diritti di proprietà di Licenziante o di terzi. Integrando qualsiasi parte del Contenuto all'interno API, il licenziatario accetta espressamente per includere la seguente dichiarazione sulla stessa API che sarà facilmente identificabile come parte integrante di qualsiasi parte del contenuto utilizzato dal Licenziatario: quotPowered da Dukascopytrade. quot Quando si scrive su, citando, menzionare o comunque riferimento a qualsiasi parte del contenuto (o il metodo statistico o analitico del trattamento dei dati utilizzati) in qualsiasi forma scritta o un sito, il licenziatario accetta espressamente sempre di usare la parola quot Dukascopytrade quot (a partire con la lettera maiuscola, sceneggiato in corsivo e compresi simbolo di marchio registrato USPTO). Il marchio deve essere usato come un aggettivo descrittivo. Quando si effettuano i riferimenti ai contenuti, i nomi degli autori ei titoli delle fonti devono essere immediatamente seguiti da l'unica parola quot Dukascopytrade quot (a partire con la lettera maiuscola, sceneggiato in corsivo e tra cui USPTO simbolo di marchio registrato). La violazione delle disposizioni di cui sopra sarà considerato da come la violazione dei loro diritti di proprietà intellettuale degli autori. 9. Link ad altri siti web licenziante non sia né affiliato con né sponsorizzati da qualsiasi società, borsa valori o di qualsiasi altra organizzazione di cui contenuti se non espressamente dichiarato il contrario. No Sito web di cui o iper-linked entro Content è affiliato, sponsorizzato o promosso dal Concedente se non espressamente dichiarato il contrario. Licenziante non ha esaminato tutti i siti che sono collegati alla sua API, e il fatto di tali collegamenti non indica alcuna approvazione o l'avallo di qualsiasi materiale contenuto in qualsiasi sito collegato. Il licenziante non è responsabile per i contenuti di qualsiasi sito collegato ad esso e la connessione licenziatari di tali siti collegati è a licenziatari esclusivo rischio. 10. L'utilizzo di Demos Demos deve essere utilizzato dal licenziatario solo per gli scopi per cui sono offerte e in stretta conformità con le istruzioni fornite, il loro uso e la disponibilità può essere limitata nel tempo. 11. L'uso improprio di Dukascopytrade tecnologia da parte di terzi Concedente non potrà essere ritenuta responsabile per qualsiasi uso improprio della tecnologia Dukascopytrade da parte di terzi, tra cui (a titolo esemplificativo e qualificazione) qualsiasi tipo di attività che dà luogo a responsabilità legali. Licenziatario che ha avuto accesso e contenuti utilizzati o parte di esso tramite terzi Sito web o servizi ad essi associati devono farlo a licenziatari esclusivo rischio. Licenziante non e non può controllare, approvare, influenza o controllo di terze parti siti web o servizi che offrono. 12. I clienti di intermediari registrati con Licenziante Licenziatario che ha accessibili e utilizzabili contenuti tramite un contratto con mediatore registrato con Concedente sono vincolati da Dukascopytrade Condizioni di utilizzo. In conformità con Brokerage e uso della piattaforma Trading (Software) Accordo - oltre ad altri requisiti - Sezione 3 quotDisclaimerquot deve formare una parte del contratto di licenziatari con tale intermediario. Si prega di segnalare qualsiasi violazione di questo accordo al Licenziante (apidukascopy). 13. Cessazione d'uso Licenziante, a sua esclusiva discrezione, riserve (tra gli altri) il diritto di modificare, rifiutare o interrompere la fornitura di contenuti al Licenziatario senza offrire alcuna ragione. In caso di violazione di qualsiasi disposizione EULA il contratto è risolto di diritto. La risoluzione del Contratto è soggetto alla Sezione 23 quotSeverabilityquot. In caso di fallimento Licenziante avrà il diritto di rifiutare qualsiasi accordo di licenza terminando in tal modo tutti i diritti licenziatari sotto di essa. Qualsiasi disposizione di legge nella giurisdizione applicabile che ha effetto di preservare i diritti licenziatari è espressamente esclusa. Licenziatario accetta espressamente che Licenziante tratterà tutte le comunicazioni dal licenziatario compresa (senza alcuna limitazione e qualificazione) di dati, domande, commenti, suggerimenti o osservazioni come non riservato e non proprietario. Le comunicazioni possono essere utilizzati per qualsiasi scopo incluso (a titolo esemplificativo e qualificazione) la riproduzione, la trasmissione, la divulgazione, la pubblicazione, la trasmissione, e la pubblicazione. Licenziante potrà utilizzare, senza l'obbligo di licenziatario di qualsiasi tipo, tutte le idee, i suggerimenti, i concetti, le tecniche, o quotknow-howquot contenuta in Licenziatari comunicazioni, per qualsiasi scopo, incluso (senza limitazioni e qualificazione) sviluppo, produzione e commercializzazione di prodotti e servizi . Licenziatario autorizza Licenziante di divulgare i licenziatari informazioni riservate quando è necessario per motivi di lavoro (ad es. Per impostare i licenziatari account), previste dalla legge, ordine del tribunale o autorità di regolamentazione. Per ulteriori dettagli vedere Normativa sulla privacy. Se licenziatario sceglie di non registrarsi e fornire informazioni personali, il licenziatario sarebbe ancora in grado di utilizzare la maggior parte dei contenuti. Tuttavia, il licenziatario non sarebbe in grado di accedere alla zona o strutture all'interno di contenuti che richiedono la registrazione. 17. Enforcement destro Concedente può, a sua esclusiva discrezione ricorso a procedimenti legali eo altri mezzi legali per far rispettare la conformità licenziatari di questo accordo. In caso contrario, non costituisce una rinuncia a diritti licenziatari. Contratto sarà disciplinato e interpretato in conformità al diritto svizzero come la legge di governo unica ed esclusiva. Esclusivamente a favore del Concedente, tutte le controversie derivanti da o in relazione a questi termini e condizioni saranno risolte esclusivamente dai Tribunali di Ginevra, il diritto è riservato di presentare ricorso al Tribunale federale svizzero di Losanna. Licenziatario accetta espressamente di sottoporsi alla giurisdizione di tali Tribunali per tutti gli scopi. Questa disposizione, tuttavia, non impedisce licenziante dal lancio di un'azione legale in altra giurisdizione rilevante. Se il Licenziatario non ricorre in giudizio entro un anno (365 giorni) dopo la causa dell'azione licenziatario rinunci ad avere caso licenziatario sentito davanti a un tribunale di diritto e viene lasciato senza un rimedio. 19. Forza Maggiore Licensors mancato di fornire contenuti ed eseguire uno qualsiasi dei suoi obblighi contrattuali o legali a causa di condizioni che esulano dal controllo licenziatari quali (a titolo esemplificativo e qualificazione) guerra, scioperi, incendi, inondazioni, cause di forza maggiore, restrizioni governative, potere guasti o danni o distruzione di eventuali strutture o server di rete, non devono essere considerati una violazione dei licenzianti obblighi di legge. Licenziatario dovrà pagare tutte le tasse e le ritenute applicabili sulle operazioni che possono verificarsi utilizzando Content o parte di esso. Licenziante non potrà essere ritenuta responsabile per l'evasione fiscale licenziatari. Una volta che il Licenziatario ha registrato con Concedente, il licenziatario è il solo responsabile della custodia dei licenziatari dettagli della registrazione e non può consentire l'uso di terze parti dei licenziatari ID e la password. Questo è l'accordo esclusivo e completo che sostituisce tutte le altre rappresentazioni orale e scritta. Se una qualsiasi disposizione del Contratto viene dichiarata non valida o non applicabile da un tribunale della giurisdizione competente, tale disposizione sarà modificata solo nella misura necessaria a renderla applicabile, le restanti disposizioni del presente Accordo rimarranno in vigore. Tutte le sezioni con l'eccezione della sezione 1 quotGrant di Licensequot devono sopravvivere alla rescissione del Contratto e applicare - nella misura consentita dalla legge - in perpetuo. 24. Raccomandazioni tecniche possono essere utilizzati solo il contenuto di tutte le sue strutture fornite alcune raccomandazioni hardware e di sistema sono state soddisfatte: (i) Java 1.6 o superiore (ii) connessione a Internet: 56 Kbs o superiore (iii) CPU: 1500 MHz o superiore (iv) RAM: 512 MB o superiore (v) Area dello schermo di 1024x756 pixel o superiore e 256 colori o superiore. - Sono d'accordo presenti Condizioni d'Uso ContinueHaving hanno studiato l'anatomia di una strategia JForex vuoto (Parte 1 e Parte 2), il suo tempo per sezionare uno funzionante. Maplay è la strategia che è incluso in ogni JForex API scaricare come una dimostrazione. È possibile trovare il codice sorgente completo di questa strategia nel srcsinglejartest nel pacchetto zippato JForex API. Ricordiamo che il metodo prima interfaccia che corre all'inizio della strategia è onStart. Il metodo onStart di maplay è riportato di seguito. Il motore variabili. indicatori. e la consolle sono i campi della classe maplay. Sono variabili globali all'interno della classe. Quali linee 42--44 fare è quello di salvare il IEngine. IIndicators. e IConsole oggetti per un uso successivo. L'ultima riga di onStart, la linea 45, è semplicemente quello di stampare un messaggio sulla tua console programma JForex per informare l'utente che la strategia è iniziata. Una volta onStart è terminata l'elaborazione, il server è in grado di mettere onTick se una zecca mercato arriva. Se la sua non durante le ore di mercato, quindi non c'è nessun segno di spunta e qualche altro evento potrebbe accadere invece di onTick. Pensate ai metodi come eventi piuttosto che un processo lineare. Si programma la vostra strategia JForex in base a ciò che si vuole fare con ciascuno dei sei eventi IStrategy Interface. Per questa particolare strategia, il programmatore decide di attuare la loro strategia a livello di zecca. Come tale, gran parte del algoritmo di negoziazione risiede in onTick per maplay. Si noti che questa è una scelta di progettazione, è possibile utilizzare onBar se si desidera che la strategia per elaborare a livello di bar (o si può utilizzare sia onTick e onBar). Ecco il codice sorgente per onTick in maplay. A colpo d'occhio, si può notare che le variabili MA0 e MA1 svolgono un ruolo chiave nel determinare la configurazione. Suggerimento: per decodificare una strategia, può essere più facile lavorare a ritroso dal momento in cui viene effettuato l'ordine, che è fatto da engine. submitOrder in questo caso. ma0 e MA1 tengono i risultati di medie mobili esponenziali (EMA). ma0 è il valore corrente. MA1 è il valore barre precedente. Linee 56--63 controllo con se i test (linee 56 e 60) per vedere se una delle variabili contenere i dati non validi. Se i dati non è valido, l'indicatore viene calcolato e il resto del onTick viene saltata con l'istruzione di ritorno sulla linea 62. Nota: I valori degli indicatori possono talvolta essere valido (zero, negativo o Double. NaN seconda della particolare implementazione dell'indicatore. ) se non vi sono dati sufficienti per calcolare o si è verificato un errore, per gli esempi. Gli EMA sono recuperati nelle linee 57 e 59 utilizzando i IIndicators oggetto (che è stato inizializzato in onStart). Il JForex Wiki fornisce una spiegazione del suo utilizzo. Si noti che MA1 è una matrice, che è stata dichiarata in linea 38 con una dimensione equivalente al numero di tutti gli strumenti JForex disponibili. In particolare, viene utilizzato con un valore speciale indice come in ma1instrument. ordinal (). In altre parole, si chiede la scanalatura strumenti attuali nella matrice MA1. Lo strumento corrente è quella che viene passato al metodo in linea 55. Scendendo il codice, un altro punto di interesse è la linea 65, che mostra l'uso di instrument. getPipValue (). Linea 67 verifica se il numero totale corrente di posizione è zero. Se lo è, il che significa posizione non aperto, quindi la strategia procede a controllare il segnale di entrata per entrare in un commercio (linee 68--76). positionsTotal () è un metodo personalizzato definito nelle linee 84--92. Esso utilizza un ciclo for per scorrere tutti gli ordini ottenuti da engine. getOrders (strumento) Una vota che della condizione lungo o corto, le linee 68 e 72, rispettivamente, è soddisfatto, la strategia sottopone un ordine in linea 69 per un breve e linea 73 per lungo. Le indicazioni di presentare ordini di mercato sono descritti nel JForex Wiki. Quando si smette di questa strategia, OnStop (linee 48--53) è chiamato. Per questa strategia, il programmatore ciclo in tutti gli ordini di nuovo utilizzando engine. getOrders () e chiude ogni della posizione con un comando order. close () in linea 50. Questo è per questa strategia banale. Se c'è un punto che si dovrebbe ricordare. Nota il mio uso dei molti collegamenti al javadoc JForex e JForex Wiki corso di questo post. Si rischia di trovare molti dei vostri risposte da queste due fonti. In caso contrario, c'è sempre la scheda di supporto JForex. Ora che hai avuto un'idea di come funziona MAPlay. java, il suo tempo per testarlo. Nel prossimo post nel mese di gennaio, si discuterà il JForex storico tester e cosa guardare per quando si esegue una strategia dal vivo. Abbiamo esaminato quattro dei sei metodi nel IStrategy di interfaccia in un post precedente. Gli ultimi due metodi, onTick e onBar, è dove la vostra strategia di connettersi con i dati di mercato. Uno dei due, o entrambi, di questi metodi è dove si mette il algoritmo di negoziazione in. La vostra strategia sarebbe quindi in grado di elaborare i dati di mercato man mano che arrivano uno tickbar alla volta. Ricordiamo che IStrategy Interface è lo scheletro della vostra strategia. E quell'oggetto IContext è il cuore della vostra strategia. onTickonBar è il capo della vostra strategia, che contiene l'algoritmo di trading, che è il cervello. Ecco la definizione del metodo di onTick. Importante: onTick viene chiamato per ogni strumento che la vostra piattaforma JForex è sottoscritto (la lista strumento nella tua casella di lavoro). Permettetemi di dire che ancora una volta, onTick viene chiamato per ogni strumento che la vostra piattaforma JForex è sottoscritto. La pratica standard è di filtrare le zecche per gli strumenti che non volete con una semplice dichiarazione IF-ritorno. se (strumento myInstrument) restituisce i dati tick effettivo viene passato alla vostra strategia utilizzando l'oggetto ITick dal parametro metodi onTick. Date un'occhiata all'ingresso javadoc ITick per vedere quello che offre. onBar funziona in modo simile a onTick. In quale onBar è chiamata per ogni strumento inscritto e il periodo noto per JForex. Allo stesso modo, si deve filtrare tutti gli strumenti e periodi indesiderati o risultati altrimenti non ci sarà da aspettarsi da vostra strategia. Un altro punto da notare è che onBar fornisce sia una IBar Askbar e IBar bidBar, che rappresentano le barre di chiedere e offerta. Domanda: Cosa succede quando due o più periodi si sovrappongono come in 13:45 1, 5, e 15-minuti bar sono tutti arrivano allo stesso tempo (per non parlare dei periodi in pochi secondi troppo). Risposta: Secondo Dukascopy supporto nel forum, sono disponibili in un ordine rigoroso, per esempio Essi sono disponibili in cicli, in cui i periodi più piccoli viene prima (1 min 1 min 1 min 1 min 1min 5min 1min 1min 1min 1min 1min 5min.). Assistenza JForex Come si programma la vostra strategia con JForex, è senza dubbio venire con domande di tua scelta. Il posto migliore da porsi è al Forum ufficiale di supporto JForex. Questa è l'ultima delle tre risorse essenziali JForex che ho accennato in precedenza. Anche se non avete qualsiasi domanda specifica, ci sono codici di esempio, la discussione di codifica, e centinaia di QampA esistenti da altri sviluppatori JForex postato nel forum. La discussione è stata finora molto elevato. Per mostrare ciò che si può effettivamente fare in caso di IStrategy, ci sarà sezionare una strategia di lavoro nel prossimo post. E che altro di meglio da esaminare che il più popolare strategia di JForex di tutti - MAPlay. java. Proseguendo da parte 1 di questa serie: Per iniziare l'apprendimento di programmazione JForex. ora erano pronti a discutere la cosa reale. Si costruisce strategie JForex utilizzando l'interfaccia IStrategy (Che cosa è un Interface). In sostanza, l'interfaccia è uno scheletro di codice con una serie di metodi vuoti predefiniti che il youll necessità di attuare da soli. I sei metodi standard della IStrategy Interface sono: Di seguito è un'implementazione vuota IStrategy Interface, noto anche come strategia JForex. Questo codice verrà compilato bene in JForex e si può anche funzionare. Ma si pretende molto fare nulla, perché non esiste un codice per l'esecuzione in ciascuno dei metodi. Ognuno dei sei metodi sarà solo chiamato e uscire immediatamente. Ogni del metodo è innescato da un evento specifico. Probabilmente si può indovinare quello che sono dal loro nome. onStart (linea 5) Questo è il primo metodo che viene chiamato quando si esegue la vostra strategia. Verrà eseguito una sola volta, all'inizio della vostra strategia. Normalmente fate la vostra inizializzazione qui. La cosa da notare per onStart è in linea 5 del codice. La firma del metodo di onStart è l'oggetto nel parametro e dato a voi in questo metodo è un oggetto IContext. Se IStrategy è lo scheletro, poi IContext è il cuore della strategia. Si prega di dare un'occhiata a questo link javadoc per IContext per vedere che cosa questo oggetto fa. Javadoc. Ora è un buon momento per introdurre il secondo dei tre risorse essenziali di un programmatore JForex. Il JForex Javadoc è il singolo documentazione delle API più up-to-date spiegare ogni singolo oggetto e metodi dell'API JForex. Pensate a come un manuale di riferimento. Si noti che, sebbene la sua completa, la maggior parte della spiegazione è molto scarsa e anche incompleta. IContext è un oggetto nucleo JForex accedere a molte importanti componenti del sistema JForex, quali motore ordinamento, grafici, console, indicatori. Si ottiene l'idea. E 'importante in genere si desidera mantenere una copia locale di esso in quanto questo è l'unica volta (in onStart) che questo oggetto verrà passato a voi in IStrategy. onStop (linea 26) Come suggerisce il nome, questo metodo viene chiamato una volta che si invia un comando di arresto per la vostra strategia. Voi fate il vostro programma di wrap-up come la registrazione e dati di lavaggio qui. Non molto fuori dal comune con questo. onMessage (linea 18) considerando sappiamo quando verranno chiamati onStart e onStop, onMessage è un metodo asincrono in quanto non si sa esattamente quando verrà eseguito. Questo metodo viene chiamato quando il server invia Dukascopy vostra strategia di un messaggio. Ad esempio, il server chiama onMessage per farvi sapere che l'ordine è stato riempito. È ricevere ed elaborare il messaggio del server accedendo l'oggetto IMessage che viene passato a voi. Importante: Non vi è alcuna garanzia che riceverete ogni messaggio inviato alla vostra strategia dal server. Forse il vostro processo strategico è intasato. O forse la tua connessione a Internet ha avuto un incidente di percorso. Se la strategia di onMessage non ottiene chiamato dal server per qualsiasi ragione, il server couldnt cura meno e di solito essere il controllo né di riprovare. Quindi non fare nulla critici come la gestione degli ordini in onMessageQ onAccount (linea 22) Questo metodo viene chiamato ogni volta che viene ricevuto l'aggiornamento informazioni relative all'account. Il metodo prevede l'accesso all'oggetto IAccount. che si usa per ottenere informazioni sul tuo conto. Dire se si dispone di una posizione aperta, le informazioni dell'account cambia su ogni tick perché il capitale è in contanti profitloss non realizzati. In tal caso, onAccount è chiamato ogni 5 secondi dal server al massimo per evitare di intasare la vostra strategia. Più Importante: L'oggetto IAccount non è collegata in diretta al tuo account nel server. Si tratta semplicemente di una fotografia istantanea del vostro conto. Ad esempio, se si mantiene una copia locale di un oggetto IAccount. Fare qualche trading per cambiare il vostro equilibrio. Poi fare la stessa IAccount per le informazioni saldo del conto, non si vedrà un cambiamento. As such, always update your local copy of IAccount within the onAccount method to keep your account information up-to-date for your strategys use. To be continued onStart, onStop, onMessage, and onAccount methods are administrative methods for your strategy. The last two methods that well discuss, onTick and onBar, is where the magic happens in a strategy. I am saving the best for last in the next post. Il problema più grande che ho avuto quando si impara a programmare le mie strategie di trading in JForex sta trovando dove cominciare apprendimento. Ci sono stati pochi documentazione JForex disponibile al momento e ho dovuto insegnare a me stesso attraverso tentativi ed errori scrupoloso con l'aiuto di supporto tecnico Dukascopys. Le cose sono certamente cambiate per il meglio come comunità JForex sta cominciando a germogliare e la documentazione perché è almeno sufficiente per ottenere chiunque iniziato. Questo post è il primo di una serie di Guida pratica ai principianti di imparare la programmazione JForex mettendo tutte queste risorse in un tutorial. JForex è uno strumento di Java JForex non è in realtà un linguaggio di programmazione. Si tratta di un'interfaccia di programmazione delle applicazioni (API) per l'utilizzo con il linguaggio di programmazione Java standard. Come tale, il primo passo per imparare a programmare in JForex è imparare Java. Fortunatamente, Java è uno dei linguaggi di programmazione più popolari. Quindi therere abbondanza di risorse e fuori dal web per saperne di programmazione Java. Alcuni esempi di tutorial online gratuiti sono: I tutorial Java - Si tratta di un tutorial ufficiale da parte dello sviluppatore di Java se stessi. Altamente raccomandato. I principianti Java Tutorial - più adatto per i principianti assoluti alla programmazione. Se si preferisce un libro, mi sento di raccomandare Head First Java, 2nd Edition. Ho spazzolato sulla mia Java da questo libro. Dont soffermarsi su Java troppo però come avete solo bisogno di conoscere le basi per iniziare con JForex. Basta leggere alcuni capitoli per capire la sintassi di Java e poi andare avanti. Si può sempre fare riferimento a loro più tardi. Tuffarsi JForex La JForex Wiki è uno dei tre risorse essenziali per i programmatori JForex. Sarò riferisco ad alcune pagine specifiche del Wiki in gran parte di questa serie di post. Se havent già fatto, iscrizione per un account demo a Dukascopy. Quindi lanciare la piattaforma JForex e seguire le istruzioni per l'uso in pagina wiki JForex per assemblare la vostra prima strategia JForex Fin qui tutto bene A questo punto, spero che tu possa capire il codice sorgente Java di base e saper startopen, compilare ed eseguire un strategia JForex. Nel prossimo post di questa serie di apprendimento JForex, studieremo l'anatomia di una strategia JForex.

Comments