Variabel Bevegelse Gjennomsnittet Multicharts
EasyLanguage PowerLanguage Tutorial Lesson 02 Koding En Moving Average. Creating den første virkelige indikatoren og utvide grunnleggende. Etter at du har blitt kjent med PowerLanguage Editor i den forrige PowerLanguage-opplæringen leksjon 01, vil vi nå bygge opp på dette fundamentet. Hvis du ikke har lest siste leksjon, vil jeg foreslå å gjøre det første som det kan hjelpe deg med å forstå denne leksjonen, også La oss starte med dagens leksjon nå. Åpne PowerLanguage Editor og opprett en ny indikatorstudium. Jeg skal nevne min ABCPowerLanguage Lesson 02 Flytende Gjennomsnitt så jeg kan finne det lett i redaktøren min senere. Navnet er helt opp til deg selvfølgelig, og du kan til og med endre det senere. Som den siste delen av indikatornavnet antyder, vil vi lage og plotte et bevegelige gjennomsnittspunkt i dag. Du har sikkert sett et glidende gjennomsnitt på et diagram før eller husk begrepet gjennomsnitt fra matte Hovedbruken for gjennomsnitt er som et filter for å jevne dataene du skriver inn. Bildet viser en 200-periode enkel å flytte en Verage som gir et veldig jevnt utfall Ulempen til denne glattheten er at du introduserer mer lagring. Dette betyr at gjennomsnittet blir mindre responsivt for prisendringer. Hvis du ser på neste bilde, vil du se hvor forskjellig oppførselen til en 200-periode enkel Flytende gjennomsnitt er når du sammenligner det med det grønne 10-perioden gjennomsnittet Sistnevnte er mye raskere når det gjelder å reagere på prisendringer, men i sin tur er det mye mer støy i gjennomsnittet. Det er mange forskjellige typer gjennomsnitt som hovedsakelig varierer i effekten hvert datapunkt har på utfallet av gjennomsnittet A 200-periode simpel glidende gjennomsnitt vil bare beregne en summasjon av de siste 200 datapunktene og dele den med 200 Resultatet er et gjennomsnitt som gir hvert datapunkt samme innflytelse samme verdi på utfall Den første linjen og den siste linjen som er en del av gjennomsnittet, er begge vektet det samme for utfallet. To andre fremtredende og vanlig brukte gjennomsnitt er det eksponensielle flytende gjennomsnittet og vektet bevegelse g Gjennomsnitt Både har høyere vektfaktorer for de nyere datapunktene. I et vektet glidende gjennomsnitt vil vektingen reduseres i aritmetisk progresjon. For eksponentielt gjennomsnitt vil det reduseres eksponentielt, og dermed navnet Dette vil være så teoretisk som det vil komme for i dag Hvis du Ønsker du å lese noen flere detaljer om gjennomsnitt, kan du starte med denne Wikipedia-artikkelen. For videre forståelse av denne leksjonen vant du ikke å trenge denne tilleggsinformasjonen. La oss begynne med koding av vår gjennomsnitt Våre indikatorer skal ikke bare beregne et gjennomsnitt, men det burde output resultatet til et diagram EasyLanguage har plottet reservert ord for det, og vi vil bruke det til å gjøre det før du begynner med programmering noe det er alltid en god ide å ta et skritt tilbake og tenke på hva du prøver å oppnå og hvordan du skal gjøre det Da denne studien ikke er veldig kompleks, er det bare noen få ting å tenke gjennom. Når studier blir mer komplekse, kan du spare mye tid med god planlegging på forhånd. Målet er en studie som beregner og plotter et enkelt bevegelige gjennomsnitt. Vi ønsker å kunne endre lengden på gjennomsnittet med en inngang slik at det er enkelt å tilpasse. For gjennomsnittet må vi summere mengden av verdier som korrelerer til lengdeinngangen Vi ønsker ikke å skrive kode for hver mulig lengde som inngår for summen. Dette betyr at koden må kunne beregne alle mulige lengdeinnganger på egen hånd. Har du allerede en ide om hvordan vi kan oppnå dette. Svaret er at vi trenger en iterasjonserklæring som kan utføres gjentatte ganger hver linje for et bestemt antall ganger lengdenes inngang Jeg vet at dette høres komplisert, men det blir ganske enkelt. Vi vil bruke forløp for denne oppgaven. Denne sløyfen gjentar en eller flere setninger for et brukerdefinert, spesifikt antall iterasjoner EasyLanguage-kode utføres fra topp til bunn og vanligvis fra venstre til høyre Når en kode linje er utført, blir neste linje utført og så videre. Hvis kodelinjen er den begynnelsen av en sløyfe, vil kode linjene i sløyfen bli utført for den angitte mengden Bare når sløyfen er ferdig, neste kode linje etter at sløyfen er utført A for sløyfe ser ut og fungerer på følgende måte En numerisk variabel vil bli økt eller dekrementert med hver syklus gjennom sløyfen fra startverdien til sluttverdien Dette bildet viser en grunnleggende sløyfe med en numerisk tellervariabel ii i dette tilfellet og den opprinnelige verdien av 0 iterasjonene vil bli gjort ti ganger til telleren har nådd verdien av 9 Så blir loopblokken utført sist og avsluttet. Du må ikke øke motverdien selv. Løkkekoden tar vare på at Den nåværende tellerverdien vil bli lagret i tellervariabelen. Så du kan få tilgang til den for hver sløyfe syklus og bruk den til beregninger Dette vil komme til nytte for beregning av gjennomsnittet. For loop kan også redusere telleren med hver iterasjon. Den opprinnelige verdien i dette eksemplet er 9, men sløyfen er e xecuted ti ganger til den er avsluttet Også telleren minker bare med hver iterasjon av en til den når 0. I Easylanguage kan du referere datarelaterte reserverte ord, variabler og funksjoner fra en tidligere bar veldig enkelt. Bruk et tall i firkantede parenteser som følger det reserverte ordet, beregningen eller variabelen vil returnere verdien for denne bestemte linjen Tallet vokser fra den nåværende linjen som du refererer til. 0 i trinn på en Når du vil lagre verdien av den forrige linjen s nær i en variabel som heter PrevCloseValue, kan du gjøre det som dette. Vi vil bygge vårt gjennomsnitt ved å bruke Lukk for de siste X-linjene hvor X er en inngang til tillate mer fleksibilitet Du vet allerede at vi vil bruke en sløyfe for det, og vi har nettopp funnet ut hvordan vi kan referere Lukkverdier for de forrige stolpene Dette bør være nok til å skrive koden for hoveddelen av indikatoren. La oss fortsette med lage innspill og variabel seksjoner Du kan kanskje huske fra den siste leksjonen at bruk av meningsfulle variable navn er en god kodingspraksis og kan spare deg for mange problemer senere. Vi må deklarere ett innspill, slik at vi kan endre lengden for vårt gjennomsnitt på diagrammet I tillegg til at vi vil ha en variabel som inneholder summen, en for å holde motverdien og en siste for å lagre gjennomsnittsverdien. For å utføre verdien på diagrammet, vil vi bruke det reserverte ordet Plot Dette blir etterfulgt av et tall så du er i stand til å skille mellom forskjellige plott som er nødvendig som du kan bruke opptil 999 plott i Multicharts Plottet reservert ord kan ha flere parametere som farge, plottestørrelse og litt mer Vi vil holde det enkelt her og bruke Plot1 med bare to parametere den første for det numeriske uttrykket som skal tegnes og en andre for navnet vi vil tildele til plottet. Den endelige koden vil se slik ut. Etter at du har samlet denne koden, er vi nesten klare til å laste inn vår indikator til et diagram i Multicharts Let s bare ta en titt på egenskapene til indikatoren først Du kan finne dem under - File - Egenskaper eller ved å klikke på Egenskapssymbolet i menyen, bør det være det som er igjen for å kompilere under kategorien Stil, kan du endre farge linjen stil og tykkelse for plottet du opprettet Hvis du går til egenskapsfanen, er det flere alternativer for å sette eller sjekke, men for nå kan du bare kontrollere at alternativet Same As Symbol er merket Dette vil sørge for at indikatoren Ator brukes direkte på diagrammet ditt i stedet for et underkort. Nå er du klar til å bruke indikatoren til et diagram av ditt valg. Når du har et diagram åpent i hovedskjermbildet i Multicharts, kan du bare sette inn indikatoren til dette diagrammet. Når indikatoren er brukt utfallet skal lignes på skjermbildet ovenfor Men dette virker ikke som det ser ut som et glidende gjennomsnitts i det hele tatt Prisserien er nesten en flat linje og plottet som kommer fra vår indikator stiger bare Med E - Mini SP 500 ligger i området 1 800 a 10 bar glidende gjennomsnittsverdi for dette markedet på 1 952 647 er åpenbart ikke riktig Dette peker mot et problem i våre beregninger Har du en ide om hva koden mangler Det er egentlig bare en liten, men veldig viktig detalj vi glemte å legge til Vi må legge til noe foran forløpsløkken. Sløyfen fortsetter å legge til verdiene for de forrige ti linjene med hver ny linje. Dette er greit, og vi vil at det skal gjøre akkurat dette, men vi gjør det ikke nt det å legge til de nye verdiene til de gamle verdiene Med andre ord må du sørge for at CloseValueSum ikke holder de gamle verdiene når forløp starter. Ved å legge til en linje i koden, er resultatet akkurat det vi ønsket å oppnå. Vi kan også endre indikatorens utseende på diagrammet. Ved hjelp av stilkategorien under Format Studie kan vi endre det visuelle resultatet som linjestil, farge og tykkelse. Under Inputs-fanen finner du innspillet du opprettet og standardinnstillingen for lengden Ved lasting en annen forekomst av studien og bruk av en annen farge og lengde kan du bekrefte at studien gir et annet utfall med en annen lengdeinngang. Hvis du har problemer med å finne riktig løsning, er du velkommen til å kontakte oss med løsningen din, og vi vil prøve for å hjelpe deg i tide, er jeg redd for bare å spørre om at løsningen vant t arbeid, men du må i det minste kunne vise at du legger stor vekt på å finne løsningen, også. Som et siste hint kan du se på oth er gjennomsnittlige indikatorer eller funksjoner og finn litt inspirasjon for den manglende linken der jeg håper du likte denne Powerlanguage opplæringslesongen, og jeg gleder meg til å jobbe med deg i den neste. Kopier og lim inn koden ovenfor i utviklingsmiljøet ditt i Tradestation eller MultiCharts som indikator Klikk deretter på kompilere eller verifiser. Denne koden registrerer om sluttkursen i dag er større enn eller mindre enn sluttkursen for gårsdag. Dette kan settes på daglige diagrammer eller minuttdiagrammer, og nært 1 refererer til forrige linje eller tidligere dag. Hvis du skrev nær 2, ville det referere til de nært 2 dager eller stolper siden i stedet. Da har vi summen av siste lengde 20 bar. For å se hvordan det virker, kan du endre denne linjen med kode plot1 summove, up - downcount til denne plottet1 flytt, opp-nedtelling Så klikk kompilere. Du kan da se indikatorplottene en linje som er enten 1, -1 eller 0. Innskrivingene som er skrevet øverst representerer verdier som kan endres av brukeren når han plotterer indicato r på diagrammet Når du plotter indikatoren i sin opprinnelige form kan du endre lengden til 50 eller 20 eller 100 for å se hvordan det påvirker plottet. Variabler vises her som vars og disse er verdier jeg opprettet for å lagre verdiene som ble utført av de 3 linjene med kode starter hvis nær og summove variabelen. Summove summation move, lengde Dette betyr at variabel summove er opprettet fra å legge opp summen av de siste 20 barene eller lengde periodene med alle 1 og -1 og 0 verdiene. Du kan eksperimentere ved å spille rundt med forskjellige verdier. Konkurrenteksempel no2 Justerbar vektprosent blandet glidende gjennomsnitt. slow gjennomsnittlig lukk, lengde1 rask gjennomsnittlig lukk, lengde2.if verdi1 0 deretter verdi1 0 hvis verdi1 1 deretter verdi1 1.Du kan lese koden ovenfor først før du oppretter denne indikatoren, og se om du kan se hva den gjør. Det er to bevegelige gjennomsnitt som brukes med langsom lengde på 50 og en rask lengde på 20, inntastingsfaktoren er justerbar for å tilordne en vekting til hver enkelt. Hvis faktor er satt til 0 5 det vil legge til 50 av det langsomme gjennomsnittet til 50 av det raske gjennomsnittet og opprette et blandet gjennomsnitt av de to perioden. For å se maksimumverdier av den langsomme gjennomsnittlige settfaktoren til 1, for å se plottet som er bygget helt av det raskere gjennomsnittet, kan du stille faktor til 0. Du kan eksperimentere med verdier som 0 1 og 0 9 for å se påvirkningene av justeringer av vektingen. Hvis du bruker navnet verdi1 eller verdi2 eller verdi 99 som variabler, trenger du ikke å erklære navnene på disse på den øverste delen. Value2 1-faktor er en veldig fin måte å få 2 variabler til automatisk tilordne 1 av en del og 99 av den andre delen, slik at når de blir lagt til vil de alltid 100.Limit brukerfeilen ved å begrense innganger ved å gjøre variablene lest dem Koden for verdi1 gjør dette etter å ha lest faktorinngangen. Kode triks for å prøve. Hvis du ser på de langsomme og raske variablene, vil du se at de begge bruker gjennomsnittet, er denne koden et enkelt gjennomsnitt. Du kan prøve å gjøre det langsomme et veid gjennomsnitt eller et eksponentielt gjennomsnitt og blanding disse opp til å lage din egen blandede gjennomsnittlige kombinasjon. Regjeringseksempel no3 Enkel binær trend indicator. if gjennomsnittlig lukk, fastlengde gjennomsnittlig lukke, slowlength. then begynn binarytrend 1 end else binarytrend -1. Denne indictor bestemmer den binære trenden som betyr at den konverterer den til et tall Således opptrend 1 nedtrend -1 og den opprinnelige verdien er tildelt som 0. Hvis du plotter 80-glidende gjennomsnitt og 12-glidende gjennomsnittet på diagrammet, kan du sjekke at trendindikatoren virker. Bruk endte setninger for å redusere kode lengden EG over antar at hvis trenden ikke er 1, må den være -1.Kode triks for å prøve. Hvis du prøver å bruke en annen metode for å tildele trenden, er opp eller ned og erstatt koden med ideen din EG Du bruker stokastisk oscillator med over 50 er uptrend og under 50 er ned trend. lik 50 kan bli fanget ved å si dette hvis stokastisk er 50 da regne som uptrend psuedo code. eginners eksempel no4 enkel lengdejustering algoritme. if lukke høyest lukkede, basiclengt h eller lukk laveste lukk, basiclength. then begynn skjermmonitor 1 -1 end annet skjermmonitor 1 0 5.if monitor minlength deretter monitor minlength hvis skjerm makslength deretter overvåke maxlength. Dette er den første fasen av å lage en algoritme for å kontrollere lengden påført til en indikator. Du kan se at hvis du plotter denne indikatoren i undergraf 2, ligger det mellom 50 og 10 som er tillatt for maks og min lengde. Men disse er justerbare innganger. Hvis prisen gjør en ny høy eller lav for basislengdeperioden det vil sakte med 1 lengde økning for hver linje som tilstanden er sant. Hvis prisen ikke lager en ny høy eller lav i samme periode, vil den redusere lengden med 0 5 lengde inkrement for hver bar, forutsetningen er sann. Code tricks for å prøve. Hvis du prøver å endre verdiene på -1 og 0 5 til større eller mindre beløp, kan du stille inn det slik at det passer dine krav. Deretter skal jeg vise deg hvordan du bygger denne koden i en lengdeforskjellindikator. Enkel lengdejustering veier ted moving average. if lukk høyeste lukk, grunnlengde eller lukk laveste lukk, basiclength. then begynn skjermmonitor 1 -1 slutten annet skjermmonitor 1 0 5.if monitor minlength deretter monitor minlength hvis skjerm makslengden deretter overvåke makslengden. Du kan se at en annen variabel er lagt til som er et vektet glidende gjennomsnitt og knepene her er å erstatte det vanlige feltet med lengden med algoritmmonitoren som justerer lengden som brukes. Kode triks for å prøve. Hvis du plotter et 20-års vektet gjennomsnitt ved siden av det på undergrafen en Du kan se hvordan koden over lengden endrer gjennomsnittet, er langsommere i noen periode og raskere i andre perioder. Ovenstående indikator er plass i subgraph no1 overlagt med prisen Eksempelkode no4 er plassert i del 2. Du kan observere lengden endringsalgoritme i aksjon og se hvordan det påvirker hastigheten til det veide gjennomsnittet. Grunnere eksempel nr6 Hvordan hindre divisjonen med null feil. Divisjon ved null er et hyppig problem opplevd i programmeringen Answ er er alltid uendelig, så vi må forhindre at noe blir delt med null i første omgang. Det er to metoder for å gjøre dette. Hvis verdi1 0 så verdier1 verdi1 0 0000000001.Så vi bare legger til et lite nummer til det, hvilket er så lille det vil ikke gjøre for mye forskjell til outputs. If value1 0 then value2 value3 value1.This tvinger datamaskinen til å spørre om verdien1 er 0 eller ikke før gjør sine beregninger Hvis det er 0 returnerer det standardverdien som ble tildelt å verdsette1 i variablene når du opprettet it. Beginners eksempel no7 Slik bruker du Fisher Transform. Variable Moving Average. Variabel Moving Gjennomsnittlig studie lar deg bli veldig kreativ med de bevegelige gjennomsnittene Tre glidende gjennomsnitt blir brukt normal, eksponentiell og glatt. Periode1 For normal flytende gjennomsnitt, antall barer i et diagram Hvis diagrammet viser daglige data, angir perioden dager i ukentlige diagrammer, vil perioden stå i uker, og så videre. Programmet bruker en standard på 10.Period2 For Expone ntial Moving Average, antall barer i et diagram Hvis diagrammet viser daglige data, angir perioden dager i ukentlige diagrammer, vil perioden stå i uker, og så videre. Programmet bruker en standard på 10.Period3 For den glatte flyttende gjennomsnitt , antall barer i et diagram Hvis diagrammet viser daglige data, angir perioden dager i ukentlige diagrammer, vil perioden stå i uker, og så videre. Programmet bruker en standard på 10.Aspect The Symbol-feltet som studien vil Beregnes Feltet er satt til Standard, som når det vises et diagram for et bestemt symbol, er det samme som Close. Moving Averages er et av de mest brukte tekniske verktøyene. De følger trenden, jevner de vanlige svingningene i dataene, og klart signal lange og korte stillinger til investor. A Moving Average kan vises som et normalt crossover trading system når du velger opptil tre forskjellige gjennomsnitt. De fleste investorer og karting tjenester bruker tre bevegelige gjennomsnitt. Deres lengder er vanligvis consi Stort kort, middels og langsiktig Et vanlig brukt system er 4, 9 og 18 intervaller. Et intervall kan være flått, minutter, dager, uker eller til og med måneder det avhenger av diagrammet. signaler er som følger. Et kjøpsignal blinker når de korte og mellomliggende gjennomsnittene krysser fra under til over lengre sikt-gjennomsnitt. Omvendt blir et selgesignal utstedt når de korte og mellomliggende siktene går over fra under til lengre sikt gjennomsnitt . En annen tilnærming er å bruke sluttkurs med det bevegelige gjennomsnittet. Når sluttkursen er over det bevegelige gjennomsnittet s, opprettholder du en lang posisjon. Hvis sluttkursen faller under det glidende gjennomsnittet, likner du en lang posisjon og etablerer en kort posisjon. Husk at ethvert glidende gjennomsnittssystem fungerer best i trending markets. Content Source FutureSource. View Andre Tekniske Analyser Studies. Primary Sidebar. Latest Tweets. Market Alert Det er fortsatt tid til å dra nytte av våre handelsrekorder i n natgas Se vår spesielle rapport her Tid siden 16 timer via buffer. Les om å bruke CFRN-indikatorer i en LIVE markedsinnstilling i morgen s webinar-arrangement Registrer deg Tid siden 17 timer via buffer. Vil du vite hva du skal se etter i råvaremarkedene Ta en lytte til Turner s Take Podcast Tid siden 23 timer via Twitter Web Client. Copyright 2017 Daniels Trading Alle rettigheter reservert. Dette materialet blir formidlet som en oppfordring for å inngå en derivat transaksjon. Dette materialet er utarbeidet av en Daniels Trading megler som gir forskningsmarkedskommentarer og handelsrekommendasjoner som en del av hans eller hennes henvendelse til regnskap og henvendelse til bransjer, men ikke Daniels Trading opprettholder en forskningsavdeling som definert i CFTC Rule 1 71 Daniels Trading, dets hovedpersoner, meglere og ansatte kan handle i derivater for deres egne kontoer eller for andres kontoer på grunn av ulike faktorer som risikotoleranse, marginkrav, handelsmål, kort sikt vs lang langsiktige strategier, tekniske vs grunnleggende markedsanalyse og andre faktorer, slik handel kan føre til initiering eller likvidasjon av stillinger som er forskjellig fra eller i strid med de meninger og anbefalinger som er inkludert. Forkastningsresultater er ikke nødvendigvis indikative for fremtidig ytelse. Risikoen for tap i handel futures kontrakter eller råvare alternativer kan være betydelig og derfor bør investorer forstå risikoen involvert i å ta leveraged posisjoner og må ta ansvar for risikoen forbundet med slike investeringer og for deres resultater. Du bør nøye vurdere om slik handel passer for deg i lys av omstendighetene og økonomiske ressursene Du bør lese nettsiden for risikoproduksjon som er tilgjengelig på nederst på hjemmesiden. Daniels Trading er ikke tilknyttet eller støtter heller ikke noe handelssystem, nyhetsbrev eller annen lignende tjeneste. Daniels Trading garanterer ikke eller verifiserer noen ytelseskrav fra slike systemer eller tjeneste.
Comments
Post a Comment