Friday 3 November 2017

Moving Gjennomsnittet Afl


Fig. 1. Åpent prisarrangement Enhver annen matris beregnes ut fra disse 6 arrays ved hjelp av formler innbygget i AFL. Disse arrayene lagres ikke i databasen, men beregnes der det er nødvendig. Hver enkelt verdi i en matrise har en dato knyttet til den. Hvis du har verktøytipsalternativet slått på (Preferences - gt Diverse Tab - gt Tips for tips om datatips), når du flytter markøren over lys på et daglig lysdiagram, vises et lite gult rektangel. AFL ser da opp de åpne, lave, høye, lukkede, volumverdiene i riktig matrise og viser dem inne i verktøytipset. Behandlingsarrayer - hvorfor er AFL så fort? Leter du se hvordan følgende setning behandles: MyVariable (High Low) 2 Når AFL evaluerer setningen som denne (High Low) 2, trenger den ikke å tolke denne koden for hver linje. I stedet tar det High ARRAY og Low ARRAY og legger til tilsvarende arrayelementer i enkelt trinn. Med andre ord operatør (og andre operatører også) arbeider med arrayer samtidig, og den utføres med full kompilert kodehastighet, så blir den resulterende arrayen (hvert element av den) delt med 2 også i en enkelt fase. Ser på detaljer - se fig. 2. Når AFL-motoren ser på (High Low) 2, tar den først High (1) og Low (2) arrayer og produserer (i enkeltkompilert trinn) midlertidig rekkefølge (3). Da skaper den det endelige matrisen (4) ved å dele hvert element av midlertidig matrise med to. Dette resultatet er tilordnet myVariable Fig 2. AFL-trinn ved behandling (High Low) 2 Flytte gjennomsnitt, betingede setninger La oss nå vurdere følgende kode: Cond1 Close gt MA (Lukk, 3) Cond2 Volum gt Ref (Volum, -1) Kjøp Cond1 og Cond2 Selg High gt 1.30 Denne koden genererer et kjøpssignal når dagens lukk er høyere enn 3 dagers glidende gjennomsnitt på nært og dagens volum er høyere enn i gårdens volum. Det genererer også et salgssignal når dagens høy er høyere enn 1,30. Hvis du er i AFL-koden, må du se om sluttkursen er større enn å si at et 3-dagers enkeltflytende gjennomsnittlig AFL først vil løpe gjennom det nærliggende området, og opprette et nytt array som kalles MA (nær 3) for symbolet som analyseres. Hver celle i den nye gruppen kan da sammenlignes en for en i nærområdet. I eksemplet opprettes en gruppe som heter Cond1 på denne måten. For hver celle der sluttkursen er større enn tilsvarende celleverdi i MA (lukk 3), settes celleverdien for nytt array Cond1 til 1. Hvis sluttkursen ikke er større enn den tilsvarende prisen i nært rekkefølge, er verdien i Cond1 er satt til 0. AFL kan også se fremover eller bakover et antall celler i en matrise ved hjelp av Ref-funksjonen (se rad 6 hvor midlertidig matrise er opprettet som holder forrige dagsvolum) I rad 9 er det opprettet en ny gruppe kalt Cond2 ved å sammenligne verdien av hver celle i volumarrangementet med sin tidligere celleinnstilling, Cond2-celleverdien til 1 hvis sant og 0 hvis det er feil. Rad 10 viser en matrise kalt Kjøp opprettet ved å sammenligne celleverdiene i Cond1 med celleverdiene i Cond2. Hvis cellen i Cond1 har en 1 OG så plasseres den tilsvarende cellen i Cond2, da en 1 plasseres i Kjøp-array-cellen. Rute 11 viser en rekkevidde som kalles Selg opprettet når celleverdien i nærområdet er større enn 1,30. Åpenbart kjøp og salg er spesielle arrays hvis resultater kan vises i Analyzer-vinduet eller på skjermen ved hjelp av en rød eller grønn verdi etter behov. Bli litt mer kompleks Eksemplene ovenfor var veldig enkle. Nå skal jeg bare forklare 3 ting som synes å generere forvirring blant brukerne: referere til valgte verdier (SelectedValue, BeginValue, EndValue, LastValue) IIF-funksjon AMA-funksjon Som skrevet i opplæringen: Grunnleggende kartleggingsguide kan du velge et hvilket som helst sitat fra diagrammet og du kan markere fra-til-området. Linjen valgt av verticall-linjen kalles quotselectedquot-bar mens start - og sluttlinjene i intervallet kalles quotbeginquot og quotendquot-barer. AFL har spesielle funksjoner som tillater referanseverdien av arrayet på henholdsvis valgt, start og sluttlinje. Disse funksjonene kalles SelectedValue, BeginValue og EndValue. Det er en funksjon som heter LastValue som gjør det mulig å få verdien av arrayen i den siste linjen. Disse fire funksjonene tar arrayelementet i gitt bar og returnerer ENKELT NUMBER som representerer verdien av arrayet på gitt punkt. Dette gjør det mulig å beregne litt statistikk for utvalgte punkter. For eksempel: EndValue (Close) - BeginValue (Close) Gir deg dollarendring mellom lukkede priser i valgt fra-til-utvalg. Når tall som hentes av noen av disse funksjonene, sammenlignes med en matrise eller en annen aritmetisk operasjon som involverer nummer, og arrayet utføres, virker det som tallet spannet over alle arrayelementene. Dette er illustrert i tabellen under (rad 2, 6, 7). Grønne fargemerker quotbeginquot bar og rød farge merker quotendquot bar. Utvalgte linjer er merket med blå. Nå er funksjonen IIF (tilstand, truepart, falsepart). Det fungerer som det returnerer verdien av andre (truepart) eller tredje (falsepart) argumentet, avhengig av tilstanden. Som du ser i tabellen over i rad 8, kommer verdiene fra Lukk array (truepart) for barer når tilstanden er sant (1) og kommer fra Open array (falsepart) for de resterende linjene. I så fall består arrayet som returneres av IIF-funksjonen av noen verdier fra Lukk og noen verdier fra Open array. Merk at både truepart og falsepart er arrayer og de evalueres uavhengig av tilstanden (så dette er ikke en vanlig IF-THEN-ELSE setning, men funksjon som returnerer array) Funksjonen AMA (array, factor) synes å forårsake de fleste problemer med forstå det. Men faktisk er det veldig enkelt. Det fungerer på rekursiv måte. Det betyr at den bruker sin tidligere verdi for beregning av nåværende verdi. Den behandler array bar ved bar, med hvert trinn det multipliserer gitt cellen av første argumentet (array) ved gitt celle av andre argument (faktor) og legger den til forrige verdi av AMA multiplisert med (1-faktor). La oss se på kolonne 3. Verdien av AMA i kolonne 3 er gitt ved å multiplisere nær pris fra kolonne 3 (1,23) med faktor (0,4). Så legger vi til forrige verdi av AMA (1,0363) multiplisert med (1-faktor 0,6). Resultatet (avrundet til 4 steder) er 1,23 0,4 1,0363 0,6 1,1138. Hvis du ser på tallene i rad 12, kan du merke at disse verdiene ser ut som et glidende gjennomsnitt på nært hold. Og det er sant. Vi presenterte faktisk hvordan du beregner variabel periode eksponensiell glidende gjennomsnitt ved hjelp av AMA-funksjon. Med versjon 4.40 gir AmiBroker muligheten til å iterere gjennom anførselstegn ved å bruke for og mens sløyfer og legger til om-ellers strømningsregulering. Disse forbedringene gjør det mulig å jobbe på begge måter: Bruk ARRAY-behandling (beskrevet ovenfor) for hastighet og enkelhet, eller bruk LOOPS for å gjøre komplekse ting. Som et eksempel, hvordan du implementerer variabel periode eksponentiell gjennomsnittlig (beskrevet ovenfor) ved hjelp av looping, se følgende kode: Periode. noen beregning vaexp 0 Lukk 0 initialiser først verdi for (i 1 i lt BarCount i) beregne verdien av utjevningsfaktor Faktor 2 (Periode i 1) beregner verdien av det første elementet i array ved hjelp av denne linjen nære (lukk i) og forrige gjennomsnittlige verdi (vaexp i - 1) vaexp i Faktor Lukk jeg (1 - Faktor) vaexp i - 1 Som du kan se koden er lengre, men på den annen side er det veldig lik alle andre programmeringsspråk som CPascalBasic. Så folk med litt erfaring med programmering kan finne det lettere å forstå. Hvis du er nybegynner foreslår jeg å lære matbehandling først før du graver inn i mer komplekse looping ting. Hvis du har problemer med å kode AFL, foreslår jeg at du genererer arrays i eksemplet i Excel for deg selv. Hvis det er et problem, få litt hjelp fra en venn - spesielt hvis den vennen er en regnskapsfører. Når du har fått tak i det, kan du kode et hvilket som helst system fra en bok om handel - eller bygge en selv. --- Spesiell takk til Geoff Mulhall for originalartikkel i nyhetsbrevet som var grunnlaget for denne opplæringen --- Aflac, Inc. er et allmennaksjeselskap og fungerer som et forvaltningsselskap som fører tilsyn med driften av sine datterselskaper ved å gi ledelsen tjenester og gjøre kapital tilgjengelig. Det opererer gjennom to segmenter: Aflac Japan og Aflac USA Avlac Japan-segmentet gir dødsfordeler og overføringsverdier, WAYS-produkt, har funksjoner som tillater forsikringstakere å konvertere en del av deres livsforsikring til medisinsk pleie, pleie eller fast livrente fordeler ved et forutbestemt alder og barnegodtgjørelsesprodukt. Det selger også frivillige tilleggsforsikringsprodukter, inkludert kreftplaner, generelle medisinske erstatningsplaner, sykepleiere, omsorgsplaner, livsforsikringsplaner, ordinære livsforsikringsplaner og livrenter. Aflac US-segmentet selger frivillige tilleggsforsikringsprodukter, inkludert produkter som er utformet for å beskytte enkeltpersoner mot uttømming av eiendeler og inntektsinntekter. Selskapet ble grunnlagt av John Amos, Daniel Paul Amos og William Amos 17. november 1955 og har hovedkontor i Columbus, GA. Bransje: Ulykkesforsikring Helseforsikring Land: USA Form 10-K Arkivert: 24. februar, 2017 Aflac savner inntektsrammer - men vil ikke gå til syne med stort bilde 020217 Sure Utbytte Aflac39s (AFL) administrerende direktør, Dan Amos på 4. kvartal 2016 Resultater - Inntjening Call Transcript 020117 SA Transcripts Aflac lavere med 3 etter inntjening savner 020117 SA Editor Stephen Alpher SA Redaktør Stephen Alpher Q4 operativ EPS på 1,54 sammenlignet med 1,56 ett år tidligere. Forventningene var for 1,59. Den sterkere dollaryen økte driftsresultatet med 0,08 i år. 4. kvartal tilbakekjøp på 2,8 M aksjer for 200 M. Hele året tilbakekjøp av 21,6M aksjer for 1,4B. En annen 26,8 millioner aksjer forblir i autorisasjon. Driftsrente på 15,6 i fjerde kvartal, eller 13,7 eksklusive valutaeffekter. Rente på helåret med 17,3, eksklusive valutaeffekter. Hele 2017-veiledningen er uendret med EPS på 6,40-6,65, med utgangspunkt i gjennomsnittlig dollar på yen108,70. Selskapet forventer å kjøpe tilbake 1,3B-1,5B på lager i år. Tidligere: AFLAC savner med 0,09, slår på inntekt (31. januar) AFL -3,25 til 67,71 Form 8-K Arkivert: 31. januar 2017 013117 SEC Filings AFLAC erklærer 0,43 utbytte 013117 SA Editor 1 AFLAC (NYSE: AFL) erklærer 0.43share kvartalsvis utbytte. i tråd med tidligere. Forward yield 2,46 Betalbar 1. mars for aksjonærer i rekord 15 februar ex-div 13. februar. AFLAC savner med 0,09, slår på inntekter 013117 SA-redaktør Gaurav Batavia SA redaktør Gaurav Batavia Hundredusen dollar inntektsportefølje - januar oppdatering 011017 Verdiporteføljen Verdiportefølje Jeg har fortsatt å jobbe mot mine mål for inntektsporteføljen for hundre tusen dollar. Samtidig har jeg jobbet for å snu porteføljen mot sikrere utbytte aristokrater. I den siste måneden solgte jeg mine investeringer i Pimco Strategic Income Fund og Pimco High Income Fund. Disse er begge lukkede midler som har gått ned. Jeg har valgt å investere i Aflac, en utbytte aristokrat med en PE-forhold betydelig under markedsgjenomsnittet. Aflac har vært forpliktet til aksjonærer i årevis. Form 8-K Arkivert: 6. januar 2017 010617 SEC Arkiveringer Aflac: For høyt gitt japansk forankring Avlac nylig omtalt sine planer om å håndtere en svak yen og dårlig avkastning på JGB. Aflac har en god historie med utbytteøkning og til riktig pris vil det bli en god investeringspartner. Den nåværende markedsprisen er for høy med tanke på at Aflac-ansikter er i topp. Aflac39s 2017 Utbytte forklart i to diagrammer 121616 John Rhodes Aflac er en utbyttemester med over 30 år med voksende utbytte. Selskapet tilbyr flatt til nedadgående inntjeningsveiledning for 2017, noe som vil undertrykke utbytteveksten. Med svak inntjening og lav utbyttevekst vil Aflacs totale avkastning være mild, men stabil, sannsynlig i 7-8-serien fremover. RBC anbefaler flytting fra PampC til livsforsikringsselskapene Lincoln National en toppvalg 120916 SA-redaktør Stephen Alpher SA Redaktør Stephen Alpher Et bedre utsikter for rentenivået (høyere) og håp om en lettelse av DOLs nye fidusiære regel i en Trump-administrasjon betyr sin tid å skifte penger inn i livsforsikringssektoren, sier RBC Mark Dwelle. PampC-forsikringsselskapene står overfor svake prisforventninger, så fokuset vil være på ulykkesårsmargintrykk og konsekvensene for reserver. Sammen med en tidligere rapportert nedgradering av Aflac (NYSE: AFL) til Underperform (lager er nå ned 2,3), kutter han RLI Corp. (RLI -5.2) til Underperform også. Nedgradert til sektor Utfør er Unum (UNM -1.6) og Selektiv Forsikring (SIGI -4.6). Favorittvalg i PampC er Chubb (CB -0.2) som en toppkonsulent uansett prising, og har en ren balanse og attraktiv verdsettelse. Oppgradert til Outperform er Hartford (HIG 0.5) og Lincoln National (LNC -0.1), med LNC et toppvalg takket være sin innflytelse til høyere priser og lettet DOL-regel. Ideer med høyeste verdi er AIG (AIG -0.1) og Voya Financial (VOYA 0.5). Topp vekstideer: Arch (ACGL 0.6), Hovedfinansiert (PFG -1.1). Topp små cap-aksjer: American Equity (AEL 3.9), Kinsale Capital (KNSL 1.1). Mest populære turnaround-help-valg: MetLife (MET -0.6), XL Group (XL -0.1). Topp defensiv spill: Marsh amp McLennan (MMC). Kilde: Bloomberg Aflac kuttet til underprester på RBC Capital 120916 SA Redaktør Stephen Alpher SA Redaktør Stephen Alpher Analytiker Mark Dwelle forventer at 2017 amerikanske salg kommer inn i den nedre enden av veiledning på grunn av Obamacare-usikkerhet og omstilling av salgsstyrken. Aflac (NYSE: AFL), sier han, forventer også å øke IT-investeringer og endre investeringsstrategi. Forsikringsselskapet er blant de minst følsomme for renten blant aksjene i sitt dekningsunivers, sier Dwelle. Pris målet er kuttet til 65 fra 72. Siste natt var nær 69,62. Kilde: TheFly Aflac: Investeringsavkastning under alvorlig press 120816 Tom Armistead Aflacs underskuddsfortjeneste er forutsigbar og stabil. Etter hvert som investeringer utløper og pengene reinvesteres, går utbyttene ned fra 3 til 1,5. Selskapet finner ALM (eiendomsansvarlig samsvarende) å være vanskelig i dagens miljø. Sikring av valutakurser viser seg vanskelig, og stabilitet blir et problem. Det vanskelige investeringsklimaet for japanske obligasjoner gjør Aflac usammenhengende, selv ved dagens lave PE. Aflac39s (AFL) daglig leder Daniel Amos i 2017 Outlook Konferansesamtale (Transcript) 120216 SA Transcripts Aflac Illustrerer hvordan Fundamentals Generally Win Out Til slutt 112816 Justin Pope Aflac har ikke gjenopprunnet til historiske verdsettelser fra før quotThe Great Recessionquot. Til tross for to store makroøkonomiske headwinds har inntjeningen fortsatt å vokse over tid. Aflac er primet for å akselerere avkastning da disse headwinds fade. Aflac er et solid kjøp for langsiktige investorer, som søker et pålitelig voksende utbytte. Månedlig gjennomgang av DivGro: Oktober 2016 Jeg vurderer porteføljen av utbyttevekstbeholdninger hver måned, oppsummerer transaksjoner, utbytte, utbytteendringer og porteføljeprestasjoner. I oktober lukkede en annen stilling til fordel for eller avrunding antall aksjer i en annen stilling til et flertall på 100 aksjer, fordi jeg vil handle dekket samtaler. Jeg samle utbytteinntekter fra 15 aksjer denne måneden og økte den inntekten med opsjonspremieinntekter på flere bransjer. Form 10-Q Arkivert: 4. november 2016AFL er et spesielt programmeringsspråk som brukes til å definere og lage tilpassede indikatorer, skanninger, utforskninger, tilbakemeldinger og gurukommentarer. Lexiske elementer Dette kapittelet beskriver de forskjellige kategoriene av ordlignende enheter (tokens) som er anerkjent av AFL-tolkeren. Whitespace Whitespace er det kollektive navnet som er gitt til mellomrom (blanks), faner, nye linjetegn og kommentarer. Whitespace kan tjene til å indikere hvor tokens starter og slutter, men utover denne funksjonen blir ethvert overskudd av hvitt plass kassert. Kommentarer er tekststykker som brukes til å annotere et program. Kommentarer er for programmene bruker bare de er fjernet fra kildekoden før parsing. Det er to måter å avgrense kommentarer: C-lignende kommentarer og C som kommentarer. En C-lignende kommentar er en hvilken som helst sekvens av tegn plassert etter symbolparet. Kommentaren avsluttes ved første forekomst av paret etter den første. Hele sekvensen, inkludert de fire kommentaravgrensningssymbolene, erstattes av ett mellomrom. En C-lignende kommentar er single-line kommentarer som begynner med å bruke to tilstøtende skråstreker () i en hvilken som helst posisjon innenfor linjen og strekker seg til neste nye linje. AFL tillater ikke nestede kommentarer. AFL gjenkjenner fem klasser av tokens: identifikatorer konstanter streng-bokstavsoperatører punktuatorer (også kjent som separatorer) Identifikatorer er vilkårlig navn av hvilken som helst lengde gitt til funksjoner og variabler. Identifikatorer kan inneholde bokstavene (a-z, A-Z), underskriftstegnet (kvot) og tallene (0-9). Det første tegnet må være et brev. AFL-identifikatorer er IKKE saksfølsomme. Konstanter er tokens som representerer faste numeriske eller tegnverdier. Numeriske konstanter består av desimal heltall og valgfritt: desimalpunkt og desimalfraksjon del. Negative numeriske konstanter har unary minus (-) prefixed. Stringkonstanter, også kjent som strengstavler. danner en spesiell kategori av konstanter som brukes til å håndtere faste sekvenser av tegn og er skrevet som en sekvens av et hvilket som helst antall tegn omgitt av dobbelte sitater: quot Dette er bokstavelig talt en strengquot null (tom) strengen er skrevet kvotot. Tegnene i de dobbelte sitatene kan inneholde fluktsekvenser (quotnquot - en ny linjeavviksekvens). Et konstant uttrykk er et uttrykk som alltid vurderer til en konstant. De evalueres akkurat som vanlige uttrykk er. Punctuator (også kjent som separator) i AFL er en av følgende tegn: (). . Parenteser (åpne (og lukk)) gruppetrykk, isolere betingede uttrykk og indikere funksjonssamtaler og funksjonsparametere: dc (ab) overstyre normal prioritet a (b OG c) ELLER (d OG e) betingelsesuttrykk funk () funksjonskall ingen argumenter Komma (,) separerer elementene i en funksjonsargumentliste Semikolonen () er en setningsterminator. Ethvert juridisk AFL-uttrykk etterfulgt av et semikolon tolkes som en uttalelse, kjent som uttrykserklæring. Ekspresjonen er evaluert og verdien er bortkastet (unntatt Guru kommentarer hvor strengverdier er skrevet til utgangsvinduet) Dot (.) Er en medlems tilgangsoperatør. Det pleier å kalle COM-objektmetoder. Hvis myobj-variabelen holder objektet, kan vi ved hjelp av dotoperatør kalle metodene (funksjoner) for myobj-objektet: Like-tegnet () skiller variabla deklarasjoner fra initialiseringslister: x 5 Det angir også standardverdien for en parameter (se innebygd funksjonsbeskrivelse): macd (fast 12 sakte 26) standardverdier for raske og sakte argumenter) Språkstruktur Hver formel i AFL inneholder ett eller flere uttryksoppsett. Hver setning må avsluttes med semikolon (). På denne måten kan du spre lange uttrykk i flere fysiske linjer (for å få klarhet), og AmiBroker vil fremdeles behandle den som en enkelt setning til terminering av semikolon. Eksempler: Identifiseringsidentifikatorer i AFL brukes til å identifisere variabler og funksjoner. Det er noen forhåndsdefinerte identifikatorer som refererer til innebygde arrays og funksjoner. Det viktigste er prismatriseidentifikatorer. De identifiserer spesifikke prisfelt som formelen skal fungere på. De gyldige prisarrangørene er åpne. høyt. lavt. Lukk . volum. openint. gjennomsnitt . Prismatriseidentifikatorer kan forkortes som vist i tabellen nedenfor. Vær oppmerksom på at disse ikke er saksspesifikke. Oppbevar verdien av den andre operand i objektet som er oppgitt av den første operand (8220simple assignment8221). Oppdragsoperatøren tilordner en verdi til en variabel: hvor resultatet er variabelidentifikator og uttrykket er et tall, et array eller et tekstuttrykk. Som operatøren oppfører seg som andre operatører, har uttrykk som bruker den en verdi i tillegg til å tildele denne verdien til variabel. Dette betyr at du kan kjede oppdragsoperatører som følger: j k l 0 j, k og l ligner null etter at eksempeldatabelen er utført. Oppmerksomhet: Vennligst ikke forveksle oppdragsoperatør () med likestillingskontroll () Dette er to forskjellige operatører, og du må ikke bruke oppgave () for å kontrollere likestilling. hvis (Navn () quotMSFTquot) Feil. - variabel oppgaveoperatør brukt i stedet for likestillingskontroll hvis (Navn () quotMSFTquot) KORREKT - Likestillingsoperatør brukes riktig Dette er en av de vanlige kodingsfeilene som er oppført her. Aritmetiske operatører Formler kan inneholde følgende matematiske operatører: Hent bitwise inkluderende OR av den første og andre operand-butikken resultatet i objektet som er oppgitt av den første operand typeof () operatøren. Operatør typen brukes på følgende måte: typeof (operand) Typeof-operatøren returnerer en streng som indikerer typen av den uevurderte operand. operand er strengen, variabel, funksjonsidentifikator eller objekt som typen skal returneres til. Ved levering av identifikator, skal den leveres alene, uten aritmetiske operatører, uten ekstra argumenter og uten bånd. Hvis du vil sjekke typen verdi returnert av funksjonen, må du først tildele returverdien til en variabel og deretter bruke typeof (variabel). Mulige returverdier er: quotundefinedquot - identifikator er ikke definert quotnumberquot - operand representerer et tall (skalar) quotarrayquot - operand representerer en array quotstringquot - operand representerer en streng quotfunctionquot - operand er en innebygd funksjonsidentifikator citerer funksjonquot - operand er en bruker - definert funksjon quotobjectquot - operand representerer COM objekt quotmemberquot - operand representerer medlemsfunksjon eller egenskap av COM objekt quothandlequot - operand representerer Windows handle quotunknownquot - type operand er ukjent (skal ikke skje) typeof operatør tillater blant annet å oppdage udefinerte variabler i følgende vei hvis (typeof (somevar) undefined) når somevar er undefined koden her vil kjøres Følgende eksempel COMMENTARY kode viser utgangen av typeof () i noen vanlige situasjoner: x MACD () y LastValue (x) funksjon testfun printf (typeof (test) n) undefined variable printf (typeof (1) n) tent eral number printf (typeof (kontroll) n) bokstavlig streng printf (typeof (x) n) array variabel printf (typeof (y) n) skalar variabel printf (typeof (MACD) n) funksjonsidentifikator printf (typeof (testfun) n) Brukerfunksjonsidentifikator Operatørforrang og parentes AFL støtter parenteser i formler. Parenteser kan brukes til å kontrollere operasjonspreferansen (rekkefølgen som operatørene beregnes i). AmiBroker gjør alltid operasjoner innenfor de innerste parentesene først. Når parentes ikke er brukt, er forrangen som følger: (uten parentes): (uten parentes) beregnes av AmiBroker som kvot 2quot pluss quotHquot, siden divisjon har høyere prioritet. Dette ville resultere i en mye annen verdi enn noen få ord om incrementdecrement operatører. Det er to typer av dem: postfiks og prefiks. De unary operatørene (og -) kalles for å øke eller redusere operatørene 8220prefix8221 når operatørene for økning eller reduksjon vises før operand. Postfix-økning og reduksjon har høyere forrang enn prefiksøkning og reduksjon av operatører. Når operatøren vises før operand, økes operansen eller dekrementeres, og den nye verdien er resultatet av uttrykket. j jeg vil bli økt først og resultatet (nummer 6) vil bli tildelt j. Resultatet av postfix-inkrement - eller dekrementoperasjonen er verdien av postfix-uttrykket før innstignings - eller dekningsoperatøren blir brukt. Resultatet er det samme som for postfix-uttrykket, men er ikke lenger en l-verdi. Etter at resultatet er oppnådd, økes operasjonsverdien (eller reduseres). du vil bli tildelt verdien av 5 (før inkrementering) og da vil jeg bli økt til 6. Å få tilgang til arrayelementer: - subscriptoperatør En arrayidentifikator etterfulgt av et uttrykk i firkantede parenteser () er en abonnert representasjon av et element i en rekke gjenstand. Den representerer verdien av uttrykks-elementet i array. BarCount-konstant gir antall barer i rekkefølge (for eksempel Lukk, Høy, Lav, Åpen, Volum, osv.). Arrayelementer er nummerert fra 0 (null) til BarCount-1. BarCount endres IKKE så lenge formelen fortsetter å bli utført, men det kan endres mellom henrettelser når nye barer blir lagt til, zoomfaktoren endres eller symbolet endres. For å få den første linjen kan du bruke array 0, for å få den siste linjen av array du kan bruke array BarCount - 1 Close 5 Representerer det sjette elementet (baren) i nærmenyen. Lukk 0 Representerer den aller første tilgjengelige linjen i nærbildet. Høy BarCount - 1 Representerer den siste linjen i High array. Matriser og Matrix-operatører Matriser er todimensjonale tallskalaer. For å lage en matrisebruk: myvarname Matrix (rader, kols, initvalue) For å få tilgang til matrikselementer, bruk: myvarname rad kol hvor rad er en radindeks (0. antall rader-1) og col er en kolonneindeks (0. tall av kolonner-1) Matriser og deres elementer støtter alle skalar (elementvis) aritmetiske og logiske operasjoner. Alle disse standardoperatørene utføres på matriser elementvis. Av den grunn for eksempel å legge til to matriser må de ha samme størrelse (antall rader og kolonner må være de samme). Hvis de ikke er det samme, er det opp til deg hvordan du utfører beregning på hvert element via loop. Så du kan for eksempel legge til, trekke, multiplisere, dele to matriser hvis de har samme dimensjoner med en samtale. x Matrise (5, 6, 9) matrise 5 rader 6 kolonner, innledende verdi 9 y Matrise (5, 6, 10) matrise 5 rader 6 kolonner, startverdi 10 zy - x gir deg matrise 5 rader og 6 kolonner fylt med elementer med verdi 1 (forskjell mellom 10 og 9). Alle disse operasjonene utføres ELEMENT-WISE. Du kan også bruke en aritmetisk og logisk operasjon på matrise og skalarverdi. Dette ville utføre elementmessig operasjon på hvert element av kildematrisen og gitt skalarverdi. m Matrise (10. 10. 0) m vil være 10x10 matrise fylt med nuller z m z er nå også en matrise for (i 0 i lt 10 i) z i 4 jeg fyller z med noen andre verdier, merk at m vil forbli upåvirket. for (i 0 i lt 10 i) TRACEF (gg, g, gn, i, mi 1, mi 4, zi 4) skalar tillegg (elementvis) z 3 m 5 for (i 0 i l 10 i) TRACEF , g, gn, jeg, mi 1, mi 4, zi 4) Det er en spesiell operatør som bare fungerer på matriser - det er matriseprodukt. Operatøren for matriseprodukt er (at-tegnet). Matrix-produkt er den lineære algebra-måten å formere matriser. Hvis du skriver CAB, multipliserer det matrise A (n, k) ved matrise B (k, m) for å produsere matrise C (n, m) slik at antall kolonner i matrise A må være lik antall rader i matrise B. For mer info se: en. wikipedia. orgwikiMatrixmultiplication Forrangen til matrise produktoperatør er den samme som (så den har høyere forrang enn tilsetning og subtraksjon). En matrise (1. 3) B Matrise (3, 2) Matrise A 1, 4, 6 Matrise B 2, 3 5, 8 7, 9 A 0 0 1 A 0 1 4 A 0 2 6 B 0 0 2 B 0 1 3 B 1 0 5 B 1 1 8 B 2 0 7 B 2 1 9 TRACEF (g g. X 0 0, X 0 1) Sammensatte setninger (blokker) En sammensatt setning består av null eller flere setninger vedlagt i krøllete bånd ). En sammensatt setning kan brukes hvor som helst en uttalelse er forventet. Sammensatte setninger kalles vanligvis 8220blocks.8221 (dette lånes fra C-språk, brukere av andre programmeringsspråk brukes til å bruke BEGIN for) hvis (Beløp gt 100) TRACE (Beløp over 100) Balansebalanse Beløp annet Balansebalanse - i funksjoner I tillegg til matematiske operatører inneholder AmiBroker over 70 innebygde funksjoner som utfører matematiske operasjoner. Følgende formel består av en enkelt funksjon som gir kvadratrøttene til sluttkursene: Følgende formel består av en enkelt funksjon som gir en 14-årig RSI-indikator: Følgende formel består av to funksjoner. Resultatet er forskjellen mellom MACD-indikatoren og et 9-tids eksponentielt glidende gjennomsnitt for MACD: Alle funksjonssamtaler må bestå av funksjonsidentifikator (navn) etterfulgt av et par parenteser. Som det har blitt utelukket i tidligere eksempler, kan en funksjon være quotedestedquot innenfor en funksjon. Den nestede funksjonen kan fungere som hovedfunksjonsdata-parameteren. Følgende eksempler viser funksjoner som er nestet innenfor funksjoner: Det første eksemplet beregner et 10-årig enkelt bevegelige gjennomsnitt for en 15-årig relativ styrkeindeks (RSI). Det andre eksemplet beregner et 20-årig eksponentielt glidende gjennomsnitt for en 15-årig RSI, og beregner deretter et 10-års simpel glidende gjennomsnitt for dette bevegelige gjennomsnittet. Betinget funksjon IIF () Funksjonen iif () brukes til å opprette betingede oppgaver. Den inneholder tre parametre som vist i følgende eksempel. Ovennevnte quotiifquot-setning leser (på engelsk) som følger: Hvis dagens lukk er større enn dagens 10-dagers enkle glidende gjennomsnitt av lukkingen, så tilordne en 9-dagers RSI til dynamisk variabelen, ellers tilordne en 14-dagers RSI. Den neste formelen tildeler 147positive volume148 til volresultat variabel hvis lukkingen er større enn medianprisen. Ellers er kvotegativ volumkvot tildelt. Hvis du bare vil at et uttrykk skal vurderes som enten sant eller falskt, kan det gjøres uten bruk av iif () - funksjonen. Følgende formel vil resultere i enten 1 (true) eller 0 (false): Det samme som gjøres med iif () gir de samme resultatene, men formelen er lengre. Vær oppmerksom på at IIF er en funksjon - så resultatet av evalueringen returneres av den funksjonen og skal tilordnes til en viss variabel. IIf evaluerer alltid både TRUEPART og FALSEPART, selv om det bare returnerer en av dem. På grunn av dette bør du se etter uønskede bivirkninger. IIF-funksjon er IKKE en flytkontroll-setning. Hvis du trenger strømstyring (betinget utførelse av enkelte kodedeler), bør du se etter om-annet betinget setning som er beskrevet senere i dette dokumentet. Følgende eksempel viser en vanlig feil med IIF-funksjonen: IIf (tilstand, resultat 7. resultat 9) Dette er feil Korrekt bruk er: resultat IIf (tilstand, 7.9) 7 eller 9 returneres og tilordnes resultatvariabel avhengig av tilstand For å forkorte, forenkle, forbedre og gjøre vedlikeholdet av komplekse formler lettere, kan det hende du vil bruke variabler. Faktisk ved å bruke variabler kan du forbedre beregningshastigheten for formel betydelig. Så det anbefales på det sterkeste å bruke variabler, og det er ingen grense for antall variabler du kan definere. En variabel er en identifikator som er tilordnet et uttrykk eller en konstant. Antallet av variabler som brukes i en formel er ikke begrenset. Variabler må tilordnes før variabelen brukes i formelen. Variables cannot be assigned within a function call. User-defined variable names (identifiers) cannot duplicate names already used by functions (e. g. ma, rsi, cci, iif, etc.) or predefined array identifiers (e. g. open, high, low, close, simple, o, c, l, h, s, a). Reserved variables AmiBroker uses some reserved variable names in its formulas, for example in Auto-Analysis window you have to assign values to 2 variables named buy or sell to specify the conditions where quotbuyquot and quotsellquot conditions occur. For example (system that buys when MACD rises above 0 line, and sells when MACD falls below 0 line) AmiBroker uses the following reserved variable names. Please note that variables marked as obsolete should NOT be used in new coding. They are left for backward compatibility only and new formulas should use modern functions like Plot() to plot indicators and AddColumn() to define exploration columns. graph N color (obsolete) defines the color index of N th graph line (color indexes are related to the current palette - see PreferencesColor) colorCustom1 0 colorCustom2 1 colorCustom3 2 colorCustom4 3 colorCustom5 4 colorCustom6 5 colorCustom7 6 colorCustom8 7 colorCustom9 8 colorCustom10 9 colorCustom11 10 colorCustom12 11 colorCustom13 12 colorCustom14 13 colorCustom15 14 colorCustom16 15 colorBlack 16 colorBrown 17 colorDarkOliveGreen 18 colorDarkGreen 19 colorDarkTeal 20 colorDarkBlue 21 colorIndigo 22 colorDarkGrey 23 colorDarkRed 24 colorOrange 25 colorDarkYellow 26 colorGreen 27 colorTeal 28 colorBlue 29 colorBlueGrey 30 colorGrey40 31 colorRed 32 colorLightOrange 33 colorLime 34 colorSeaGreen 35 colorAqua 35 colorLightBlue 37 colorViolet 38 colorGrey50 39 colorPink 40 colorGold 41 colorYellow 42 colorBrightGreen 43 colorTurquoise 44 colorSkyblue 45 colorPlum 46 colorLightGrey 47 colorRose 48 colorTan 49 colorLightYellow 50 col orPaleGreen 51 colorPaleTurquoise 52 colorPaleBlue 53 colorLavender 54 colorWhite 55 graph N barcolor (obsolete) defines the array that holds palette indexes for each bar drawn graph N style (obsolete) defines the style of N th graph. Style is defined as a combination (sum) of one or more following flags: styleLine 1 - normal (line) chart (default) styleHistogram 2 - histogram chart styleThick 4 - fat (thick) styleDots 8 - include dots styleNoLine 16 - no line styleLog 32 - semi-logarithmic scale styleCandle 64 - candlestick chart styleBar 128 - traditional bar chart styleNoDraw 256 - no draw (perform axis scaling only) styleStaircase 512 - staircase (square) chart styleSwingDots 1024 - middle dots for staircase chart styleNoRescale 2048 - no rescale styleNoLabel 4096 - no value label stylePointAndFigure 8192 - point and figure (new in 4.20): styleArea 16384 - area chart (extra wide histogram) styleOwnScale 32768 - plot is using independent scaling styleLeftAxisScale 65536 - plot is using left axis scale (independent from right axis) Not all flag combinations make sense, for example (641) (candlestick line) will result in candlestick chart (style64) Note on candlestickbar charts: these styles use in directly O, H, L arrays in addition to graph N . So ordinary candlestick price chart formula is graph0close graph0style64. But if you want to draw something else than close price you have to assign new values to predefined O, H,L arrays. graph N barcolor (obsolete) defines the array of color indexes for the bars and candlesticks in N th graph ine (color indexes are related to the current palette - see PreferencesColor)

No comments:

Post a Comment