Trading Systems Coding Trading systemer er ganske enkelt sett med regler som handelsmenn bruker til å bestemme sine oppføringer og utganger fra en stilling. Utvikling og bruk av handelssystemer kan hjelpe handelsfolk å oppnå konsekvent avkastning mens risikoen begrenses. I en ideell situasjon bør handelsmenn føle seg som roboter, gjennomføre bransjer systematisk og uten følelser. Så, kanskje du har spurt deg selv: Hva er å stoppe en robot fra å handle mitt system Svaret: Ingenting Denne opplæringen vil introdusere deg til verktøyene og teknikkene du kan bruke til å lage ditt eget automatiserte handelssystem. Hvordan opprettes automatiserte handelssystemer Automatiserte handelssystemer opprettes ved å konvertere reglene for handelssystem til kode som datamaskinen kan forstå. Datamaskinen din kjører deretter disse reglene gjennom handelsprogramvaren din, som ser etter bransjer som overholder reglene dine. Til slutt blir handelen automatisk plassert med megleren. Denne opplæringen vil fokusere på den andre og tredje delen av denne prosessen, der reglene dine blir konvertert til en kode som handelsprogramvaren din kan forstå og bruke. Hva Trading Software støtter automatiserte handelssystemer Det er mange handelsprogrammer som støtter automatiserte handelssystemer. Noen vil automatisk generere og plassere handler med megleren. Andre vil automatisk finne handler som passer dine kriterier, men krever at du legger ordrene med megleren manuelt. Videre krever fullautomatiske handelsprogrammer ofte at du bruker spesifikke meglerhus som støtter slike funksjoner, og du må kanskje også fylle ut et tilleggsautorisasjonsskjema. Fordeler og ulemper Automatiserte handelssystemer har flere fordeler, men de har også sine ulemper. Tross alt, hvis noen hadde et handelssystem som automatisk tjente penger hele tiden, ville han eller hun bokstavelig talt eie en pengeproduserende maskin. Fordeler: Et automatisert system tar følelser og travle arbeid utenom handel, noe som gjør at du kan fokusere på å forbedre Din strategi og pengestyringsregler. 13 Når et lønnsomt system er utviklet, krever det ikke noe arbeid til deg før det bryter, eller markedsforholdene krever en endring. Ulemper: Hvis systemet ikke er riktig kodet og testet, kan store tap forekomme veldig raskt. 13 Noen ganger er det umulig å sette visse regler i kode, noe som gjør det vanskelig å utvikle et automatisert handelssystem. I denne opplæringen lærer du hvordan du planlegger og utformer et automatisert handelssystem, hvordan du oversetter dette designet til kode som datamaskinen vil forstå, hvordan du skal teste planen din for å sikre optimal ytelse og til slutt hvordan du bruker systemet. Systemhandlere deler sin tid mellom handel, utvikling, backtesting, optimalisering og forward testing, for å skape levedyktige og høy sannsynlighet handelssystemer. Automatisert forex trading programvare skanner markedet for gunstige handler basert på dine innspill. Finn ut mer om dette verdifulle forexverktøyet. Et handelssystem kan spare tid og ta emot følelsen ut av handel, men ved å vedta en tar dyktighet og ressurser - lære mer her. De fleste meglere vil gi deg handelsregistre, men det er også viktig å holde styr på deg selv. Programvare har gjort dagshandelen rask og automatisk - enda mer grunn til å være så omhyggelig som mulig når du velger den rette for dine behov. Ofte stilte spørsmål. Begrepet økonomisk vollgrav, mønstret og popularisert av Warren Buffett, refererer til en forretningsevne til å opprettholde konkurransemessige fordeler. Lær forskjellene mellom generelle partnerskap og partnerskap med begrenset ansvar, hver type har unike egenskaper, fordeler. Oppdag historien til SampP 500, hvilke sofistikerte markedsaktører anser å være den beste indeksen å forstå. Finn ut hvilke land som har de mest restriktive importtariffer på internasjonale produkter, basert på data samlet av. Ofte stilte spørsmål. Begrepet økonomisk vollgrav, mønstret og popularisert av Warren Buffett, refererer til en forretningsevne til å opprettholde konkurransemessige fordeler. Lær forskjellene mellom generelle partnerskap og partnerskap med begrenset ansvar, hver type har unike egenskaper, fordeler. Oppdag historien til SampP 500, hvilke sofistikerte markedsaktører anser å være den beste indeksen å forstå. Finn ut hvilke land som har de mest restriktive importtariffer på internasjonale produkter, basert på data samlet av. Trading Systems: Konstruksjon av et system 13 Så langt har vi diskutert de grunnleggende komponentene i handelssystemene, kriteriene de må møte, og noen av de mange empiriske beslutninger som en systemdesigner må gjøre. I denne delen skal vi undersøke prosessen med å bygge et handelssystem, overveielsene som må gjøres, og noen viktige punkter å huske. Seks-trinns systemkonstruksjon 1. Oppsett - For å begynne å bygge et handelssystem trenger du flere ting: Data - Fordi systemdesigneren må bruke omfattende backtesting. Tidligere prishistorikk er viktig for å bygge et handelssystem. Slike data kan integreres i handelssystemutviklingsprogramvare, eller som en egen datafeed. Live data er ofte gitt for en månedlig avgift, mens alderen data kan fås gratis. Programvare - Selv om det er mulig å utvikle et handelssystem uten programvare, er det svært upraktisk. Helt siden slutten av 90-tallet, har programvare blitt en integrert del av å bygge handelssystemer. Noen vanlige funksjoner gjør det mulig for næringsdrivende å gjøre følgende: Sett opp handler automatisk - Dette krever ofte tillatelse fra meglerens slutt fordi det må være en konstant tilkobling mellom programvaren og meglerhuset. Handler må utføres umiddelbart og til eksakte priser for å sikre samsvar. For å få programvareplassen din for deg, er alt du trenger å gjøre, å skrive inn kontonummer og passord, og alt annet gjøres automatisk. Vær oppmerksom på at bruk av denne funksjonen er strengt valgfri. Kode et handelssystem - Denne programvarefunksjonen implementerer et proprietært programmeringsspråk som lar deg enkelt bygge regler. MetaTrader bruker for eksempel MQL (MetaQuotes Language). Heres et eksempel på sin kode for å selge hvis fri marginal er mindre enn 5000: Hvis FreeMargin lt 5000, avslutt deretter Ofte, bare å lese manualen og eksperimentere skal tillate deg å hente opp grunnleggende om språket din programvare bruker. Backtest din strategi - Systemutvikling uten backtesting er som å spille tennis uten en racket. Systemutviklingsprogramvare inneholder ofte en enkel backtesting-applikasjon som lar deg definere en datakilde, inntast kontoinformasjon og backtest i hvilken som helst tid med et museklikk. Her er et eksempel fra MetaTrader: Etter at backtestet er kjørt, genereres en rapport som beskriver spesifikkene til resultatene. Denne rapporten inneholder vanligvis fortjeneste, antall mislykkede handler, etterfølgende dager ned, antall handler og mange andre ting som kan være nyttige når du prøver å bestemme hvordan du feilsøker eller forbedrer systemet. Til slutt oppretter programvaren vanligvis en graf som viser veksten i investeringen gjennom hele testperioden. 2. Design - Designet er konseptet bak systemet, måten parametrene brukes til å generere en fortjeneste eller tap på. Du implementerer disse reglene og parametrene ved å programmere dem. Noen ganger kan denne programmeringen gjøres automatisk via et grafisk brukergrensesnitt. Dette lar deg lage regler uten å lære et programmeringsspråk. Her er et eksempel på et bevegelige gjennomsnittsoverskridelsessystem: Hvis SMA (20) CrossOver EMA (13) deretter angir Hvis SMA (20) CrossUnder EMA (13) og avslutter Regler som disse som legges inn i kode, tillater programvaren automatisk generere oppføring og utganger på punktene når reglene gjelder. Her ser designgrensesnittet ut på MetaTrader: Systemet er opprettet ved å bare skrive reglene i vinduet og lagre dem. Referanser for de forskjellige tilgjengelige funksjonene (for eksempel oscillatorer og lignende) kan bli funnet ved å klikke på bokikonet. De fleste programvare vil ha en lignende referanse tilgjengelig enten i selve programmet eller på nettsiden. Etter å ha opprettet de ønskede reglene og kodet systemet, lagrer du bare filen. Deretter kan du sette den i bruk ved å velge den på hovedskjermen. 3. Beslutningstaking - Det er mange beslutninger som skal gjøres på dette tidspunktet: Hvilket marked ønsker jeg å handle i? 13 Hvilken tidsperiode skal jeg bruke? 13 Hvilken prisserie skal jeg bruke? 13 Hvilken delmengde av aksjer skal jeg bruke til testing? Hold inne Husk at handelssystemer konsekvent skal tjene penger på mange markeder. Ved å tilpasse tidsperioden og prisserien for mye, kan du ødelegge resultatene og gi ukarakteristiske resultater.4. Øvelse - Backtesting og papirhandel er avgjørende for vellykket utvikling av et handelssystem: Kjør flere backtests på ulike tidsperioder og sørg for at resultatene er konsistente og tilfredsstillende. Papirhandel systemet (bruk imaginære penger, men registrer handler og resultater), og igjen, se etter konsekvent lønnsomhet. Kontroller med jevne mellomrom for feil i programmet eller utilsiktede handler. Disse kan være et resultat av feil programmering eller manglende forutsetning av visse omstendigheter som har uønskede konsekvenser. 5. Gjenta - Gjentakelse er nødvendig. Fortsett å jobbe på systemet til du konsekvent kan tjene penger på de fleste markeder og forhold. Det er alltid uforutsette hendelser som oppstår så snart et system går live. Her er noen faktorer som ofte forårsaker skjevde resultater: Transaksjonskostnader - Pass på at du bruker den virkelige kommisjonen. og litt ekstra for å ta hensyn til unøyaktige fyllinger (forskjell mellom bud og pris). Med andre ord, unngå slippe (For å se på hva dette er og hvordan det skjer, se forrige avsnitt i denne opplæringen.) Vekten - Ikke ignorere tapende handler, hold øye med alle handler. Optimalisering - Ikke overoptimere systemet. Med andre ord, skreddersy ikke systemet til et meget spesifikt markedsmiljø, prøv å være lønnsomt så bredt som mulig. Risiko - Aldri ignorere eller glemme risiko. Det er svært viktig å ha måter å begrense tap (ellers kjent som stopp-tap), og måter å låse inn fortjeneste (ta fortjeneste). 6. Handel - Prøv det, men forvent utilsiktede resultater. Pass på at du bruker ikke-automatisert handel til du er sikker på systemets ytelse og konsistens. Det tar lang tid å utvikle et vellykket handelssystem, og før du fullfører det, må du kanskje tåle noen live trading tap for å oppdage feil: Back testing kan ikke perfekt representere live markedsforhold, og papirhandel kan være unøyaktig. Hvis systemet mister penger, gå tilbake til tegnebrettet og se hvor det gikk galt (se trinn 5). Konklusjon Disse seks trinnene gir deg oversikt over hele prosessen med å bygge et handelssystem. I neste avsnitt vil vi bygge videre på denne kunnskapen og ta en mer grundig titt på feilsøking og modifisering. MetaTrader 5 - Eksempler Hvordan lage en handelsrobot på kort tid for å gjøre en handelsrobot, trenger du handelssystemhandel på finansielle markeder innebærer mange risikoer, inkludert den mest kritiske - risikoen for å gjøre feil handelsbeslutning. Drømmen om hver handelsmann er å finne en handelsrobot. som alltid er i god form og ikke er utsatt for menneskelige svakheter - frykt, grådighet og utålmodighet. Hver nykommer ønsker å få eller skape et klart og strengt handelssystem som kan presenteres i form av algoritmer og fullstendig kvitte seg med rutinemessige operasjoner. Er det mulig Et handelssystem er en nødvendig betingelse for å komme inn på markedet, og det skal selvsagt være lønnsomt. Når nykommere kommer til markedet, blir de vanligvis overveldet av den store mengden informasjon vanskelig å forstå. Bøker og handelsfora kan gi noe hjelp i det tilfellet. Dessverre er ikke alle forfattere vellykkede handelsmenn og ikke alle vellykkede handelsmenn skrivebøker. Mange spesielle nettressurser er opprettet bare for å tjene profitt for sine eiere, da det er mye vanskeligere å handle med egne penger enn å utstede prognoser og lære handelssystemer. Hver næringsdrivende bør selvstendig passere alle stadier av et handelssystem opprettelse. Det er et populært ordtak at det ikke betyr noe hvilket system du bruker til handel, det viktigste er at du virkelig bør handle i henhold til det systemet. Ellers blir handel på markedet en gamble med et forutsigbart resultat. Trading Robots og Forex Forex markedet antas å ha en god likviditet. Det tillater også handel 24 timer i døgnet, i motsetning til mange andre markeder. Derfor prøver mange forhandlere å lage handelsroboter spesielt for Forex markedet, da det tilbyr et stort antall handelsinstrumenter. Men skeptikere hevder at alle valutapar er sterkt korrelert med hverandre og gir svært lav volatilitet i markedet. Men deres motstandere svarer at hvert valutapar har sine egne funksjoner og lav volatilitet kompenseres av stor innflytelse. I alle fall er Forex-instrumenter attraktive for å gjøre handelsroboter og de fleste tilhengere av den automatiserte tradingen skarpere sine ferdigheter på valutapar. MetaTrader 4 og MetaTrader 5 handelsterminaler er spesialdesignet for å enkelt utvikle automatiserte handelssystemer, men samtidig er deres grensesnitt også praktisk for manuell handel. Slik begynner du å lage en handelsrobot Det er mange tilnærminger til å bygge et automatisert handelssystem. Vi vil bare beskrive noen få store. Den første tilnærmingen hviler på matte. En utvikler prøver å lage en slags likning som kan vurdere mange faktorer. Denne tilnærmingen er basert på fast tro på at prisbevegelser styres av en modell som kan bli funnet ved hjelp av tilgjengelige historiske data. I de fleste tilfeller kjenner tilhengerne av en slik tilnærming for mye matematikk, men vet ingenting om ikke interessert i markedet. Markedet er en ren abstraksjon, en type intellektuelt spill for dem. Denne tilnærmingen fører vanligvis til mange års studier og utvikling, mens et bestemt resultat i form av et fungerende, automatisert handelssystem ikke er så viktig. Den andre tilnærmingen er basert på å studere markedsloven. Det er ikke gjort noen forsøk på å forstå hvorfor prisen går opp eller ned når ulike tekniske analysetall vises på et diagram. Fordelen med denne tilnærmingen er at den ikke krever noen spesiell kunnskap om matematikk og ikke antar forutsetninger om markedets drivkraft. Det er mest klart og praktisk når man studerer handel. Det er mest populært blant handelsmenn som mottok universell anerkjennelse. Ulempen med tilnærmingen er nødvendigheten av å konstant spore alle nødvendige symboler. Før eller senere begynner en næringsdrivende å vurdere automatisering av handelsprosesser, og det mest betydelige problemet fremstår på det stadiet kompleksiteten av formalisering av handelsregler når man prøver å uttrykke dem i form av algoritmer. I noen tilfeller kan handelsmenn som prøver å bestille en handelsrobot, ikke beskrive handelsregler og finne felles grunnlag med programmerere. Den tredje tilnærmingen er basert på forsøket på å lage en svart boks basert på nevrale nettverk ved bruk av de ferdige verktøyene allment tilgjengelig i spesielle programvare og matpakker. Opprettelse av et automatisert handelssystem med elementene i den kunstige intelligensen er en spennende og utfordrende oppgave, selv for nykommere, da det ikke krever verken dyp matematisk bakgrunn eller programmeringserfaring. Alt gjøres ved hjelp av visuelle hjelpemidler. En næringsdrivende bør vite grunnleggende om tekniske indikatorer, ha evne til å forberede nødvendige prisdata og erfaring i en bestemt pakke for å jobbe med nevrale nettverk. Den største ulempen ved denne tilnærmingen er at en handelsrobot oppnådd ved hjelp av slike spesialiserte verktøy for å arbeide med nevrale nettverk, er faktisk en svart boks. Traders kjenner ikke til arbeidets prinsipper, og generelt er det umulig å forutse hvilken markedsfase som vil være mest problematisk for roboten. Programmører velger ofte den fjerde tilnærmingen de begynner å lage en handelsrobot fra begynnelsen uten å bruke tid til manuell handel. Hvorfor handle manuelt Du kan gjøre en robot tilbringe noen måneder og høste fordelene av din innsats da. Men ingen smerter, ingen gevinster. I de fleste tilfeller begynner programmører å skape all nødvendig infrastruktur ved hjelp av et kjent programmeringsspråk, i stedet for bare å få en handelsrobot til å få og behandle prisdata, visuell representasjon av diagrammer og indikatorer, tilpassede metoder for testing av strategier på historiske data og så videre. De får mye erfaring i prosessen. Men i de fleste tilfeller bringer den opplevelsen dem ikke nærmere til det endelige målet å skape et automatisert handelssystem. Og selv om en handelsrobot er opprettet, er det ingen garanti for at det vil være lønnsomt. Og hva om en programmerer ønsker å skrive et nytt handelssystem. Dyp restrukturering og nye programmeringsfeil er uunngåelige. Det er også den femte tilnærmingen å kjøpe et ferdighandlet handelssystem i form av en handelsrobot. I dette tilfellet fungerer en handelsmann som operatør eller en tuner. Denne tilnærmingen sparer mye tid (det er ikke nødvendig å lære mange nye ting) og lar handelsmenn raskt komme inn i den automatiserte handelens verden. Den største ulempen ved denne tilnærmingen stammer fra fordelene du ikke kjenner operasjonsprinsippene til din handelsrobot og dens struktur. Og selv om en selger har gitt deg en detaljert beskrivelse av det implementerte handelssystemet, vil du aldri være helt sikker på det. Imidlertid kan ingen av de nevnte tilnærmingene gi deg absolutt garanti unntatt et bankinnskudd. Men det er ikke en veldig egnet løsning for folk som er interessert i markedshandel og måter å øke sine private eiendeler på. Hva er den beste tilnærmingen til den automatiserte handel for en handler Hver av de fem beskrevne tilnærmingene har sine fordeler og tilsvarer en bestemt type handelsmann. Det er usannsynlig at du vil velge den første tilnærmingen (markedsanalyse) uten god matematisk bakgrunn. Det er like lite sannsynlig at du vil starte fra å lage handelsroboter basert på nevrale nettverk. Imidlertid er begge disse tilnærmingene veldig spennende og gir god intellektuell trening. Nedenfor diskuteres bare den andre tilnærmingen, som allerede anses å være den klassiske. Det er tilnærmingen som vanligvis velges av nye tilhengere av den automatiserte handel, da den tekniske analysen er fortsatt nøkkelkunnskapsområdet når man lærer handelsgrunnlag. En annen fordel ved den andre tilnærmingen er at etter at du har brukt litt tid til manuell handel og få følelsen av markedet, vil du allerede ha en god forståelse av tekniske analyseverktøy. Dessuten vil du kunne programmere handelsstrategier eller opprette nevrale nettverk på et høyere nivå. De første trinnene i å lage en handelsrobot For å lage et automatisert handelssystem, trenger du programmeringsferdigheter og kunnskap om alle intrikatene i handelsforespørsler. Men først kan du starte fra de ferdige ekspertrådgiverne for tradingroboter fra Free Code Base-biblioteket. Last ned en ekspertrådgiver (handelsrobot) og start den i Strategitesteren på MetaTrader 4 eller MetaTrader 5 klientterminaler. Velg et historikkintervall som viser en sterk trend og et intervall med en flat. Utfør optimalisering av en ekspertrådgivningsinngangsparametere og undersøk forskjellene sine ved disse to intervaller. Start en ekspertrådgiver med de optimale parametrene for en flat på et trendintervall og med de optimale parametrene for en trend på et flatt intervall. Undersøk forskjellene i handelsresultater, tilbudsfordelinger og andre statistiske parametere. Som et resultat vil du vite hvor mye oppførselen til ditt handelssystem kan variere når markedssituasjonen endres. Det ville være bedre å prøve flere standard trading strategier ved hjelp av denne metoden på forskjellige deler av historien og ulike symboler. En slik prøvekjøring hindrer fra å tilpasse et handelssystem for et bestemt historisk intervall og gir bedre forståelse av trend - og motstridssystemer. Det neste trinnet ville være å skape mer komplekse handelssystemer basert på kombinasjonen av allerede eksisterende enkle signaler fra MQL5 Wizard sett. Du kan teste og utvikle din handelsintuksjon ved å sortere ut dårlige signaler fra ett system ved hjelp av et filter basert på et annet system uten programmeringsmiddel. Det viktigste her er ikke å overhale. Jo flere inngangsparametere et handelssystem har, jo lettere det skal monteres. Det har vært mange diskusjoner om forskjellene mellom optimalisering og montering. Det finnes ingen allment aksepterte løsninger her. Men visualisering av testoptimiseringsresultater og din egen sunn fornuft kan hjelpe deg. Lær å identifisere de mest kritiske inngangsparametrene som påvirker handelssystemet ditt fra hele settet av inngangsdata. Ikke vær særlig oppmerksom på sekundære parametere som tar tid under optimalisering, men påvirker ikke selve logikken i systemet. Husk at et godt handelssystem alltid viser en liten fri bevegelse av sekundære parametere, men det viser ikke dramatisk volatilitet i tilfelle uoverensstemmende markedsendringer. Du kan tilbringe så mye tid på dette stadiet, som du ønsker, til du er sikker på at du kan forstå eventuelle handelsstrategier som undersøker test og optimaliseringsresultater. Kunnskapen om styrker og svakheter i standardsystemer gjør at du kan bli bedre forberedt når du lager din egen handelsrobot. Programmering av en handelsrobot Anta at du har lært å lære MQL4 eller MQL5 programmeringsspråk, og nå er du klar til å skrive din første ekspertrådgiver for MetaTrader klientterminal. Flere saker er mulige her. For det første kan du undersøke flere ferdige handelsroboter som er beskrevet i artiklene for bedre å forstå programmeringsfinesser. For det andre kan du stille spørsmål om MQL4munity eller MQL5munity. hvis du har noen uløste problemer. Erfarne samfunnsdeltakere hjelper vanligvis nybegynnere som viser oppriktig interesse for emnet. For det tredje kan du bestille imrpovement eller utvikling av en ekspertrådgiver eller en indikator i Jobservice. hvis du ikke er i stand til å skrive et nødvendig program alene. Men selv om du bestiller via freelance-tjenesten, bør du ha en ide om strategisk testing for å finne et felles språk med en utvikler. Videre gir grunnleggende kunnskap om et programmeringsspråk deg mulighet til å gjennomføre mindre korrigeringer og endringer i koden etter at arbeidet allerede er fullført. Tross alt ville det ikke være for praktisk å ringe en programmerer for å fikse hvert eneste småproblem du møter. Det ville være mye lettere og raskere å fikse det selv. Du trenger ikke å gjenoppfinne hjulet Hvordan finne din egen handelsstrategi, eller i det minste i hvilken retning bør du fokusere ditt søk. Alle handelsmenn beskytter sine egne handelssystemer, hvis de har en. Alle nykommere ønsker å skape et lønnsomt system eller få en ferdig laget. Samtidig synes enhver oppnådd løsning å være for enkel i forhold til nybegynnere ideer om et ekte handelssystem. Army menn over hele verden er utsatt for overdreven grad av hemmelighold. Det er mange vitser om det, blant annet følgende: Den militære hemmeligheten er ikke i det du studerer, - en offiser sier til militære skoleelever, - men i det faktum at du akkurat studerer det. Situasjonen med handelssystemer er like stor: de fleste handelsfolk bruker enkle og kjente handelsideer med mindre endringer, for eksempel, legger Trailing Stop eller bekreftelser fra trendindikatorer. Det er mange handelsfora med begrenset tilgang der deltakerne går med i arbeidet med å utvikle eller forbedre noen hemmelige handelssystemer. Mest interessante ting er at slike systemer ikke inneholder noe spesielt i det hele tatt. Vanligvis brukes en velkjent ide (som handel med trenden) som grunnlag. Da er det perfeksjonert med noen nye indikatorer ukjent for allmennheten. Derfor kan du enkelt ta i bruk handelsrobotkildekoder og prøve å bruke dem riktig med ulike symboler og tidsrammer. Et annet populært ord kan nevnes her: Du liker ikke katter Du vet bare ikke hvordan du lager dem Det er vanskelig å tro, men sannsynligheten for at du vil utvikle noe som er veldig nytt, er veldig lite. Det viktigste her er å lage et system ved hjelp av tilgjengelige ingredienser. Ikke tro at noen genier har tilgang til noen hemmelige systemer fra NASA-laboratorier. Det er Grays hemmelighet. Bare noen få vil gjøre det Gjennom, hvorfor bruker ingen handelsideer, hvis de er bokstavelig talt innenfor armene? Svaret ligger trolig i menneskets psykologi. De ansatte i mange banker og store investeringsfond inkluderer handelsmenn som utfører avtaler i henhold til strenge regler og innen begrensede mengder. Men av noen grunner forlater bare noen få institusjonelle handelsmenn sine selskaper og begynner å handle med egne penger. Det viser seg at du ikke bare trenger en handelsstrategi, men også jerndisiplinen til å følge den. Mange handelsfolk fant ut med beklagelse at de også har de samme psykologiske problemer som beskrevet i bøker. Etter å ha forstått at den verste fienden til handelsmenn er selv, begynner en nykommer å lage en handelsrobot for å eliminere en psykologisk byrde. Selv om jeg avviger noe fra emnet, bør jeg nevne legendariske skilpadderhandlere som vellykket handlet på flere markeder i slutten av det 20. århundre. Les Veien til skilpadden, og du vil se at det viktigste for en handelsmann er selvdisiplin og ikke noe topphement system. Akk, vil de fleste nykommere ikke kunne følge en lønnsom strategi, selv om de får det gratis. Problemet er at de fleste handelsstrategier som er perfekt utstyrt for manuell handel, knapt kan formaliseres og transkriberes til et programmeringsspråk. Strategiene som lett kan formaliseres (for eksempel de som involverer to bevegelige gjennomsnittskryss) er for enkle og krever mange forbedringer og forbedringer, slik at de kan brukes i praksis. Således blir en enkel idé komplisert gradvis av mange eksterne parametere som hindrer en handelsrobot fra falske oppføringer og feil synlig for en utvikler. Et handelsrobot optimalisering problem oppstår. Denne prosessen bør ikke bli en overoptimisering og montering for et bestemt historieintervall. For å løse dette problemet har fremoverprøving ved hjelp av de oppnådde systemparametrene blitt implementert i MetaTrader 5-terminalen. Hvis fremoverprøveresultater ikke er vesentlig forskjellig fra de som er oppnådd i optimaliseringsseksjonen, er det en sannsynlighet for at en handelsrobot vil være stabil nok en stund etter lanseringen på en handelskonto. En lengde på et intervall for parametereoptimalisering og en faktisk verdi av det en viss tid, avhenger av et bestemt handelssystem. Dermed optimaliseringen av en handelsrobot før du lanserer den på en handelskonto, minner om å slappe av en slynge - jo mer forsiktig har vi viklet og kastet et prosjektil fra slyngen, desto lengre vil det fly, og jo mer nøyaktig dets bane vil være. En grundig utviklet handelsrobot vil holde et positivt resultat på en handelskonto i lengre tid enn en handelsrobot oppnådd som et resultat av en montering. Vi kan si at gralen er en fungerende ide og korrekt justering av parametere som utføres fra tid til annen i øyeblikk av markedsforhold endrer seg. Dette kan illustreres av resultatene fra Automated Trading Championship som holdes i mange år allerede. Innleverte ekspertrådgivere fra alle deltakerne går gjennom automatiske tester på tidsintervallet fra januar til slutten av juli. Hovedkravet for å gjennomføre den automatiske testen er en fortjeneste som er opptjent i åtte måneders test. Men mindre enn en halv av handelsroboter innrømmet for Championship forbli lønnsomme etter deg måneder med autonomt arbeid. Du kan også prøve dine ferdigheter i å lage og justere din trading robot for å delta i Championship og få fremover testresultater fra Expert Advisor. Dessuten er deltakelsen gratis, og prisene er imponerende. Vi håper å se deg der Konklusjon Profesjonelle intradaghandlere tilbringer mange timer sittende på sine datamaskiner og venter på riktig øyeblikk for å utføre en avtale. Selvfølgelig kan de ikke være i god form hele tiden. De fleste handelsfolk konkluderer med at deres handlinger bryter med sine egne handelsregler. Ikke alle handelssystemer kan være helt formaliserte, men selv slike systemer kan i de fleste tilfeller vedta tilleggsverktøy, som indikatorer, analytiske systemer og falske signaler. Vi gjør ikke noen spesielle anbefalinger her om MQL4 eller MQL5 språk læring, da det er mange andre nyttige artikler om dette emnet. Formålet med denne artikkelen var å gi noen innledende ideer om hvordan du begynner å lage din handelsrobot for MetaTrader 4 og MetaTrader 5 terminaler. Vi håper at denne artikkelen vil spare tid for nykommere og vise riktig retning i den vanskelige oppgaven med å utvikle et automatisert handelssystem. Advarsel: Alle rettigheter til disse materialene er reservert av MQL5 Ltd. Kopiering eller utskrift av disse materialene helt eller delvis er forbudt. Selv om vårt strategisk etableringsramme har utviklet seg langt utover NTs rammer, for mange år siden, finner jeg det fortsatt å bruke det fra tid til annen, til flere formål, og hvor vi fikk vår start, så kanskje jeg kan hjelpe deg her. NinjaTrader har sikkert sine feil og mangler, men alle plattformer gjør det, og blant de vanlige handelshandelsplatformene der ute, tror jeg at NT er en av de mest intuitive og enkle, og en av de enkleste å bruke på en effektiv måte rett ut av esken . En av grunnene til dette er NTs strategiveiviser, som gjør det mulig for brukeren å bygge en strategi uten kjennskap til koding, ved hjelp av building blocks for entryexit-tilstand. Jeg gir et eksempel. La oss si at vi ønsker å bygge en strategi som går inn når EMA (eksponentielt glidende gjennomsnitt) i en periode på 15 kryss over SMA (enkelt glidende gjennomsnitt) i en periode på 15, og går ut på markedet nær hver dag. For å gjøre det åpner vi bare strategiveiviseren, tilordner vår strategi et navn og ble konfrontert med følgende skjermbilde, slik at vi kan definere opptil 10 forskjellige sett med forhold som, når de utløses, vil føre til en bestemt handling (vanligvis en oppføring eller utgang): Når vi klikker på tillegget, i toppvinduet ble det konfrontert med følgende skjerm: Som du kan se, har jeg bare valgt EMA til venstre, og SMA til høyre, og Ive har endret våre Periodeverdier for hver til 15. I sentrum har Ive endret rullegardinmenyen til CrossAbove. Hvis du trykker på ok, fyller du den øverste delen av det øverste skjermbildet. Jeg forteller det nå om å skrive inn Long, når denne utløseren oppstår, og klikk Ok: Og det er det. Vi klikker gjennom neste, strategibesparende komposisjoner, og var fri til å teste det for å fastslå sine handelsresultater i den historiske perioden ved hjelp av NT-plattformen. Gitt, dette er en endimensjonal strategi (og det ville absolutt ikke være lønnsomt), men det er et eksempel på hvor lett man kan lage en automatisert handelsstrategi, forutsatt at entryexit-logikken kan kvantifiseres ved hjelp av deres byggeblokkalternativer, som er ganske omfattende hvis du er kreativ. Til slutt kan vi gå gjennom en ekstra funksjon. La oss si at vi ikke var sikre på hvilke bevegelige gjennomsnittlige periodverdier som er optimale, i vår eksempelstrategi. La oss si at vi vil teste flere verdier for å hjelpe oss med å finne ut hvilke verdier som kan være ideelle. For å gjøre det, trykker vi bare tilbake og ble konfrontert med denne skjermen: Som du kan se, har jeg opprettet to variabler, og gitt navnene ovenfor. PeriodOne vil fungere som periodens verdi av vårt EMA-glidende gjennomsnitt, og PeriodTwo vil fungere som periodens verdi av vårt SMA-glidende gjennomsnitt. Nå klikker jeg neste og går tilbake til skjermbildet for inngangsbetingelser, og åpner igjen betingelsesbyggeren, og jeg endrer bare våre 15 verdier til våre nye variabelnavn verdier (henholdsvis PeriodOne og PeriodTwo): Hva dette gjør at vi kan gjøre, lanserer en optimalisering, som vil fortsette å teste forskjellige periodeværdier for begge disse bevegelige gjennomsnittene, og deretter vise resultatene av hver test, for vår inspeksjon. Jeg har gått videre og kjøre denne optimaliseringen, som tok bare et minutt eller to, ved hjelp av råolje og 15 minutters barøkninger som vårt datasett: Som du ser i kolonnen til høyre høyre Parameter, har den testet flere forskjellige kombinasjoner av periodeverdier, og har rangert alle resultater i henhold til den totale netto fortjenesten opptjent over den historiske perioden i vårt testområde (312015 til 112017, i dette tilfellet). Igjen er dette et eksepsjonelt enkelt eksempel, for å illustrere et poeng, men poenget er en gyldig en. spesielt i de tidlige faser, når du eksperimenterer og tester forskjellige ting, kan man gå fra ideen, til en backtest-resultater som viser nøyaktig hva denne ideen ville ha gitt over den historiske perioden, innen få minutter, selv uten programmeringskoding. I tillegg er det en View Code-knapp i noen av skjermbildene ovenfor, som lar deg se tydelig hvordan dine forskjellige utvalgte byggeblokker oversetter til brukbar kode, en flott måte å hjelpe deg med å lære kodingsprosessen over tid. Mitt råd Hoppe rett inn, eksperimentere, lek deg rundt. mye kan læres, raskt og effektivt, ved å gjøre det. spesielt for de som lærer best ved å gjøre. i motsetning til å skape lange, tankefulle, tørre instruksjons tekster. Jeg håper dette er nyttig. Nyt 657 Visninger middot Vis Oppvoter middot Ikke for reproduksjon Du spør hvordan du oppretter et handelssystem på NinjaTrader (NT) og test det på nytt. Det kan gjøres, men det er ikke lett. Uten å gå inn i koding og programvare arkitekturdesign, kan jeg bare gi deg en generell ide om hvordan man kan gå om det. Det første trinnet er å skrive et handelssystem. Enkelt sagt består dette av flere deler: (i) skrive en modul som vil inneholde alle de ulike oppsettene for handler du vil utføre (Identifiser tilstanden som utgjør den optimale muligheten til å inngå handel. Dette vil avhenge av på dine kriterier, og du kan ha flere oppsett), (ii) skrive en modul som vil søke etter de oppsettene i dataene dine i sanntid, (iii) skrive en modul som vil katalogisere og lagre oppsettene som finnes i sanntidsdataene, og (iv) skrive en modul som vil utføre en handel basert på noen av disse innstillingene. Dette i seg selv er utfordrende da dette må gjøres i sanntid. I tillegg må du håndtere tilfellene der du finner flere oppsett som kan indikere handler i samme eller motsatte retninger (f. eks. Lang og kort). Du må også vurdere mål, lønnsomhetskriterier for oppstart, stoppe tap og etterfølgende kriterier. Sist men absolutt ikke minst, må du tenke på skalering inn og ut strategier med dine handelsoppsettskriterier. Som en side har jeg ikke engang nevnt verifikasjons - og feilhåndteringskomponenter i koden, som du må adressere også. For å gjøre dette effektivt må du tråkke denne koden. Problemet med å skrive dette i NT er at NT kun støtter en delmengde av C-språket, og gir for øyeblikket kun støtte for 3,5-rammen. Dette betyr at du må skrive den i C som en dll og referere den i NT-koden din. Nå som du har skrevet din dll for å identifisere en handel, må du skrive kode for å utføre handel. NT tilbyr en administrert og en ikke-administrert tilnærming til å gjøre dette. Jeg bruker for tiden og kodes NT, og jeg vil si at denne delen av NT ikke er godt dokumentert - i det minste har jeg ikke funnet det å være, men i all rettferdighet kan du få litt hjelp fra NT-personellet på deres supportforum. Du vil ønske å bruke uhåndtert tilnærming for dette for å få mest mulig fleksibilitet. Selvfølgelig vil du ønske å implementere noen database struktur i koden din for å logge handler. Denne delen av programmet vil også være utfordrende, fordi det er noen problemer du vil møte her. Hver handel må verifiseres, ordrene må sekvenseres og overvåkes ekstremt godt, og din posisjon må overvåkes nøye - spesielt hvis du også planlegger å gå inn i bransjer ved å reversere posisjoner. Nå som du har kommet så langt, kan du skrive en NT-strategi for å teste systemet ditt. Igjen vil den uhåndterte tilnærmingen være mest verdifull her, da den gir mest fleksibilitet for deg. Igjen, denne koden er vanskelig og ikke dokumentert spesielt godt. Det kan imidlertid gjøres. Gratulerer, du er nå ferdig med koding og kan begynne å teste koden din live. Du må kanskje endre koden din for å håndtere sanntidsforhold i live data. Avhengig av markedene du planlegger å handle, må du tenke på hvordan du skal håndtere handel under rapporter, holde posisjoner over natten, handelsgrenser, samt når handel er suspendert av børsen. Forutsatt at du har gjort alt dette, har du nå et testet handelssystem på NT. Som sagt, ikke lett, men det er absolutt gjennomførbart. Etter å ha gjort dette, være forberedt på timer og timer (og timer) av arbeid og testing. Da jeg startet, undervurderte jeg kraftig innsatsen. 1,5k Visninger middot View Oppvoter middot Ikke for Reproduksjon
No comments:
Post a Comment