Wednesday 11 October 2017

M Periode Moving Average


Moving Average Forecasting. Introduction Som du kanskje antar vi ser på noen av de mest primitive tilnærmingene til prognoser, men forhåpentligvis er disse minst en verdig innføring i noen av databehandlingsproblemene knyttet til implementering av prognoser i regneark. I denne venen fortsetter vi med begynner i begynnelsen og begynner å jobbe med Moving Average Forecasts. Moving Average Forecasts Alle er kjent med å flytte gjennomsnittlige prognoser, uavhengig av om de tror de er Alle studenter gjør dem hele tiden Tenk på testpoengene dine i et kurs der du skal ha fire tester i løpet av semesteret. La oss anta at du fikk en 85 på din første test. Hva ville du forutsi for din andre test score. Hva tror du at din lærer ville forutsi for din neste test score. Hva tror du vennene dine kan forutsi for din neste test score. Hva tror du at foreldrene dine kan forutsi for din neste testscore. Uansett hvilken blabbing du kan gjøre til din fr Jeg og foreldrene mine, de og din lærer, er veldig sannsynlig å forvente deg å få noe i det 85 du nettopp har fått. Vel, la oss nå anta at til tross for selvforfremmelse til vennene dine, overestimerer du deg selv og finne ut at du kan studere mindre for den andre testen, og så får du en 73. Nå er det alle de bekymrede og ubekymrede kommer til å forutse at du kommer på den tredje testen. Det er to svært sannsynlige tilnærminger for dem å utvikle et estimat uavhengig av om de vil dele det med deg. De kan si til seg selv: Denne fyren blåser alltid røyk om hans smarts. Han kommer til å få en annen 73 hvis han er heldig. Måtte foreldrene forsøke å være mer støttende og si, vel, så langt du har fått en 85 og en 73, så kanskje du burde finne ut på å få en 85 73 2 79 Jeg vet ikke, kanskje hvis du gjorde mindre fester og ikke ville veksle vevet over alt, og hvis du begynte å gjøre en mye mer å studere du kan få en høyere score. Både disse estimatene er faktiske Den bevegelige gjennomsnittlige prognosen. Den første bruker bare din siste poengsum for å prognose din fremtidige ytelse. Dette kalles en gjennomsnittlig gjennomsnittlig prognose ved hjelp av en dataperiode. Den andre er også en flytende gjennomsnittlig prognose, men bruker to perioder med data. at alle disse menneskene bråser på ditt store sinn, har slags pisset deg av og du bestemmer deg for å gjøre det bra på den tredje testen av dine egne grunner og å sette en høyere poengsum foran dine allierte. Du tar testen og poengsummen din er egentlig en 89 Alle, inkludert deg selv, er imponert. Så nå har du den endelige testen av semesteret som kommer opp, og som vanlig føler du behovet for å få alle til å gjøre sine spådommer om hvordan du skal gjøre på den siste testen. Vel, forhåpentligvis ser du pattern. Now, forhåpentligvis kan du se mønsteret som tror du er den mest nøyaktige. Whistle Mens vi jobber nå, går vi tilbake til vårt nye rengjøringsfirma som startet av din fremmedgjorte halv søster, kalt Whistle While we Work Du har noen tidligere salgsdata representert av følgende seksjon fra et regneark Vi presenterer først dataene for en tre-års glidende gjennomsnittlig prognose. Oppføringen for celle C6 skal være. Nå kan du kopiere denne celleformelen ned til de andre cellene C7 til og med C11. Notat hvordan gjennomsnittet beveger seg over de nyeste historiske dataene, men bruker nøyaktig de tre siste perioder som er tilgjengelige for hver prediksjon. Du bør også legge merke til at vi ikke virkelig trenger å gjøre spådommene for de siste perioder for å utvikle vår siste prediksjon. Dette er definitivt forskjellig fra eksponensiell utjevningsmodell Jeg har inkludert de siste spådommene fordi vi vil bruke dem på neste nettside for å måle prediksjonens gyldighet. Nå vil jeg presentere de analoge resultatene for en to-års glidende gjennomsnittlig prognose. Oppføringen for celle C5 skal være. Nå kan kopiere denne celleformelen ned til de andre cellene C6 til C11. Notat hvor nå blir bare de to siste stykkene av historiske data brukt for hver prediksjon igjen, jeg har med d de siste spådommene for illustrative formål og for senere bruk i prognose validering. Som andre ting som er viktig å legge merke til. For en m-periode beveger gjennomsnittlig prognose bare de nyeste dataverdiene er brukt til å foreta prognosen Ingenting annet er nødvendig. For en m-periode som går i gjennomsnitt, vil prognosen ved første forsinkelse oppstå i perioden m 1.Bet av disse problemene vil være svært viktig når vi utvikler vår kode. Utvikle den bevegelige gjennomsnittsfunksjonen Nå må vi utvikle koden for den bevegelige gjennomsnittlige prognosen som kan brukes mer fleksibelt Koden følger Legg merke til at inngangene er for antall perioder du vil bruke i prognosen og rekke historiske verdier. Du kan lagre den i hvilken arbeidsbok du vil. Funksjon MovingAverage Historical, NumberOfPeriods Som Single Declaration og initialisering av variabler Dim Item Som variant Dim Counter Som Integer Dim Akkumulering Som Single Dim HistoricalSize Som Integer. Initialisering av variabler Teller 1 Akkumulering 0. Bestemme størrelsen på Historisk matrise HistoricalSize. For Counter 1 til NumberOfPeriods. Akkumulere riktig antall siste tidligere observerte verdier. Akkumulasjonsakkumulering Historisk Historisk størrelse - AntallOfPeriods Counter. MovingAverage AkkumuleringsnummerOfPeriods. Koden vil bli forklart i klassen. Du vil plassere funksjonen på regnearket slik at resultatet av beregningen vises der den skal som følgende. MetaTrader 5 - Trading Systems. Adaptive Trading Systems og deres bruk i MetaTrader 5 Client Terminal. Hundreds av tusenvis av handelsmenn over hele verden bruker handelsplatformene utviklet av MetaQuotes Software Corp Nøkkelfaktoren som fører til suksess er den teknologiske overlegenhet basert på erfaring fra mange år og de beste programvareløsninger. Mange har allerede estimert nye muligheter som har blitt tilgjengelige med det nye MQL5-språket. De viktigste funksjonene er høy ytelse og muligheten for å bruke objektorientert programmering. I tillegg til det, med fremvisning av multi-valuta strategistesten r i MetaTrader 5 klientterminalen, har mange forhandlere fått unike verktøy for utvikling, læring og bruk av komplekse handelssystemer. Automatisert handelsmesterskap 2010 starter i høst tusenvis av handelsroboter skrevet i MQL5 skal delta i det. En ekspertrådgiver som tjener Maksimal fortjeneste i løpet av konkurransen vil vinne Men hvilken strategi vil dukke opp som den mest effektive. Strategitesteren til MetaTrader 5-terminalen gjør det mulig å finne det beste settet av parametere, ved hjelp av hvilket systemet tjener maksimal profitt i løpet av en angitt tidsperiode. Men kan det gjøres i sanntid Ideen om den virtuelle handel med flere strategier i en ekspertrådgiver ble vurdert i konkurransen av ekspertrådgivere i en Expert Advisor-artikkel, som inneholder implementeringen i MQL4. I denne artikkelen skal vi vise at etableringen og analysen av adaptive strategier har blitt betydelig lettere i MQL5 på grunn av bruken av objektorientert programmering klasser for å jobbe med data og handelsklasser i Standard Library.1 Adaptive Trading Strategies. Markets forandre seg kontinuerlig Handelsstrategier trenger deres tilpasning til dagens markedsforhold. Verdiene av parametere som gir maksimal lønnsomhet i strategien kan bli funnet uten å bruke optimalisering gjennom sekventiell parameterendring og analyse av testresultater. Figur 1 viser egenkapitalkurvene for ti ekspertrådgivere MA3 MA93, hver av dem handlet med strategien om å flytte gjennomsnitt, men med forskjellige perioder 3,13 93 Testingen er utført på EURUSD H1 , testperioden er 4 01 2010-20 08 2010.Figur 1 Diagrammer av egenkapitalkurver på ti ekspertrådgivere på kontoen. Som du ser på figur 1, hadde ekspertrådgiverne nesten de samme resultatene de to første ukene av arbeidet, men videre begynte deres fortjeneste å avvike betydelig. På slutten av testperioden ble de beste handelsresultater vist av Expert Advisors med perioder 63, 53 og 43. Markedet har valgt de beste. Hvorfor bør vi ikke følge sitt valg Hva om vi kombinerer alle ti strategiene i en enkelt ekspertrådgiver, gi mulighet for virtuell handel for hver strategi, og jevnlig for eksempel i begynnelsen av Hver ny bar bestemmer den beste strategien for den reelle handel og handel i henhold til signaler. Resultatene av oppnådd adaptiv strategi er vist i figur 2 Egenkapitalkurven for kontoen med adaptiv handel er vist med den røde farge Merk, som under mer enn en halv periode er formen for egenkapitalkurven for den adaptive strategien den samme som MA63-strategien, som har vist seg å være vinneren til slutt. Figur 2 Egenkapitalkurver på kontoen med den adaptive strategien som bruker signaler fra 10 handelssystemer. Balansekurver har lignende dynamikk Fig 3.Figur 3 Balanse kurver av den adaptive strategien som bruker signaler fra 10 handelssystemer. Hvis ingen av strategiene er lønnsomme for øyeblikket, annonsen aptive systemer bør ikke utføre handelsoperasjoner Eksempelet på et slikt tilfelle er vist i figur 4 perioden fra 4.-22. januar 2010. Figur 4 Tidsperioden da den adaptive strategien sluttet å åpne nye stillinger på grunn av fravær av lønnsomme strategier. Start fra januar 2010 vises den beste effekten av MA3-strategien. Siden MA3 blå hadde det maksimale beløpet som ble opptjent i det øyeblikket, fulgte den adaptive strategien sine signaler. I perioden 8.-20. januar var alle de vurderte strategiene hadde et negativt resultat. Derfor har den adaptive strategien ikke åpnet nye handelsstillinger. Hvis alle strategiene har et negativt resultat, er det bedre å holde seg unna handel. Dette er den viktige tingen som gjør det mulig å stoppe ulønnsom handel og holde pengene dine save.2 Implementering av Adaptive Trading Strategy. In denne delen skal vi vurdere strukturen til den adaptive strategien som utfører den virtuelle handel ved å bruke flere trade s trategies samtidig, og velger den mest lønnsomme for ekte handel i henhold til signaler. Merk at bruk av objektorienterte tilnærminger gjør løsningen av dette problemet betydelig lettere. Først av alt skal vi undersøke koden til den adaptive ekspertrådgiveren , så skal vi se nærmere på CAdaptiveStrategy hvor funksjonaliteten til det adaptive systemet er implementert, og da vil vi vise strukturen til CSampleStrategy-klassen - grunnklassen av handelsstrategiene der funksjonaliteten til virtuell handel er implementert. Vi skal også vurdere koden til to av sine barn - CStrategyMA - og CStrategyStoch-klassene som representerer handelsstrategiene ved å flytte gjennomsnitt og stokastisk oscillator. Etter at du har analysert strukturen, kan du enkelt skrive og legge til egne klasser som realiserer dine strategier.2 1 Kode for Expert Advisor. Koden til Expert Advisor ser veldig enkel ut. De første tre l ines definere egenskapene til programmet, da kommer det med et direktiv som forteller preprosessoren å inkludere filen. Angle parentes angir at filen skal hentes fra standardkatalogen, det er vanligvis terminalmappe MQL5 Inkluder. Den neste linjen inneholder erklæring fra AdaptiveExpert objekteksempel av CAdaptiveStrategy-klassen og koden til OnInit OnDeinit og OnTick-funksjonene til Expert Advisor består av samtalene til tilsvarende funksjoner ExpertOnInit, ExpertOnDeInit og ExpertOnTick og AdaptiveExpert-objektet.2 2 CAdaptiveStrategy-klassen. Klassen av thr adaptive Expert Advisor CAdaptiveStrategy-klassen er plassert i filen La oss starte med inkluderingsfilene. Grunnen til at vi inkluderer filen er praktisk å arbeide med klasser av forskjellige strategier ved å bruke objektet til CArrayObj-klassen, som representerer et dynamisk utvalg av pekere til klassen forekomster oppsto av grunnklassen CObject og dets barn Dette objektet vil ma llstrategies array, vil det bli brukt en container av handelsstrategier. Hver strategi er representert som en klasse. I dette tilfellet har vi tatt med filene som inneholder CStrategyMA og CStrategyStoch-klassene, som representerer handelsstrategiene ved å flytte gjennomsnitt og handel av stokastisk oscillator. For å be om egenskaper for nåværende stillinger og for å utføre handelsoperasjoner, vil vi bruke CPositionInfo og CTrade-klassene i Standard-biblioteket, derfor inneholder vi filene og filene. Ta en titt på strukturen i CAdaptiveStrategy-klassen. For å implementere en forent tilnærming til objekter av forskjellige klasser, lagres handelsstrategiene eller rettere forekomster av deres klasser i de dynamiske array-mallstrategiene av CArrayObj-typen, som brukes som en beholder av klasser av strategiene. Dette er grunnen til at Klassen av handelsstrategier SampleStrategy er hentet fra CObject-klassen. ProceedSignalReal-funksjonen implementerer synkroniseringen av retning og volum av en reell posisjon med gitt retning og volum. Merk at det er lettere å jobbe med handelsposisjonen ved hjelp av handelsklassene. Vi brukte objekter av CPositionInfo og CTrade-klassene for å be om egenskapene til markedsposisjon og for å utføre handel operasjoner. RealPositionDirection-funksjonen ber om parametrene i den virkelige åpne posisjonen og returnerer retningen. Nå skal vi se nærmere på hovedfunksjonene i AdaptiveStrategy-klassen. La oss starte med ExpertOnInit-funksjonen. Sett med handelsstrategier er utarbeidet i ExpertOnInit-funksjonen Først av alt opprettes objektet for dynamisk matriseoppstilling i kjøpesenter. I dette tilfellet opprettet vi ti forekomster av CStrategyMA-klassen. Hver av dem ble initialisert i dette tilfellet, vi satte forskjellige perioder og tillot virtuell handel ved hjelp av Initialiseringsfunksjon. Da bruker vi SetStrategyInfo-funksjonen det finansielle instrumentet, strateginavnet og kommentaren. Hvis nødvendig , ved hjelp av SetStops TP, SL-funksjonen kan vi spesifisere en verdi i poeng for ta fortjeneste og stoppfall, som vil bli utført under den virtuelle handel. Vi har denne linjen kommentert. Når strategiklassen er opprettet og justert, legger vi den til mallstrategies container. Alle klasser av handelsstrategier bør ha CheckTradeConditions-funksjonen som utfører kontrollen av handelsforholdene I klassen av den adaptive strategien kalles denne funksjonen på begynnelsen av hver ny linje, og dermed gir vi strategiene muligheten til å kontrollere verdiene av indikatorer og for å gjøre den virtuelle handelen. I stedet for ti angitte glidende gjennomsnitt 3, 13, 23 93 kan vi legge til hundrevis av bevegelige gjennomsnitt instanser hvis CStrategyMA-klassen. Eller vi kan legge til klassene av strategi som fungerer av signaler fra stokastiske oscillatorinstanser av CStrategyStoch-klassen. I dette tilfellet inneholder beholderen 10 strategier for bevegelige gjennomsnitt og 5 strategier av den stokastiske oscillatoren. ses av handelsstrategier bør være barn av CObject-klassen og bør inneholde funksjonen CheckTradeConditions Det er bedre å arve dem fra CSampleStrategy-klassen. Klasser som implementerer handelsstrategier kan være forskjellige, og deres antall er ikke begrenset. ExpertOnInit-funksjonen slutter med listen av strategier som er til stede i mallstrategies-beholderen Merk at alle strategiene i containeren anses som barn i CSampleStrategy-klassen. Klassene av handelsstrategier CStrategyMA og CStrategyStoch er også barn. Det samme trikset brukes i ExpertOnDeInit-funksjonen i container, kaller vi SaveVirtualDeals-funksjonen for hver strategi den lagrer historien til utførte virtuelle avtaler. Vi bruker navnet på strategien for filnavnet som er bestått som en parameter. Da deinitialiseres strategiene ved å ringe til deinitialiseringsfunksjonen og slette kjøpesenterets container . Hvis du ikke trenger å vite om de virtuelle avtalene utfører utgitt av strategiene, fjern linjen der det kalles. Merk at når du bruker strategistesten, lagres filene til testerkatalogen Filer-katalog. La oss se på ExpertOnTick-funksjonen i CAdaptiveStrategy-klassen som kalles hver gang et nytt kryss kommer. Koden er veldig enkel Hver strategi som ligger i containeren, må kunne beregne det nåværende økonomiske resultatet av sine virtuelle posisjoner ved hjelp av de nåværende prisene. Det gjøres ved å ringe UpdatePositionData-funksjonen. Her kaller vi igjen strategiene som arvinger til CSampleStrategy-klassen. Alle handelsoperasjoner utføres i begynnelsen av en ny linje, tillater IsNewBar-funksjonen å bestemme dette øyeblikket, så vel som de andre metodene for å sjekke ny linje. I dette tilfellet betyr slutten av formingen av en linje at alle dataene fra den forrige linjen priser og indikatorverdier vunnet t endres lenger, så det kan analyseres på korrespondansen til handelsforholdene Til alle strategiene gir vi muligheten til å perfeksjonere orm denne sjekken og utføre sine virtuelle handel operasjoner ved å ringe deres CheckTradeConditions funksjon. Nå bør vi finne den mest vellykkede strategien blant alle strategier i mallstrategies array For å få det gjort, brukte vi Performance array, verdier som returneres av StrategyPerformance funksjonen av hver strategi er plassert i den. Baseklassen CSampleStrategy inneholder denne funksjonen som forskjellen mellom nåværende verdier av virtuell egenkapital og balanse. Søket av indeksen for den mest vellykkede strategien utføres ved hjelp av ArrayMaximum-funksjonen Hvis den beste strategien har en negativ fortjeneste for øyeblikket og det har ikke ekte åpne posisjoner, så er det bedre å ikke handle, det er grunnen til at vi går ut av funksjonen, se avsnitt 1. Videre ber vi om retningen til den virtuelle posisjonen til denne strategien bestdirection Hvis det avviker fra den nåværende retningen til den virkelige posisjonen, vil den nåværende retningen for den virkelige posisjonen bli korrigert ved hjelp av Procee dSignalReal-funksjonen i henhold til den beste retningen.2 3 Klasse CSampleStrategy. Strategier plassert i Mall Strategies-beholderen ble vurdert som arvinger til CSampleStrategy-klassen. Denne klassen er grunnlaget for handelsstrategiene som inneholder implementeringen av virtuell handel. I denne artikkelen vi vil vurdere et forenklet tilfelle av virtual trading implementering, swaps er tatt hensyn til. Klassene av handelsstrategier skal arves fra CSampleStrategy-klassen. Vi viser strukturen til denne klassen. Vi har ikke tenkt å analysere detaljert beskrivelse, ytterligere informasjon kan finnes i filen Der kan du også finne funksjonen ved å sjekke ny linje - IsNewBar.3 Klasser av handelsstrategier. Denne delen er viet til strukturen i klasser av handelsstrategier som brukes i den adaptive Expert Advisor.3 1 Klasse CStrategyMA - Strategi for handel med bevegelige gjennomsnitt. CStrategyMA-klassen er et barn i CSampleStrategy-klassen hvor hele funksjonen ionitet av virtuell handel er implementert. Den beskyttede delen inneholder interne variabler som vil bli brukt i klassen av strategien. Disse er handler - håndtak av iMA-indikatoren, mperiod-perioden av det bevegelige gjennomsnittet, mvalues-array som vil bli brukt i CheckTradeConditions fungerer for å få nåværende verdier av indikatoren. Den offentlige delen inneholder tre funksjoner som gir implementeringen av handelsstrategien. Funksjon Initialisering Strategien er initialisert her Hvis du trenger å opprette indikatorer, opprett dem her. Funksjon Deinitialization Strategien er deinitialized her Handlingene til indikatorer er utgitt her. Funksjon heckTradeConditions Her kontrollerer strategien handelsbetingelsene og genererer handelssignaler som brukes til virtuell handel. For å utføre virtuell handel, er SetSignalState-funksjonen til CStrategy-forelderklassen kalt en av fire av de Følgende handelssignaler sendes til den. Signalet for å åpne en lang pos signal SIGNALOPENLONG. Signalet for å åpne en kort posisjon SIGNALOPENSHORT. Signalet for å lukke en lang posisjon SIGNALCLOSELONG. Signalet for å lukke en kort posisjon SIGNALCLOSESHORT. Konseptet er enkelt - på grunnlag av indikatorstatus og priser, er signalet type newstate bestemt , da er nåværende tilstand for den virtuelle handel bedt om å bruke GetSignalState-funksjonen, og hvis de ikke er det samme, kreves SetSignalState-funksjonen for å korrigere den virtuelle posisjonen.3 2 Klasse CStrategyStoch - Stokastisk tradingstrategi. Koden til klassen som utfører handel på grunnlag av krysset mellom hoved - og signallinjene til iStochastic oscillatoren, er gitt nedenfor. Som du ser, er de eneste forskjellene mellom strukturen til CStrategyStoch-klassen og den ene av CStrategyMA initieringsfunksjonen forskjellige parametere, type indikator brukt og handelssignaler. For å bruke strategiene dine i den adaptive Expert Advisor, bør du skrive om dem i form av klasser av denne typen og last dem til kjøpesenteret container.4 Resultatene fra analysen av de adaptive handelsstrategiene. I denne delen skal vi diskutere flere aspekter ved praktisk bruk av de adaptive strategiene og metodene for å forbedre dem. 4 1 Forbedre systemet med strategier som bruker inverserte signaler. Gjennomgang Gjennomsnitt er ikke bra når det ikke er noen trender. Vi har allerede møtt denne typen situasjon - i figur 3 kan du se at det ikke var noen trend i perioden fra 8.-20. Januar, slik at alle 10 strategier som bruker bevegelige gjennomsnitt i trading hadde et virtuelt tap. Det adaptive systemet stoppet handel som følge av fravær av en strategi med positiv sum penger opptjent. Er det noen måte å unngå så negativ effekt. La oss legge til våre 10 strategier MA3, MA13 MA93 ytterligere 10 klasser CStrategyMAinv hvis handelssignaler er reversert, betingelsene er de samme, men SIGNALOPENLONG SIGNALOPENSHORT og SIGNALCLOSELONG SIGNALCLOSESHORT byttes ut I tillegg til ti trendstrategier forekomster av CStrategyMA-klassen, har vi ytterligere ti kontrastrendsstrategier av CStrategyMAinv-klassen. Resultatet av å bruke det adaptive systemet som består av tjue strategier er vist i figuren 5.Figur 5 Diagrammer av egenkapital på kontoen til den adaptive strategien som bruker 20 handelssignaler 10 Flytte gjennomsnitt CAdaptiveMA og 10 speilete CAdaptiveMAinv. As du kan se på figur 5, i løpet av perioden da alle CAdaptiveMA-strategiene hadde et negativt resultat, fulgte CAdaptiveMAinv-strategiene gjorde det mulig for ekspertrådgiveren å unngå uønskede drawdowns i begynnelsen av trading. Figur 6 Tidsperiode da den adaptive strategien brukte signalene til mottrendende CAdaptiveMAinv-strategier. Denne typen tilnærming kan virke uakseptabel, siden tap av innskuddet bare er en Tidsspørsmål når man bruker en mottrendsstrategi Men i vårt tilfelle er vi ikke begrenset med en enkelt strategi. Markedet vet bedre w hvilke strategier som er effektive for øyeblikket. Den sterke siden av adaptive systemer er markedet foreslår i seg selv hvilken strategi skal brukes og når den skal brukes. Den gir mulighet til å abstrahere fra strategienes logikk - hvis en strategi er effektiv, da måten det virker på, har ingen betydning. Den adaptive tilnærmingen bruker det eneste kriteriet for suksess for en strategi - dens effektivitet.4 2 Er det verdt å invertere signalene til den verste strategien. Tricket med inversjon vist ovenfor fører til en tanke om Den mulige muligheten for å bruke signaler fra den verste strategien Hvis en strategi er ulønnsom og den verste på det, kan vi få fortjeneste ved å handle i omvendt. Kan vi gjøre en tapende strategi til en lønnsom ved en enkel forandring av sin signaler For å svare på dette spørsmålet, må vi endre ArrayMaximum med ArrayMinimum i ExpertOnTick-funksjonen i CAdaptiveStrategy-klassen, samt å implementere endringen av retninger ved å multiplisere verdien av BestDire ction variabel med -1. I tillegg må vi kommentere begrensningen av virtuell handel i tilfelle negativ effektivitet siden vi skal analysere resultatet av den verste strategien. Diagram over egenkapitalen til den adaptive ekspertrådgiveren som bruker reverserte signaler om Den verste strategien er vist i figuren 7.Figur 7 Diagrammer av egenkapital på regnskapet av ti strategier og det adaptive systemet som bruker reverserte signaler fra det verste systemet. I dette tilfellet var den minst vellykkede strategien for det meste den en basert på kryss av bevegelige gjennomsnitt med periode 3 MA3 Som du kan se på figur 7, eksisterer den omvendte korrelasjonen mellom MA3 blåfarget og den adaptive strategiske rødfarge, men det økonomiske resultatet av det adaptive systemet gjør det ikke imponerende. Kopiering og reversering av signaler fra den verste strategien fører ikke til å forbedre effektiviteten av trading.4 2 Hvorfor bunten av bevegelige gjennomsnitt er ikke så effektiv som den ser ut. I stedet for 10 bevegelige gjennomsnitt kan du bruke mye av dem ved å legge til et hundre av CStrategyMA-strategiene med forskjellige perioder til mallstrategies container. For å gjøre det, må du endre koden i CAdaptiveStrategy-klassen. Men du bør forstå at nærliggende gjennomsnitt vil uunngåelig krysse lederen vil hele tiden forandre seg og adaptiv systemet vil bytte dets tilstander og åpne lukkede stillinger oftere enn det er nødvendig. Derfor vil egenskaper til det adaptive systemet bli verre. Du kan sørge for det selv ved å sammenligne de statistiske egenskapene til systemet, fanen Resultater av strategi tester. Det er bedre å ikke lage adaptive systemer basert på mange strategier med nære parametere.5 Hva bør vurderes. Mallstrategi container kan ha tusenvis av forekomster av foreslåtte strategier inkludert, kan du til og med legge alle strategiene med forskjellige parametere imidlertid, For å vinne Automated Trading Championship 2010 må du utvikle den avanserte pengene management syst em Merk at vi har brukt handelsvolumet til å være 0 1 mange for testing på historikkdata og i klasseklassen.5 1 Hvordan øke lønnsomheten til Adaptive Expert Advisor. CSampleStrategy-klassen har den virtuelle funksjonen MoneyManagementCalculateLots. To administrere volum for handel, kan du bruke statistiske opplysninger om resultatene og egenskapene til virtuelle avtaler som er registrert i mdealshistory-arrayen. Hvis du for eksempel skal øke volumet, dobler du det hvis de siste virtuelle avtalene i mdealshistory er lønnsomme eller til redusere den, bør du endre returverdien på tilsvarende måte. 5 2 Bruke tilbudsstatistikk for beregning av strategisk ytelse. Strategiforberedelsesfunksjonen, implementert i CSampleStrategy-klassen, er beregnet for beregning av strategisk ytelse. Formel for effektivitet av en strategi kan være mer kompleks og inkluderer for eksempel effektiviteten av å komme inn, spennende, effektiviteten av avtaler, fortjeneste, drawdowns osv. Beregningen av effektiviteten av å komme inn, spennende og effektiviteten av avtalene, inngår, exiteff og tradeeff-felt av strukturer i mdealshistory-arrayet utføres automatisk under den virtuelle handel, se CSampeStrategy-klassen. Denne statistiske informasjonen kan brukes for å lage dine egne, mer komplekse priser for effektiviteten til strategien. For eksempel kan du som resultat av de tre siste avtalene bruke posProfit-feltet fra arkivet til avtaler mdealshistory. If du vil endre denne funksjonen, endre det bare i CSampleStrategy-klassen, det må være det samme for alle handelsstrategier i det adaptive systemet. Du bør imidlertid huske at forskjellen mellom Egenkapital og Balanse også er en god faktor for effektivitet.5 3 Bruk fortjeneste og stoppfall. Du kan endre effektiviteten til handelssystemer ved å sette faste stoppnivåer det kan gjøres ved å ringe SetStops-funksjonen som tillater innstilling Stoppnivåene i poeng for virtuell handel Hvis nivåene er spesifisert, vil lukking av virtuelle posisjoner bli utført automatisk, denne funksjonaliteten er implementert i CSampleStrategy-klassen. I vårt eksempel se 2 2, funksjonen av klasser av bevegelige gjennomsnitt, funksjonen for innstilling stoppe nivåer er kommentert.5 4 Periodisk nullering av kumulativ virtuell fortjeneste. Den adaptive tilnærmingen har samme ulempe som vanlige strategier har. Hvis den ledende strategien begynner å miste, begynner det adaptive systemet også å miste det. Det er grunnen til at noen ganger må du nullisere resultater av arbeidet med alle strategier og å lukke alle sine virtuelle stillinger. For å gjøre det, blir følgende funksjoner implementert i CSampleStrategy-klassen. CheckPoint av denne typen kan brukes fra tid til annen, for eksempel etter hver N-bar. Du bør huske at det adaptive systemet ikke er et grus USDJPY H1, 4 01 2010-20 08 2010.Figur 8 Balanse - og egenkapitalkurver av det adaptive systemet som bruker signaler fra e best av 10 strategier USDJPY H1.Equitykurver av alle strategiene er vist i figuren 9.Figur 9 Egenkapitalkurver på kontoen med adaptivsystemet basert på 10 strategier USDJPY H1.Hvis det ikke finnes lønnsomme strategier i det adaptive systemet, bruk av dem er ikke effektive Bruk lønnsomme strategier. Vi bør vurdere en annen viktig og interessant ting. Vær oppmerksom på oppførselen til den adaptive strategien ved begynnelsen av trading. Figure 10 Equity-kurver på kontoen med 10 strategier for den adaptive strategien. Først alle strategiene hadde negative resultater, og den adaptive strategien sluttet å handle, da det begynte å bytte mellom strategier som hadde et positivt resultat og da ble alle strategiene ulønnsomme igjen. Alle strategiene har samme balanse i begynnelsen og bare etter en stund eller en annen strategi blir en leder, så det anbefales å sette en begrensning i den adaptive strategien for å unngå å handle ved første barer. For å gjøre det, må du supplere det e ExpertOnTick-funksjonen i CAdaptiveStrategy-klassen med en variabel, hvilken verdi økes hver gang en ny linje kommer. I begynnelsen, til markedet velger den beste strategien, bør du holde deg borte fra ekte handel. I denne artikkelen har vi vurdert en Eksempel på det adaptive systemet som består av mange strategier, som hver har sin egen virtuelle handel. Real trading utføres i samsvar med signaler for en mest lønnsom strategi for øyeblikket. Takket være å bruke objektorienterte tilnærminger, arbeidsklasser med data og handelsklasser i standardbiblioteket, syntes systemets arkitektur å være enkel og skalerbar nå kan du enkelt lage og analysere de adaptive systemene som inneholder hundrevis av handelsstrategier. PS For enkelhetsanalyse av adferd av adaptive systemer, feilsøkingsversjon av CSampleStrategy-klassen er vedlagt arkivet. Forskellen i denne versjonen er opprettelse av tekstfiler under arbeidet de inneholder su mmary rapporter om dynamikken i endring av virtuell saldo egenkapital av strategiene som inngår i systemet. Kartstudier. Kartstudier bruker aksjens prisbevegelser, volum og annen historisk informasjon for å forsøke å finne mønstre som kan indikere skiftende prisutvikling. lære hva en bestemt studie kan indikere og deretter bruke den studien på diagrammer, kan du kanskje identifisere handelsmuligheter, poeng for støtte eller motstand til bestemte prisgrenser, prisutvikling og mer. Statsymboler og pris og volumdata vist her og i programvaren er kun for illustrasjonsformål Charles Schwab Co Inc sin forelder eller tilknyttede selskaper, og eller dets ansatte og eller styremedlemmer kan ha posisjoner i verdipapirer som er referert heri, og kan som oppdragsgiver eller agent kjøpe fra eller selge til kunder. studerer til et diagram fra panelinnstillingspanelet på høyre side av diagramverktøyet Du kan også høyreklikke i diagrammet og velge Legg til studie eller for mer om bruk av studier i diagrammet s, se Chart Settings Studies. Get en demonstrasjon og mer informasjon om Chart Studies. When valgt med en intradag diagram, vil en linje vise indikasjon på forrige dag s nær pris. Bruk den forrige dagen høy, lav og nær pris for å generere en pivotlinje, to støttenivåer S1 S2 og to motstandsnivåer R1 R2 Denne studien vises kun på Intradag-diagrammer. I studiestillingene høyreklikker du på studien og velger Rediger. Du kan sjekke linjene du ønsker å se R2, R1, Pivot, S1, S2.Pivot Point-linjene er kanskje ikke synlige avhengig av prisskalaen du har angitt i diagraminnstillingene og prisavviket mellom foregående og dagens handelsdag. Pivotpoeng er beregnet. Pivot YesterdaysHigh YesterdaysLow YesterdaysClose 3 0. S1 2 0 Pivot - YesterdaysHigh. R1 2 0 Pivot - YesterdaysLow. S2 Pivot - R1 - S1.R2 Pivot R1 - S1.Adaptive RSI Relative Strength Index. Tilpasser standard RSI til en utjevningskonstant. Tilpassbar standard på 14 perioder. For beregningsformål , Ada ptive RSI er noe lik et eksponentielt glidende gjennomsnitt, men i stedet for gjennomsnittlig tidligere verdier ved hjelp av en fast prosentandel, bruker den en variabel prosent basert på RSI. where og n er RSI-perioden, dvs. en n-periode RSI. Money Flow holder en løpende summen av pengene som strømmer inn i og ut av et sikkerhetssystem. Pengemengdenes retning er den viktige komponenten å se, ikke den faktiske dollarbeløpet. Denne indikatoren kan brukes til å bekrefte underliggende styrke eller svakhet i en prisutvikling. Formelen for en n-periode pengestrøm er. Money Flow Prosent. Money Flow Prosent normaliserer pengestrøm beregningen ovenfor ved å dividere med det kumulative volumet for perioden Du kan endre perioder som brukes i beregningen fra standard av 14. Formelen for en n Periodens pengestrømprosent er. Utropsforhold - Åpent rente. Viser antall sett fordelt på antall anrop basert på åpen interesse for individuelle aksjer eller indekser. Forholdet brukes ofte som en motsatt markedsindikator som betyr at et høyt forhold kan være en hausseindikator, mens et lavt forhold ofte tolkes som en bearish indikator. The set call ratio studie kan vise PC Aktuell verdi, hvor hvert enkelt datapunkt representerer de raske putte dataene, eller PC SMA enkelt glidende gjennomsnitt gjennomsnittet av rådata over den valgte tidsperioden for studien. Tilgjengelig for daglige, ukentlige og månedlige diagrammer for valgbare verdipapirer. Relativ styrkeindeks. indikerer graden av positiv og negativ bevegelse av aksjen på en skala fra 0 svakeste til 100 sterkeste Bestemmet ved å finne forholdet mellom gjennomsnittlig opp lukker de siste 14 dagene med dagens dagens pris for den 15. dag dividert av summen av gjennomsnittlig opp lukker og gjennomsnittlig ned lukker for samme periode Dette forholdet blir multiplisert med 100 Du kan endre antall perioder som brukes i beregningen fra standard 14, og du kan velge hvilken gjennomsnittlig pris du vil basere studien på Lukk, Åpen, osv. fra studieinnstillingene. Den første v Alue av en n-periode RSI er basert på pris-handlingen for de første n-perioder Etterfølgende verdier bestemmes ved bruk av en induktiv formel, analog med EMA-formelen beskrevet tidligere. Formelen for den opprinnelige verdien til RSI er. der for alle. verdier av RSI bestemmes ved hjelp av formula. Average True Range. Measures en sikkerhets s volatilitet ved å gjennomsnittlig True Range over en tidsperiode du angir når du konfigurerer studiet True Range er den største av følgende. Den nåværende høye minus strømmen lav. Den absolutte verdien av den nåværende høye, mindre den forrige lukkede. Den absolutte verdien av den nåværende lave, mindre mindre forrige close. Customizable standard på 14 perioder. ATR-formelen er et eksponentielt gjennomsnitt av det sanne området True range tar hensyn til eventuelle gap up or down from the previous day as well as the high and low for the current day The formula is. where TR is the largest of the absolute values of High-Low , High-Yesterdays Close , and Yesterdays Close-Low. The Upper an d Lower lines are placed n-standard deviations above and below the Mid line simple moving average Since standard deviations are a measure of volatility, the bands widen during volatile price action and contract when volatility drops You can change the variables used in the calculation from the defaults of period 20 and n 2 standard deviations above and below. Rather than two bands that are always an equal percentage away from the central average, Bollinger Bands expand and contract based on the standard deviation of the historical volatility of the price action. The formulas for the upper and lower bands are. where m is the number of standard deviations and the formula for is. Implied Volatility Avg Calls Puts. The theoretical value in designed to represent the forecasted volatility of the security or index as determined by the prices of multiple call and put options using the Black-Scholes pricing model. Choose to view the Average of Puts Calls Avg , Average of Puts Puts , or Average of Cal ls Calls Also, choose whether to view actual implied volatility IV Actual or a simple moving average of implied volatility IV SMA Customizable default period for the IV SMA is 20.Implied Volatility studies are only available on daily, weekly, and monthly charts for optionable securities Implied Volatility values are computed using the Black-Scholes model and may not be available on all underlying securities The Schwab Avg Implied Volatility, Call - Implied Volatility, and Put - Implied Volatility, while based on the Robert E Whaley calculation, are derived using methods that may differ from those used by other data providers. The formula used in calculating this value is.2 in-the-money calls nearest to the current underlying price.2 in-the-money puts nearest to the current underlying price for the two nearest expiration months.2 out-of-the-money calls nearest to the current underlying price.2 out-of-the-money puts nearest to the current underlying price for the 2 nearest expiration mont hs 16.The formula used in calculating this value is.2 in-the-money calls puts nearest to the current underlying price for the two nearest expiration months.2 out of the money calls puts nearest to the current underlying price for the two nearest expiration months 8.Keltner Channels consist of two bands that are not equidistant from the EMA. Rather than two bands that are always an equal percentage away from the EMA, Keltner Channels expand and contract based on a moving average of the True Range TR. Customizable default of 20 periods, 10 ATR Average True Range Periods, and an ATR factor of 2.The formulas for the upper and lower bands are. where F is a factor. Use SSPro4 calculation StreetSmart Edge uses the modern calculation for Keltner Channels, which uses EMA rather than SMA as the signal line However, if you want Keltner Channels to continue using SMA as the signal line, check this box. True Range is the greatest of the following. The current high minus the current low. The absolute value of the current high less the previous close. The absolute value of the current low less the previous close. On Balance Volume OBV. This indicator relates volume to price changes by adding volume to a running total when the price closes up for a period, then subtracts the volume if the stock closes down for a period You can overlay the study on or underneath the price chart.

No comments:

Post a Comment