Skriv Din Egen Trading System
Trading Systems Coding. Trading systemer er ganske enkelt sett med regler som handelsmenn bruker til å bestemme sine oppføringer og utganger fra en posisjon. Utvikling og bruk av handelssystemer kan hjelpe handelsmenn å oppnå konsekvent avkastning mens risikoen begrenses. I en ideell situasjon bør handelsmenn føle seg som roboter, gjennomføre handler systematisk og uten følelser Så kanskje du spurte deg selv Hva er det å 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 er automatisert handel Systems Created Automatiserte handelssystemer er opprettet ved å konvertere reglene for handelssystemet til kode som datamaskinen din kan forstå Datamaskinen din kjører deretter disse reglene gjennom handelsprogramvaren din, som ser etter bransjer som overholder reglene. Til slutt blir handelen automatisk plassert med din megler. Denne opplæringen vil fokusere på den andre og tredje delen av denne prosessen, der reglene dine er konvertert til en kode som din handelsprogramvare kan forstå og bruke. Hva handelsprogramvare 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 bransjer 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. Et automatisert system tar følelsen og travle arbeidet ut av handel, noe som gjør at du å fokusere på å forbedre strategien og pengestyringsreglene. Når et lønnsomt system jeg s utviklet, krever det ikke noe arbeid fra deg til det går i stykker, eller markedsforholdene krever en endring. Hvis systemet ikke er riktig kodet og testet, kan store tap forekomme veldig raskt. Noen ganger er det umulig å sette visse regler inn i kode 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 skal sette systemet ditt i bruk. Finn ut om å ta banen mindre tilbaketrukket vil fungere til fordel for deg - eller mot det. Et handelssystem kan spare tid og ta følelsen ut av handel, men ved å vedta en tar dyktighet og ressurser - lære mer her. De fleste meglere vil gi deg handelsrekorder, men det er også viktig å holde styr på dine egne. Disse trinnene vil gjøre deg til en mer disiplinert, smartere og til slutt rikere handelsmann. Ofte stilte spørsmål. Det er importa å kjenne din gjeldsinntekt, fordi det er lånegivere som bruker for å måle evnen til å tilbakebetale. Les om Monsanto Company s to hoveddriftsavdelinger og hovedkonkurrenter innen hver sektor, inkludert The Mosaic. Når du lager en boliglånsbetaling, betalt beløp er en kombinasjon av rentebelastning og hovedstolsbetaling over. Les om å skille mellom kapitalvarer og forbruksvarer, og se hvorfor kapitalvarer krever besparelser og investeringer. Ofte stilte spørsmål. Det er viktig å kjenne din gjeld til-inntektsforhold fordi det er tallet långivere bruker til å måle din evne til å betale tilbake. Les om Monsanto Company s to hovedoperasjonene og hovedkonkurrentene innen hver sektor, inkludert The Mosaic. Når du foretar et boliglån, beløpet Betalt er en kombinasjon av rentebelastning og hovedstolsbetaling over. Les om å skille mellom kapitalvarer og forbruksvarer, og se hvorfor kapitalvarer krever besparelser og investeringer. Reate Your Own Trading Robot i 6 trinn. En annen gang om MQL5-veiviseren. Verden rundt oss endrer seg raskt, og vi prøver å holde følge med det. Vi har ikke tid til å lære noe nytt, og dette er en normal holdning til et normalt menneske Traders er mennesker akkurat som alle andre, de ønsker å få maksimale resultater for minimum innsats. Spesielt for handelsfolk, tilbyr MetaEditor 5 en fantastisk MQL5-veiviser. Det finnes flere artikler som beskriver hvordan man oppretter et automatisert handelssystem ved hjelp av veiviseren, inkludert en lettversjon MQL5 Wizard for Dummies og en versjon fra utviklere - MQL5 Wizard New Version. It virker alt bra - en handelsrobot er opprettet med 5 museklikk, du kan teste den i Strategy Tester og optimalisere parametrene til et handelssystem , kan du la den resulterende robothandelen på kontoen din uten å måtte gjøre noe annet manuelt. Men problemet oppstår når en handelsmann MQL5-utvikler ønsker å skape noe av seg selv, noe unikt som aldri har blitt beskrevet hvor som helst, og kommer til å skrive sin egen modul av handelssignaler. Traders åpner MQL5-dokumentasjonen, kommer til Standardbiblioteket og er forferdet til å se. Fryktige klasser. For det meste forenkler MQL5-veiviseren opprettelsen av ekspertrådgivere , men først må du lære hva som skal brukes som input for det. Hvis du automatisk skal opprette en ekspertrådgiver ved hjelp av MQL5-veiviseren, må du kontrollere at komponentene holder seg til fem grunnleggende klasser i delen Base Classes of Expert Advisors. CExpertBase er en grunnklass for fire andre klasser. CExpert er klassen for å skape en handelsrobot dette er klassen som handler. CExpertSignal er en klasse for å skape en modul av handelssignaler artikkelen handler om denne klassen. CExpertTrailing er en klasse for å etterlate et beskyttende stoppfall. CExpertMoney er pengene management class. Here er hele kraften til den store og forferdelige tilnærmingen som kalles Objektorientert programmering OOP Men vær ikke redd, nå har nesten alle en celle ph en med mye funksjon, og nesten ingen vet hvordan det fungerer Vi trenger ikke å studere alt dette, vi vil bare diskutere noen funksjoner i CExpertSignal-klassen. I denne artikkelen vil vi gå gjennom stadiene for å skape en modul av handelssignaler og du vil se hvordan du gjør dette uten å måtte lære OOP eller klassene. Men hvis du vil, kan du gå litt senere then.1 Opprette en klasse fra scratch. We vil ikke endre noen eksisterende modul av handelssignaler til våre behov, fordi det er veien å bli forvirret. Derfor skal vi bare skrive vår egen klasse, men først bruker vi Navigator til å lage en ny mappe for å lagre våre signaler i MQL5 Inkluder Expert. Høyreklikk på mappen vi har opprettet, velg Ny fil og opprett en ny klasse for våre moduler for handelssignaler. Fyll ut feltene. Klassenavn - navnet på klassen Dette vil være en modul for generering av signaler ved skjæringspunktet mellom to bevegelige gjennomsnitt, så la det navnet MACross. Basenavn er klassen der klassen vår er avledet Og vi skal utlede det fra baseklassen CExpertSignal. Click Finish og et utkast til modulen oss klar. Det er hele øst så langt. Vi trenger bare å legge til inkluderingsdeklarasjonen til den resulterende filen slik at kompilatoren vet hvor du skal finne grunnklassen CExpertSignal. Check den resulterende klassen. Den må være fri for kompileringsfeil, og klikk F7. Det er ingen feil og vi kan gå videre. 2 En håndtering til modulen. Vår klasse er helt tom, den har ingen feil og vi kan teste den - la Prøv å opprette en ny ekspertrådgiver i MQL5-veiviseren basert på den. Vi når trinnet med å velge en modul for handelssignaler og se at modulen vår ikke er der. Og hvordan kan det være der? Vi legger ikke til noen indikasjoner på MQL5 Veiviser for å forstå at vår klasse kan være noe nyttig La oss fikse dette Hvis du ser på modulene i standardpakken, vil du se at hver av dem inneholder en topptekst i begynnelsen av filen. Dette er håndtaket til modulen utarbeidet i henhold til til visse regler og reglene er veldig enkelt. Åpne, for eksempel kildekoden til modulen for AMA-baserte handelssignaler, se logisk beskrivelse i Signaler for det adaptive flytende gjennomsnittet. Kjør MQL5-veiviseren for å velge denne modulen. Den siste blokken i håndtaket refererer til modulen parametere, inneholder den første linjen navnet på modulen som skal vises i MQL5-veiviseren. Som du kan se er det ingenting komplisert. Håndtaket til hver modul inneholder således følgende oppføringer. Tittel - Modulnavnet som skal vises i MQL5 Wizard. Type - versjonen av modulen til signaler Det må alltid være SignalAdvanced. Name - navnet på modulen etter at den er valgt i MQL5 Wizard og brukes i kommentarer for å beskrive interne parametere for den genererte Expert Advisor som helst angitt. ShortName - et prefiks for automatisk navngivning av eksterne parametere i den genererte ekspertrådgiveren i form av Signal ShortName ParameterName. Class - navnet på, som er inneholdt i modulen. Side - en parameter for å få hjelp for denne modulen bare for moduler fra standardleveransen. Nedenfor kommer beskrivelsen av parameterne i form av Parameter listevalueringer, der følgende er angitt, kommaseparert. Navnet på funksjonen for å angi verdien av parameteren når du starter Expert Advisor. Parametertypen kan være opptelling. Standardverdien for parameteren, dvs. verdien som vil bli satt til parameteren, hvis du ikke endrer den i MQL5 Wizard. Beskrivelse av parameteren, som du ser når du starter Expert Advisor generert i MQL5 Wizard. Now, vite alt dette, la s lage håndtaket av vår modul av handelssignaler Så, vi skriver en modul for å få handelssignaler i skjæringspunktet mellom to glidende gjennomsnitt Vi må sett minst fire eksterne parametere. FastPeriod - perioden for det raskt bevegelige gjennomsnittet. FastMethod - typen av utjevning av det raskt bevegelige gjennomsnittet. SlowPeriod - perioden med langsomt gjennomsnitt. SlowMethod - typen av utjevning av det langsomme glidende gjennomsnittet. Du kan også legge til et skifte og typen av priser for å beregne hvert av de bevegelige gjennomsnittene, men det endrer ikke noe fundamentalt. Den nåværende versjonen er som følger. Modulhåndtaket er klart, og vi har beskrevet følgende i det. navnet som vises i MQL5-veiviseren - Signaler i skjæringspunktet mellom to bevegelige gjennomsnitt. Ferdig ekstern parameter for å konfigurere handelssignalene. FastPeriod - Perioden for det raskt bevegelige gjennomsnittet med standardverdien av 13.FastMethod - den type utjevning av det raskt bevegelige gjennomsnittet, enkel utjevning som standard. SlowPeriod - perioden med det langsomme glidende gjennomsnittet med standardverdien på 21.SlowMethod - typen av utjevning av det langsomme glidende gjennomsnittet, enkel utjevning som standard. Lag endringene og kompilere Det bør ikke være noen feil Kjør MQL5-veiviseren for å sjekke Du ser, modulen vår er nå tilgjengelig for valg, og det viser alle våre parametere. Tilfredshet, vår modul for handelssignal ser bra ut nå .3 Metoder for innstilling av parametre. Nå er det på tide å jobbe med de eksterne parametrene Siden vår handelsmodul er representert av klassen MACross, må parametrene lagres i samme klasse som private medlemmer. La oss legge til fire linjer som er like som tallet av parametere til klassedeklarasjonen Vi har allerede beskrevet parameteren i håndtaket og vet følgende. Men hvordan ser verdiene til de eksterne parameterne til modulen seg i de aktuelle medlemmene av vår klasse MACross Det er veldig enkelt, du trenger bare å erklære offentlige metoder med samme navn i klassen, nemlig å legge til fire linjer i det offentlige avsnittet. Når du genererer en ekspertrådgiver på grunnlag av denne modulen ved hjelp av MQL5-veiviseren og kjører den på diagrammet, er disse fire metodene automatisk kalt når du initialiserer Expert Advisor Så her er en enkel regel. Regelen for parameteropprettelse i modulen - for hver parameter som vi har erklært i håndtaket, bør vi opprette et privat medlem i c lass for å lagre verdien og et offentlig medlem for å sette en verdi til det Metodenavnet må samsvare med parameternavnet. Og i det siste øyeblikk skal du angi standardverdier for parametrene som skal brukes dersom verdsettingsmetodene er ikke kalt Hver deklarert variabel eller klassemedlem må initialiseres Denne teknikken gjør det mulig å unngå mange av vanskelige å finne feil. For automatisk initialisering er den beste passerende en klassekonstruktør det er alltid den første som skal kalles når man lager en gjenstand For standardverdier vil vi bruke de som er skrevet i modulhåndtaket. Her startes klassemedlemmene ved hjelp av initialiseringslisten. Som vi ser, har vi ikke brukt flytende gjennomsnittlige indikatorer ennå. Vi fant en enkel regel - så mange parametere er angitt i håndtaket til modulen, så mange metoder og medlemmer skal være i klassen som implementerer modulen. Det er ikke noe komplisert. Ikke glem å angi standardverdier for parametere på konstruktøren.4 Kontroller Corr ectness of Input Parameters. We har opprettet parametere for våre handelsmoduler, skriftlige metoder for å sette verdier for dem, og nå kommer neste viktige fase - korrektheten av parametere må kontrolleres. I vårt tilfelle må vi sjekke perioder med å flytte gjennomsnitt og type utjevning for beregning Til dette formål bør du skrive din egen ValidationSettings metode i klassen Denne metoden er definert i foreldre klassen CExpertBase og i alle sine barn er det obligatorisk omdefinert. Men hvis du ikke vet noe om objektorientert programmering, bare husk - i vår klasse skal vi skrive ValidationSettings-funksjonen, som krever ingen parametere og returnerer sann eller false. Som du kan se, i den offentlige delen av MACross-klassen har vi lagt til deklarasjon av ValidationSettings-metoden, og deretter lagt til Metoden kroppen i følgende form. First kommer retur type, så klassenavnet, deretter scope oppløsning operatør og alt dette er etterfulgt av navnet på pr eviously deklarert metode Ikke glem at navnet og typen av parametere må samsvare i deklarasjonen og beskrivelsen av klassemetoden. Kompilatoren vil advare deg om en slik feil. Merk først at baseklassemetoden kalles, og skriv inn parametere er sjekket. Hvis du ikke legger til denne linjen, vil den genererte Expert Advisor ikke kunne initialisere vår modul for handelssignaler. 5 Hvor er våre indikatorer. Det er tid til å jobbe med indikatorene, siden alt forberedende arbeid med parameterne for dem har blitt fullført Hver modul av handelssignaler inneholder InitIndicators-metoden, som automatisk kalles når du kjører generert ekspertrådgiver. I denne metoden må vi gi indikatorer for bevegelige gjennomsnitt for modulen. Først erklærer InitIndicators-metoden i klassen og lim inn utkastet. Så det er ikke noe komplisert, vi erklære metoden og deretter bare opprette metoden kroppen, som vi har gjort for ValidationSettings metoden Fremfor alt, ikke glem å sette klassenavnet og operatøren i funkjonsdefinisjonen Vi har et utkast, som vi kan sette inn i en kode for å opprette glidende gjennomsnitt. La oss gjøre dette riktig - for hver indikator lager vi en egen funksjon i klassen, som returnerer sant hvis vellykket Funksjonen kan ha noe navn, men la det reflektere formålet, så la oss ringe funksjonene CreateFastMA og CreateSlowMA. That er alt, vi trenger bare å skrive kode som genererer MA-indikatorene og på en eller annen måte integrerer håndtakene til disse indikatorene i handelsmodulen, slik at modulen kan bruke verdiene til disse indikatorene Det er derfor en peker på en variabel av typen CIndicators blir bestått som en parameter. Følgende er skrevet i Dokumentasjon om det. Cindicatorene er en klasse for å samle forekomster av timeseries og tekniske indikator klasser Klassen Cindicators gir opprettelse av instanced av tekniske indikator klasser, lagring og styring data synkronisering, håndtak og minnehåndtering. Dette betyr at vi må skape våre indikatorer og plassere dem i denne samlingen. Siden kun indikatorer på Cindicator skjemaet og barna kan lagres i samlingen, bør vi bruke dette faktum. Vi vil bruke CiCustom som er det ovennevnte barnet For hvert glidende gjennomsnitt vi erklærer et objekt av typen CiCustom i den private delen av klassen. Selvfølgelig kan du lage din egen indikator klasse, som kommer fra Cindicator og implementere alle nødvendige metoder for bruk med MQL5 Wizard. Men i dette tilfellet ønsker vi for å vise hvordan du kan bruke en tilpasset indikator i modulen for handelssignaler ved hjelp av CiCustom. Here er hvordan det ser ut i koden. I CreateFastMA-metoden må du først sjekke pekeren på samlingen av indikatorer og deretter legge til en peker på den raske MA mfastma til denne samlingen Deretter erklæres MqlParam-strukturen, som er spesielt utviklet for lagring av parametere av tilpassede indikatorer, og fyller den med verdier. Vi bruker tilpasset flytende gjennomsnitt fra standardterminalen Leveringspakke som den egendefinerte MA-indikatoren Navnet på indikatoren må angis i forhold til mappen datafolder MQL5 Indikatorer Siden tilpasset Flytting fra standardpakken ligger i datafolder MQL5 Indikatoreksempler, spesifiserer vi vei med eksempler-mappen. Hvis du ser på koden for denne indikatoren, kan du se alle nødvendige data. Verdiene av strukturen inneholder typen verdi par. parameter type - streng for å overføre navnet på indikatoren. navnet på den kjørbare filen av den tilpassede indikatoren - Tilpasset Moving. parameter type - int verdi av period. period av det bevegelige gjennomsnittet. parameter type - int shift value. horisontal skift av gjennomsnittet i bars. parameter type - int enumeration verdi er et heltall. metoden av gjennomsnittlig. Når å fylle strukturen , indikatoren initialiseres ved å opprette metoden for alle nødvendige symboler symbolnavn og tidsrammen som den beregnes på, typen av indikatoren fra ENUMINDICATOR-tallet, den antall indikatorparametere og MqlParam-strukturen med parameterverdier Og den siste oppgir antall indikatorbuffere ved hjelp av NumBuffers-metoden. CreateSlowMA-metoden for å lage det langsomme glidende gjennomsnittet er enkelt. Når du bruker tilpassede indikatorer i modulen, ikke glem at Expert Advisor generert av MQL5 Wizard vil også løpe i testeren Så i begynnelsen av filen legger vi til eiendomsegenskapens testerindikator som kommuniserer til testeren plasseringen av nødvendige indikatorer. Hvis vi bruker flere forskjellige indikatorer, bør vi legge til denne linjen for hver av dem Så har vi lagt til indikatorene For mer bekvemmelighet, la s gi to metoder for å motta MA-verdier. Som du kan se, er metodene veldig enkle, de brukte GetData-metoden i SIndicator foreldre klassen, som returnerer en verdi fra den angitte indikatorbufferen på den angitte posisjonen. Hvis du trenger klasser for å arbeide med klassiske indikatorer på standardpakken, er de tilgjengelige ble i seksjon Klasser for å jobbe med indikatorer Vi er klare til å gå videre til sluttfasen.6 Definer LongCondition og ShortCondition Methods. Everything er klar til å gjøre modulen vårt arbeid og generere handelssignaler. Denne funksjonaliteten er gitt ved to metoder som må beskrives i hvert barn i CExpertSignal. LongCondition kontrollerer kjøpsbetingelsene og returnerer styrken til det lange signalet fra 0 til 100.ShortCondition - kontrollerer salgstilstanden og returnerer styrken til det korte signalet fra 0 til 100. Hvis funksjonen returnerer en null-verdi, det betyr at det ikke er noe handelssignal Hvis det er forhold for signalet, kan du estimere signalets styrke og returnere en verdi som ikke overstiger 100. Evaluering av signalstyrken gjør at du fleksibelt kan bygge handelssystemer basert på flere moduler og marked modeller Les mer om dette i MQL5 Wizard New Version. Since vi skriver en enkel modul av handelssignaler, kan vi være enige om at kjøp og salgssignaler er e verdsatt til og med 100 La oss legge til nødvendige metoder i klassedeklarasjonen. Også, la s lage beskrivelse av funksjoner Dette er hvordan kjøpsignalet er sjekket det er det samme med selgesignalet. Merk at vi har erklært idx-variabelen, til hvilken verdien returnert av StartIndex-funksjonen til foreldreklassen CExpertBase er tildelt StartIndex-funksjonen returnerer 0 hvis Expert Advisor er utformet for å fungere på alle flått, og i dette tilfellet begynner analysen med den nåværende linjen Hvis ekspertrådgiveren er Designet for å jobbe på åpne priser, returnerer StartIndex 1 og analysen starter med den sist dannede linjen. Med standard StartIndex returnerer 1, noe som betyr at Expert Advisor generert av MQL5 Wizard bare kjører ved åpningen av en ny linje og vil ignorere innkommende flått under dannelsen av den nåværende linjen. Hvordan du aktiverer denne modusen og hvordan den kan brukes, beskrives senere i sluttbehandlingen. Modulen er klar til bruk, så la oss lage en handelsrobot i MQL5 Wizar d basert på denne modulen. Kontrollere en ekspertrådgiver i testeren. For å teste effektiviteten til modulen, la s generere en ekspertrådgiver basert på den i MQL5-veiviseren og kjør den på diagrammet. Inntastingsfanen i det oppstartede startvinduet inneholder Parametrene til MACross-modulen. Alle andre parametere er også lagt til av MQL5-veiviseren mens du genererer EA basert på den valgte pengenehåndteringsmodulen og posisjoneringsvedlikeholdsmodulen Trailing Stop Derfor måtte vi bare skrive en modul av handelssignaler og mottatt en klar løsning Dette er den viktigste fordelen ved å bruke MQL5 Wizard. Now la s teste handelsroboten i MetaTrader 5 Strategy Tester La oss prøve å kjøre en rask optimalisering av viktige parametere. I disse innstillingene av inngangsparametere, over en halv million av passerer kreves for full optimalisering Derfor velger vi rask optimalisering genetisk algoritme og i tillegg bruker MQL5 Cloud Network for å akselerere optimaliseringen. Optimeringen har blitt gjort om 10 min tes og vi har fått resultatene. Som du kan se, har det oppstått mye mindre tid å skape en handelsrobot i MQL5 og optimalisering av innspillingsparametere enn det som kreves for å skrive stillingslogistikk, debugging og søke etter de beste algoritmer. kan hoppe over dette elementet eller gå tilbake til det senere når du er helt komfortabel med teknikken til å skrive en modul av handelssignaler. Hvis du åpner kildekoden til Expert Advisor generert av MQL5 Wizard, finner du den globale varianten ExpertEveryTick med den falske verdien Basert på denne variabelen returnerer StartIndex-funksjonen sin verdi. Det kommuniserer til Expert Advisor modusen den skal kjøre inn. Hvis du stiller ExpertEveryTick true og kompilerer koden, vil handelsroboten analysere hvert innkommende kryss og dermed ta beslutninger på verdiene for den nåværende ufullstendige linjen Gjør dette bare hvis du forstår hvordan det fungerer Ikke alle handelssystemer er utformet for å fungere inne i baren. Du kan også legge til en søkeordinngang f eller ExpertEveryTick-parameteren, og da vil du ha en ny inngangsparameter av Expert Advisor som du kan angi ved EA-oppstart på et diagram eller i testeren. Og nå er det på tide å oppsummere hva vi har gjort.6 Trinn for å lage en modul for handelssignaler. Hvis du har behersket MQL5, trenger du ikke lenger å skrive en ekspertrådgiver fra grunnen. Opprett bare en modul for handelssignaler, og basert på denne modulen, genererer du automatisk en handelsrobot med det aktiverte etterspørsels - og handelsvolumet ledelsesmoduler Og selv om du ikke er kjent med OOP eller ikke vil dykke mye i strukturen i handelsklassene, kan du bare gå gjennom 6 trinn. Opprett en ny klasse ved hjelp av MQL5-veiviseren i en egen mappe MQL5 Inkluder MySignals Vår modul av handelssignaler vil bli lagret there. Create et modulhåndtak som beskriver parametrene, deres type og standardverdier. Angi modulparametere i klassen og legg til metoder for initialisering i konstruktøren. Kontroller inngangsparametrene a nd ikke glem å ringe ValidationSettings av CExpertSignal base class. Create indikator-objekter og legg til en forhåndsdefinert initialiseringsmetode InitIndicators. Identify vilkårene for handelssignaler i metodene LongCondition og ShortCondition. Each trinn er enkelt og krever liten ferdighet i MQL5 programmering Du bare må skrive modulen en gang etter instruksjonene og videre verifisering av hvilken som helst handelside vil ikke ta mer enn en time uten trettende timer med koding og feilsøking. Fra enkel til kompleks. Husk at handelsstrategien implementert av din handelsrobot opprettet ved hjelp av MQL5-veiviseren, er like komplisert som modulen for handelssignaler som den bruker. Men før du begynner å bygge et komplekst handelssystem basert på et sett med regler for inn - og utgang, del det inn i flere enkle systemer og kontroller hver enkelt separat. På enkle moduler kan du opprette komplekse handelsstrategier ved å bruke de ferdige modulene til handelssignaler, men dette er et emne for en annen artikkel. Først og fremst vil jeg takke forfatterens for denne artikkelen. Jeg er ny på MetaTrader, MQL5 og Forex trading, så disse artiklene er veldig nyttige. Når jeg tester dette EA, merker jeg at for å lukke en lang stilling, gir den en selger signal med en dobbel størrelse Størrelse Hvorfor lukker den ikke bare min lange posisjon, men går direkte inn i et kort med samme signal. Som en første test for å forstå all programmering, vil jeg bare gå lang, så bare åpne og lukke en lang posisjon uten å legge inn en kort posisjon på det avsluttende selgesignalet. Takk på forhånd. Jeg har ingen erfaring med programmering i MQL, men jeg har litt erfaring med programmering på andre språk. En av de enkleste feilene i programmeringen min spesifikke klasse var Java, som er veldig lik i stil til C og tilsynelatende MQL ikke lukker braces riktig Det er en av de enkleste feilene å gjøre, og omvendt, også en av de vanskeligere å finne KJG, så langt som å lukke en lang og går rett inn i en kort, i t er sannsynligvis hva denne stilen til EA er designet for å gjøre Jeg har sett mange handelsstiler med akkurat den typen oppsett, jeg tror de var designet for et marked som har mye volatilitet og brede prissvingninger skjer hele tiden, som noe det vil trolig skje på et minutt tidsrammediagram. God artikkel også, jeg vil definitivt gjøre bruk av denne og mange andre her. Jeg er sikker. Jeg fulgte instruksjonene i trinn 1 og 2, men signalet vises ikke i veiviseren liste over tilgjengelige signaler jeg prøvde med andre signaler og ingen fungerer Kanskje det er begrensning i antall signaler som kan vises i veiviseren Alle kan hjelpe. I tillegg til handel via Betfairs nettsted, tillater Betfair også tilgang til sine servere via en API Access til Betfair s API er gratis, men det er begrensninger for mengden data du kan laste ned på en gang. Betfair har erstattet den gamle SOAP-baserte API-6 0 med API-NG, basert på JSON. Mine første inntrykk er at Dette er mye ea sier API for å forstå og kode til Jeg har kodet API-NG programmer ganske enkelt uten å ha hjelp fra andre, i motsetning til forrige API. Programmering for Betfair en veiledning for å skape sports handelsapplikasjoner med API-NG, lærer deg hvordan du programmerer en komplett søknad om handel på Betfair Inkludert er også bygging av databaser for offline analyse, automatiserte Betfair diagrammer og diskusjon om avanserte trading teknikker. Klikk her for innholdet. Automatisk Exchange Betting dekker nå deaktivert API-6 0, men det går i detalj om Konstruksjon av et automatisert handelssystem Boken dekker også bruk av odds-linjer, vekt av gjennomsnittlige priser på penger osv. for å bygge handelssystemer. En annen bok som beskriver oppbyggingen av et automatisert spillsystem, er beregnet spill datamaskiner, gambling og matematisk modellering for å vinne skrevet av professor Steven Skiena, beregnede spill detaljer professorens vellykkede modellering jai Alai kamper, utvikle en handelsplass gy bruker Monte Carlo metoder og deretter implementere spillautomatisering. Fordelene ved å skrive din egen programvare. Mest tredjeparts trading programvare er lisensiert Du må betale en månedlig avgift for å bruke programvaren Det er åpenbart ikke slik at du skriver din egen programvare. Hvis du har en ide for en handelsalgoritme som ikke kan implementeres av dagens tredjeparts handelsprogramvare, og deretter be dem om å legge til den nødvendige funksjonaliteten, kan du varsle om hva din handelsalgoritme gjør Tredjeparts handelsleverandører er vanligvis handelsmenn også Don ikke gi dem dine ideer. I de tidlige dagene med finansiell algoritmisk handel ville bankene kjøpe handelsprogramvare fra andre selskaper. Noen av disse selskapene kjørte loggingsprogramvaren som ville lese hva en handelsmann gjorde og deretter front-run den handelsmannens ordre. Det er ikke å si at noen tredjeparts idrettsutviklingsprogramvareleverandør leser tastetrykkene for data mining, men hvis du skriver din egen programvare, kan du være sikker på at handlingene dine a ikke bli mined. Designing Din Trading Software. Rather enn å prøve å kode den ultimate trading plattformen med en gang, bør du først bygge enkle single-task verktøy for å håndtere repetitve oppgaver Du kan deretter legge til egne beregninger for å manipulere Betfair data Etter at du kanskje vil automatisere spill og posisjonsporing Til slutt kan du kode en bot som gjør alt ovenfor, mens du handler under dine egne handelsregler. Mitt eget handelssystem er en hybrid, med automatisering av mange oppgaver, men den endelige avgjørelsen når du skal handle er med meg.
Comments
Post a Comment