Monday, October 17, 2016

Forex Algoritmes

Forex Algorithmic Trading: 'n Praktiese Verhaal vir Ingenieurs Soos jy dalk weet, is die buitelandse valuta (Forex) mark wat vir die handel tussen munt pare. Maar wat jy dalk nie bewus wees dat dit die mees likiede mark in die wêreld. 'N Paar jaar gelede, gedryf deur my nuuskierigheid, het ek my eerste stappe in die wêreld van forex algoritmes deur die skep van 'n demo rekening en speel uit simulasies (met vervalste geld) op die Meta Trader 4 handel platform. Na 'n week van 'handel', het ek byna verdubbel my geld. Aangevuur deur my eie sukses, ek gegrawe dieper en uiteindelik ingeskryf vir 'n aantal forums. Binnekort is ek spandeer ure lees oor algoritmiese handel stelsels (reël stelle wat bepaal of jy moet koop of verkoop), persoonlike aanwysers. mark buie, en nog baie meer. My eerste kliënt Rondom hierdie tyd, toevallig, ek het gehoor dat iemand probeer om 'n sagteware ontwikkelaar om 'n eenvoudige handel stelsel te outomatiseer vind. Dit was terug in my kollege dae toe ek leer oor konkurrente programme in Java (drade, semafore, en alles wat rommel). Ek het gedink dat hierdie outomatiese stelsel dit nie veel meer ingewikkeld as my gevorderde data wetenskap kursuswerk kan wees, so ek het navraag gedoen oor die werk en het aan boord. Die kliënt wou die stelsel gebou met MQL4. 'n funksionele taal programmering gebruik word deur die Meta Trader 4 platform vir die uitvoer van-effekte wat verband hou aksies. MQL5 is sedertdien vrygestel. Soos jy kan verwag, dit spreek sommige van die kwessies MQL4 en kom met meer ingeboude funksies, wat die lewe makliker maak. Die rol van die verhandelingsplatform (Meta Trader 4, in hierdie geval) is om 'n verbinding met 'n forex makelaar verskaf. Die makelaar bied dan 'n platform met real-time inligting oor die mark en voer jou koop / verkoop bestellings. Vir lesers wat nie vertroud met forex, hier is die inligting wat verskaf word deur die data voer: Deur Meta Trader 4, kan jy toegang tot al hierdie inligting met interne funksies, toeganklik in verskillende tydsraamwerke: elke minuut (M1), elke vyf minute (M5), M15, M30, elke uur (H1), H4, D1, W1, MN . Die beweging van die huidige prys is bekend as 'n blok. Met ander woorde, 'n regmerkie is 'n verandering in die bod of Vra prys vir 'n geldeenheid paar. Gedurende aktiewe markte, kan daar talle bosluise per sekonde. Gedurende stadig markte, daar kan wees minute sonder 'n regmerkie. Die bosluis is die hartklop van 'n Forex robot. As jy 'n bestelling te plaas deur middel van so 'n platform, jy koop of verkoop 'n sekere volume van 'n sekere geldeenheid. Jy het ook stop-verlies en neem-winsgewende perke. Die keerverlies Limiet is die maksimum bedrag van pitte (prys variasies) wat jy kan bekostig om te verloor voordat hy op 'n handel. Die neem-winsgewende limiet is die bedrag van pitte wat jy versamel in jou guns voor wisseling uit. As jy meer wil weet oor die basiese beginsels van die saak (bv pitte, tipes orde, verspreiding, glip, mark bestellings, en nog baie meer) te leer, kyk hier. algoritmiese handel spesifikasies van die kliënt se was eenvoudig: hulle wou 'n robot wat gebaseer is op twee aanwysers. Vir agtergrond, aanwysers is baie nuttig wanneer ek probeer om 'n mark toestand definieer en maak handel besluite te neem, as hulle op grond van vorige data (bv hoogste prys waarde in die laaste N dae). Baie kom ingeboude om Meta Trader 4. Die aanwysers wat my kliënt was geïnteresseerd in kom uit 'n persoonlike handel stelsel. Hulle wou elke keer twee van hierdie persoonlike aanwysers gesny, en net op 'n sekere hoek handel. As ek my hande vuil, Ek het geleer dat MQL4 programme het die volgende struktuur: [Preprocessor riglyne] [Eksterne Parameters] [Globale veranderlikes] [Init Function] [Deinit Function] [Begin Function] [Custom funksies] Die begin funksie is die hart van elke MQL4 program, aangesien dit elke keer as die mark beweeg (ergo, hierdie funksie sal een keer per blok uit te voer) uitgevoer word. Dit is die geval, ongeag die tydperk wat jy gebruik. Byvoorbeeld, kan jy wat op die H1 (een uur) tydraamwerk, maar die begin funksie sou baie duisende kere voer per tydraamwerk. Om hierdie, ek gedwing om die funksie uit te voer een maal per periode eenheid: int begin () currentTimeStamp = Tyd [0]; Die kern van hierdie post ontstaan ​​as 'n té lang antwoord op 'n vraag vir my op Google. "So, hoe kom jy opgehou het om daardie dinge [outomatiese / algoritmiese handel]? Klink soos jy genoeg ervaring om 'n suksesvolle algoritmiese handelaar wees wil hê." Ek het die grootste deel van ses jaar, vanaf ongeveer 1999-2004 en weer in 2008, op grond van die chimeer lot van outomatiese / algoritmiese handel en terwyl ek nog nooit werklik die beloofde land van 'n wild suksesvol handel stelsel bereik, langs die pad het ek leer 'n baie oor myself, die wêreld, en hoe om sterk, hoogs perfomant kode te skryf. Die reis self verdien sy eie pos, of dalk 'n paar, soos dit was nogal 'n vreemde avontuur, maar hierdie onderwerp kickstarted, ek sal net begin met die rede waarom ek uiteindelik verskuif na die web en startups te kry. 1. 'n outomatiese handel operasie duur te veel handel en operasionele kapitaal (nie 'n baie lae skoonmaak tariewe, wat uiters moeilik om te onderhandel is noem) om maklik opstart op jou eie. Nie dat dit onmoontlik is, maar dit is beslis baie minder hulpbron-intensiewe om te probeer om geld te maak uit die bou van web of mobiele programme. 2. Elke keer as ek saam met 'n handelaar in 'n outomatiese handel onderneming, hul handel strategieë en idees beland nie werk ten spyte van die feit dat hulle (dikwels merkwaardig suksesvol) voorheen suksesvol was as óf vloer of skerm handelaars. Dit gewoonlik beteken dat ek 'n jaar deurgebring het of meer van my tyd kodering 'n state-of-the-art verhandelingsplatform wat beloop niks. 3. Ek is nie heeltemal oortuig dat dit is alles wat moontlik is om die mark konsekwent te klop nie, nog minder met behulp van algoritmes, veel minder gebruik van self-leer algoritmes (aka data-ontginning). Uit my perspektief, buiding iets wat 'n paar aantal mense wat bereid is om te betaal vir sou wees blyk te wees 'n baie meer soepel probleem op te los. Dit gesê, ek dink dit "mag" moontlik wees om die mark algoritmies klop as jy al die regte stukke in plek het, is die truuk net uitzoeken wat dié stukke vleis deur kan wees. 4. As jy jare spandeer aan 'n outomatiese handel projek (gewoonlik totale geheimhouding) en dit nie uit te werk op die ou end, kan dit moeilik wees om daardie kundigheid vir enigiets anders hefboom. Aan die ander kant, as jy werk op 'n web / mobiele projek en blog / tweet / podcast oor die hele ervaring (wat almal weet wat jy moet doen), die newe-effek is dat jy 'n openbare reputasie dat later kan lei sal gebou om alle vorme van onverwagse geleenthede. Dit is wat ek verwys na as die verhoging van jou geluk oppervlakte. 5. Deur die bou van web en mobiele programme, jy ten minste "n poging" om nie net jouself waarde vir die wêreld te skep en. Dit mag lyk soos 'n klein punt, maar as jou handel onderneming nie finansieel nie slaag nie, kan jy nie eens terug na die val - "Wel, ten minste het ek 'n klomp mense gelukkig, meer produktief, ens". Plus, die opwinding van 'n groot aantal mense gebruik jou sagteware is iets wat jy nooit sal ervaar binne die grense van 'n outomatiese handel operasie. 6. Trading is uiters stresvolle selfs al is dit die masjien self wat doen die handel. Trouens, lees ek 'n wetenskaplike studie 'n ruk terug wat bevind dat 'n verlore handel is twee keer so sielkundig dreineer as die ekwivalent wen handel sielkundig versterk, wat basies beteken dat jy oor die algemeen gaan word wat teen 'n sielkundige tekort aan die einde van elke werksdag. Ek weet baie begin stigters wil om te praat oor hoe hard starters is en oor die ongelooflike roller-coaster ride dit is die begin lewe (wat waar is), maar ek het nuus vir jou, beteken dit nie vergelyk met die maal, gut-skokkende stres van die saak, en eerlik dit is geen manier om te lewe. 7. (Sien addendum) Ek het 'n groot deel van die handel ding gedoen en terwyl dit is 'n prettige en verslawende spel vir seker, het ek gevind dat handelaars is oor die algemeen nie my soort mense. Die rede hiervoor dink ek, is dat vir die meeste handelaars dit is pretty much alles oor die geld, en wanneer iets is al of hoofsaaklik oor die geld, dit eindig met geen siel. Hierdie werklikheid blyk te wees soort word depressiewe as jy dink oor dit te lank en ek dink dit is waarskynlik die rede waarom die meeste handelaars is nie alles wat self-reflektiewe. Dit gesê, ek is nie so seker dat dit is van toepassing op algoritmiese handelaars as gevolg van die min wat ek ontmoet het hulle is geneig om die tegniese uitdaging is lief vir soveel of meer dat die strewe na geluk (wat nie in teenstelling met tegniese begin stigters). 8. Die algoritmiese handel wêreld is so geheimsinnig dat jy selde kry om iemand anders om dit te doen te voldoen nie, nog minder het die geleentheid om tegnieke, algoritmes of ervarings te bespreek. As gevolg hiervan, daar is min of geen gemeenskap om betrokke te raak met, en in die geval dat jy nie reeds hierdie waarheid ontdek, om deel te wees van 'n gemeenskap is 'n groot deel van wat maak die lewe pret. Disclaimer: As ek ooit 'n persoonlike fortuin maak uit die web starters, daar is nog 'n deel van my wat wil algoritmiese handel gee een laaste drie. Daar, ek het gesê dit. ) Addendum: Ek het besluit dat dit wat ek geskryf het in punt # 7 oor "handelaars nie my soort mense" en "nie alles wat self-reflektiewe", is albei onwaar stellings. Ja, ek het 'n slegte ervaring met 'n paar handelaars oor die jare, maar om 'n veralgemening maak soos dit was net lui en onregverdig. Om enige handelaars daar buite wat dalk die lees van hierdie, kan u aanvaar my verskoning. My naam is Jason Roberts en ek woon in Pasadena, CA waar ek is 'n serial entrepreneur. vryskut kodeerder, en mede-gasheer van die tegnologie / startup podcast TechZing. Lees meer.


No comments:

Post a Comment