Skip to main content

Thinkscript Bevegelse Gjennomsnittet Varsling


ThinkScript for TOS Made Simple ThinkScript: Slik programmerer du dine egne studier Amp strategier Hvis du er en TOS (Think or Swim) bruker, vil denne siden hjelpe deg å lære ThinkScript, et språk du kan bruke til å lage din egen tilpassede 8220studies8221 og handelsstrategier. Når du bruker en studie til et diagram, kan det plotte forskjellige ting linjeskiftende gjennomsnitt. Når du bruker en strategi, kan den markere spesifikke Kjøp og selg anbefalinger på aksjekartet. En av de beste måtene å lære ThinkScript er ved å leke med eksempler, lære hvordan de jobber og deretter endre dem. Oppdrag nr. 1. Opprett en studie ved å følge trinnvise instruksjonene nedenfor. Åpne et TOS-diagram og klikk på Studier. deretter Rediger studier nederst til venstre i vinduet som dukker opp, klikk på New8230 Et studieredigeringsvindu vil vises med denne koden som allerede finnes i det: tomt Data lukk Hvis dette er din første studie, vil du se navnet på studien øverst i redigeringsvinduet. Det vil nok si: NewStudy0 (Programmører er morsomme chaps, de liker å begynne å telle fra null.) Klikk hvor det står 8220NewStudy08243 og endre navnet til noe meningsfylt. Jeg foreslår navnet AAAtest, fordi bokstavene AAA vil hjelpe denne teststudien vises øverst på listen over studier for enkel tilgang. It8217s morsomt å programmere i ThinkScript fordi du skanner, se resultater umiddelbart med plott på et diagram. For din første studie foreslår jeg at du kopierer og limer inn følgende skript i den nye studien, erstatter koden som allerede er der med dette: Inngangslengde 8 Inndata AverageType AverageType. EXPONENTIAL plot MovAvg MovingAverage (gjennomsnittType, lukk, lengde) Etter å ha satt inn Navnet på studien og lim inn koden, klikk OK. Deretter finner du navnet på studien i listen over studier, hvis du brukte et navn som begynner med 8220AAA, 8221 ser du sannsynligvis navnet på toppen. Klikk på navnet en gang, og klikk deretter Legg til studie nederst på skjermen som vist her: Etter å ha klikket på Legg til studie, kan du angi de ulike innstillingene for studien ved å klikke på Gear-ikonet til høyre. Se nedenfor: Etter å ha klikket på Gear-ikonet, kan du angi forskjellige alternativer, for eksempel: Fargen på den bevegelige gjennomsnittlige tomten. Perioden for glidende gjennomsnitt. Typen av bevegelige gjennomsnitt 8212 for eksempel Enkelt eller Eksponentielt Når du er ferdig med å sette opp disse alternativene, klikker du OK og deretter OK igjen. (MERK: du må ikke klikke på Bruk, men du kan hvis du vil sjekke resultatene før du lagrer koden din ved å klikke OK. Merk at Bruk gjelder for eventuelle endringer, men lukker ikke redigeringsvinduet. OK lagrer og lukker redigeringen vindu.) Nå som du legger til din første studie i et diagram, let8217s ta en titt på hva det betyr og vurdere noen av ThinkorSwim grammatikkreglene. Fremgang Kontroller inngangslengde 8 inngang averageType AverageType. EXPONENTIAL plot MovAvg MovingAverage (averageType, close, length) Merk at hver linje slutter med. Sjekk svaret ditt nedenfor: Hver linje slutter med en semikolon. Hvis du glemmer å gjøre dette, vil du ønske deg hadn8217t Din studie won8217t fungerer riktig. Når du bruker ordet 8220input8221 i et skript, lar brukeren klikke på Gear-ikonet (som du tidligere gjorde for å endre verdien tilordnes.) Merk at ordet 8220length8221 i kombinasjon med 8220input8221 definerer en variabel som kan brukes senere i manus. Vurder denne linjen: input averageType AverageType. EXPONENTIAL Denne linjen definerer en variabel som heter 8220averageType8221 og tilordner den en forhåndsdefinert konstant verdi som TOS tolker som 8220exponential.8221. Legg merke til formatet: AverageType 8212 og deretter en punkt 8212 og ordet EXPONENTIAL. Ordet før prikken, heter 8220family8221 som konstanten tilhører. Ordet etter prikken gir navnet på konstanten. Det er litt esoterisk, men det blir klart at du går videre gjennom denne opplæringen og ser flere eksempler. Hvem visste at konstanter kunne ha familier. Anta at du ønsket å fortelle TOS i skriptet ditt for å angi den variable gjennomsnittstype til et enkelt bevegelige gjennomsnitt. Hvilken linje av kode ville du bruke What8217s feil med de andre a) input averageType AverageType. EXPONENTIAL b) input averageType AveerageType. SIMPLE c) input averageType AverageTypeSIMPLE d) input averageType SIMPLE Det andre valget er riktig. Valg a) ville sette gjennomsnittstype til konstanten for eksponentielle glidende gjennomsnitt. Valg c) Mangler et semikolonvalg d) Doesn8217t spesifiserer familien som konstanten tilhører. Hei, familier er viktige når det gjelder konstanter. Nå vurderer let8217s den tredje linjen av koden som vises i rødt: Inngangslengde 8 inntastende gjennomsnittType AverageType. EXPONENTIAL plot MovAvg MovingAverage (gjennomsnittType, lukk, lengde) For meg er dette litt rart, men ThinkScript liker å kombinere plottoppstillingen og Innstilling av MovAvg-volumet i en linje. Prototypen for denne linjen med kode kan være: plot ltsome-variable-namegt MovingAverage (P1, P2, P3) What8217s en prototype It8217s en guide for å lage en linje med kode, men en prototype må endres for å dekke dine behov. For eksempel må du endre ltsome-varialbe-namegt til noe annet. Og du må bytte ut P1, P2 og P3 med noe meaninful. MovingAverag0e er en funksjon i ThinkScript. Det tar alltid 3 parms (også kalt argumenter). En parm (kort for parameter er en inngang til en funksjon. Et argument er også en inngang til en funksjon. P1 forteller hvilken type glidende gjennomsnitt. P2 forteller om å bruke høy, lav, åpen eller lukk for beregningen P3 forteller Antallet av barer (eller perioder) som skal benyttes til beregningen. Fremskritt Kontroller dette hvilket av disse vil være en måte å plotte et enkelt 50-årig glidende gjennomsnitt på åpningsprisen gitt denne prototypen plot ltsome-variabel-navngitt MovingAverage (P1, P2, P3) a) plott MovingPhil MovingAverage (AverageType. SIMPLE, åpen, 50) b) plott MovAvg MovingAverage (AverageType. SIMPLE, åpen, 50) c) plott MoveAvg MovingAverage (enkel, åpen, 50) riktig. Du don8217t trenger å bruke MoveAvg som ordet etter 8220plot.8221 Du kan bruke hvilket som helst ord du liker så lenge det ikke er noe reservert ord. For din oppbygging, her er en liste over reserverte ord som ThinkScript bruker. Siden jeg heter Phil Seyer, valgte jeg 8220MovingPhil8221 som variabelnavn, som en innvendig vits 8212, også for å lære deg at et gyldig variabelnavn kan brukes her . Valg b) ville være riktig hvis det hadde en semikolon på slutten. c) Valg c er feil fordi det ikke inkluderer 8220familienavnet8221 av konstanten. Husk, constant8217s er familievennlige, akkurat som alle gode borgere. Ta en titt på denne koden: Inngangslengde 8 Inngang L 50 Inngang GjennomsnittType AverageType. EXPONENTIAL Inngang avgtype50 AverageType. SIMPLE plot MovAvg MovingAverage (AverageType, close, lengde) plot Avg50 MovingAverage (avgtype50, close, L) Oppgave 2: Jeg foreslår at du kopi og lim inn denne koden i en studie og sett fargene for de to bevegelige gjennomsnittene ved å klikke på girikonet etter at du har lagt til studien i et diagram. Hva gjør denne koden Hvorfor er L brukt i linje 2 Denne koden viser to bevegelige gjennomsnitt, en er det 8-årige eksponentielle glidende gjennomsnittet. Den andre er et enkelt 50-års glidende gjennomsnitt. Variabelen L brukes til å styre perioden for det enkle glidende gjennomsnittet. Merk at de 8 eksponentielle glidende gjennomsnittene kalles noen ganger utløserlinjen. Når en aksje faller under denne linjen, er det ofte en god ide å selge den. Når den handler over utløserlinjen med et lysestikkkjøpssignal, anbefaler Steve Bigalow av lysestakeforum ofte at aksjer som et mulig kjøp hvis det handler høyere neste dag. Omvendt kan T-linjen brukes til et salgssignal dersom en aksje lukkes under T-linjen og viser et lysestikksalgsignal. Så langt har vi gjort noe fancy med våre egne studier, vi kunne like enkelt sette forhåndsdefinerte studier på et diagram som gjør det samme. Men hei Vi lærer å lage egne studier, og vi må starte små og ta det trinnvis. Let8217s omfavner Gradus Ad Parnassum (Latin for trinn til perfeksjon) Hvis-uttalelser i ThinkScript er rare i mitt valg. Ta en titt: plot Maximum3 hvis close gt open Maksimum3 lukk annet Maksimum3 åpent Den første setningen sier å tegne et plott til et punkt som er spesifisert av Maximum3. Men Maksimum3 er ennå ikke definert I de fleste programmeringsspråk vil dette produsere en variabel udefinert feil. Men ThinkScript gjør ikke noe. Det leser bare koden for å finne ut hvilken verdi som skal brukes til Maximum3 1. Hvis et stearinlys lukkes over det8217s åpne, hva vil Maximum3 bli satt til 2. Hvis et stearinlys lukkes lavere enn it8217s åpne, hvilken verdi vil Maximum3 bli satt til 1 . Hvis et stearinlys lukkes over det8217s åpne, vil Maximum3 bli satt til 8220close8221. 2. Hvis et stearinlys lukkes lavere enn it8217s åpent, settes Maximum3 til 8220open8221 Legg merke til protypen for en if-setning som setter en variabel. Et av mine ideer er at når Tline krysser over et 20-årig eksponentielt glidende gjennomsnitt, kan det være på tide å selge. Dette fungerer ikke alltid fordi du fortsatt kan få whipsawed, så det er godt å se på andre faktorer. For eksempel, hvis dette signalet skjer når en aksje bryter en trend, er det mer sannsynlig å jobbe. Også, hvis du er i god handel, tror jeg det kan være nyttig å se og holde lageret så lenge Tline forblir over 20 EXP. Selg når Tline krysser under 20 EXP. Men hei, du må ta din egen beslutning. Here8217 er noen enkle ThinkScript-koder for å plotte en prikk på diagrammet når et kryss over skjer. Det viser også de bevegelige gjennomsnittene slik at du kan se selv når et kryss skjer: Oppgave 3: Forslag: Kopier denne koden til en studie og se hva den gjør. Les deretter diskusjonen under koden. plot Crossover ExpAverage (close, 8) krysser ExpAverage (close, 20) Crossover. SetPaintingStrategy (PaintingStrategy. BOOLEANPOINTS) plot Tline ExpAverage (close, 8) plot Twenty ExpAverage (close, 20) Den delen av den første setningen som sier8230 CrossOver ExpAverage Lukk, 8) krysser ExpAverage (Lukk, 20). 8230 vil sette Crossover til 1 hvis noen crossover har skjedd. Hvis ingen crossover har skjedd, vil Crossover-variabelen bli satt til null. I dataprogrammering vil et uttrykk returnere 1 hvis sant eller 0 hvis det er feil. For eksempel vil 8230 returnere 0. Og. DaysinYear 365 8230 vil returnere 1 (hvis DaysinYear har riktig verdi) Linjen som leser 8230 instruerer TOS-systemet hvordan du gjør plottet. SetPaintingStragety er en funksjon. Når du gir det argumentet PaintingStrategy. BOOLEANPOINTS), kan det være å male en prikk på en bar hvis verdien som er plottet er 1. Hvis du har gjort det, prøv å sette dette inn i en studie og teste den. Legg merke til at prikken er tegnet på linjen ETTER korset skjer. Here8217s koden en gang til for å gjøre det lettere: plot Crossover ExpAverage (nær, 8) krysser ExpAverage (close, 20) Crossover. SetPaintingStrategy (PaintingStrategy. BOOLEANPOINTS) plot Tline ExpAverage (close, 8) plot Twenty ExpAverage Strategier med BuySell Signaler Så langt i tidligere leksjoner, har vi nettopp skrevet linjer på et diagram med studier. I denne leksjonen lærer du hvordan du lager en strategi. En strategi er en type studie som har klare kjøp og salgssignaler. Virkelige, levende ordrer sendes ikke til TOS. med strategier, men du kan backtest en strategi for å se hvordan det ville ha virket i fortiden. Når du oppretter en strategi, er trinnene litt forskjellige. Here8217s hvordan du kommer i gang: Åpne et TOS-diagram og klikk på Studier. deretter Rediger studier Klikk på fanen som sier Strategier. (se nedenfor) Et strategisk redigeringsvindu åpnes. I dette vinduet kan du legge inn ThinkScript-koden for en strategi. We8217ll lage en utvalgsstrategi i et øyeblikk, men først, let8217s ser på AddOrder-funksjonen. It8217s en funksjon du kan bruke til å vise hvor du vil ha et kjøp eller salgssignal som skal vises på et diagram. Her er prototypen for AddOrder-funksjonen: AddOrder (type, tilstand, pris, tradeSize, tickColor, arrowColor, navn) Husk at elementene i parentes etter funksjonsnavnet kalles parms (parametere). Disse parmene gir funksjonen viktig informasjon, slik at den kan gjøre jobben sin. Let8217 ser på hver av disse parmene: type 8212 denne parmen forteller hvilken type ordre, for eksempel: kjøp, selg, selg kort eller kjøp for å dekke. tilstand 8212 forteller forholdene som må oppfylles før bestillingen er gitt. pris 8212 når du skal gi bestillingen 8212 som standard vil dette være ved åpningen av neste linje. tradeSize 8212 hvor mange aksjer å handle. tickColor 8212 hvilken farge for å gjøre krysset hva er en kryss arrowColor 8212 hvilken farge som skal brukes til pilen som vises på diagrammet som viser handelen. navn 8212 hvilket navn som skal vises på kartet ved pilen. Som standard vil navnet være det samme som typen som er angitt i første parm. Når du spesifiserer typen parm, bruker vi forhåndsdefinert konstant i familien 8220OrderType8221. Her er de forskjellige konstantene vi kan bruke: OrderType. SELLTOOPEN 8212 Åpne en handel ved å selge kort. OrderType. BUYTOCLOSE 8212 Lukk en kort posisjon OrderType. BUYTOOPEN 8212 Kjøp en aksje for å åpne en handel. OrderType. SELLTOCLOSE 8212 Selg en aksje som du tidligere kjøpte. To andre type konstanter er: OrderType. BUYAUTO 8212 Kjøp en aksje (enten for å kjøpe for å dekke eller kjøpe for å åpne en ny handel. Ordet AUTO her hjelper oss med å vite at TOS automatisk vil ta vare på enten å kjøpe for å dekke eller kjøpe for å åpne en handel 8212 og OrderType. SELL AUTO vil passe på at vi enten selger kort eller selger en eksisterende Long-posisjon. OrderType. SELLAUTO 8212 selger eksisterende innehold eller salgsshow for å åpne en ny handel. ThinkStript har noen Bygg i engelske setninger. To viktige å vite er: La let8217s se på kode som bruker 8220crosses over.8221 Det vil sette opp pilen på et diagram sammen med ordet 8220Buy8221 når Tline krysser over 20 EXP. pilen blir farget gul, så det er lett å se og krysset vil også bli farget gul. Husk at Tline er 8EXP. AddOrder (OrderType. BUYAUTO, Tline krysser over tjue, åpen-1, 100, Color. YELLOW, Color. YELL, Kjøp) Legg merke til hvordan vi brukte konstant OrderType. BUYAUTO for å spesifisere bestillings type. Endre koden ovenfor for å lage en salgsordre med en rød pil og rødt kryss. Sjekk deretter svaret ditt nedenfor: Her8217 er koden for en salgsordre. I8217ve uthevet endringene som trengs for å omdanne kjøpsordren til en salgsordre: You8217ve har sikkert lagt merke til -1 etter åpningen i koden. I8217m ikke sikker på hvorfor dette er nødvendig 8212 Jeg ser på dette Her8217s koden for en komplett strategi som plottene kjøper og selger signaler på et diagram basert på glidende gjennomsnittsoverskridelse over vi har diskutert: Inngangspris Lukk input Tlength 8 Input SlowLength 20 DefLance ExpAverage (pris, lengde) def Twenty ExpAverage (pris, SlowLength) AddOrder (OrderType. BUYAUTO, Tline krysser over tjue, åpen-1, 100, Color. YELLOW, Color. YELLOW, Kjøp) AddOrder (OrderType. SELLAUTO, Tline krysser under 20, åpen-1, 100, Color. RED, Color. RED, Sell) Forslag: Lag en strategi med denne koden. Husk å komme i gang: Åpne et TOS-diagram og klikk på Studier. deretter Rediger studier Klikk på fanen som sier Strategier. (se nedenfor) Klikk Ny nederst i vinduet. Klistret over koden i strategien Gi strategien et meningsfylt navn som starter med AA, så det er lett å finne. Klikk på OK for å lagre og se strategien på ditt nåværende diagram. Merk: Denne strategien viser ikke noen bevegelige gjennomsnitt. Jeg foreslår at du også bruker den forrige studien, slik at du også kan se crossovers for deg selv for å validere at strategien fungerer som den skal. BackTesting Nedenfor er en rapport som bruker denne strategien anvendt på NFLX. VIKTIG. Resultatene på NFLX er ganske gode, men bare fordi en strategi fungerer bra på ett lager i løpet av en viss tidsramme, betyr det ikke at det vil fungere bra på noen tilfeldig lager når backtesting eller i fremtiden. For best resultat, test på mange aksjer og tenk på deg selv. Markering av Total Stock Trend It8217s er veldig nyttig for å få en rask måte å sjekke for å se om trenden på en aksje er opp eller ned. Her er prototypen for å legge til et Etikett i øvre venstre hjørne av diagrammet: Legg merke til at denne funksjonen har 2 parms: Du kan sette den første parm til Ja hvis du vil at bildeteksten skal vises. Ja er en konstant i ThinkScript som betegner 8220True8221 eller 1. (Programmerer liker å bruke 1 for True eller 0 for False. Så hvis du vil vise, si 8220Uptrend8221 kan du bruke denne linjen med kode: Men en bedre måte er å bruke en om-setning for å avgjøre hvilken bildetekst som skal vises. ThinkScript lar deg legge inn If-setningen direkte som 2. parm av funksjonen. En prototype for if-setningen ville være: hvis det var så lavt som Caption1 Else Caption2 Progress Check : EXPAverage (close, 8) gt ExpAverage (close, 20) Skriv en linje med kode ved hjelp av AddLabel-funksjonen for å vise 8220Uptrend8221 hvis tilstanden er sant eller 8220Downtrend8221 hvis tilstanden er feil. Sjekk svaret ditt nedenfor: AddLabel (Ja, hvis EXPAverage (nær, 8) gt ExpAverage (close, 20) then 8220Uptrend8221 else 8220Downtrend8221) Plotting Arrows In Studies (ikke strategier) Husk at en strategi kan gi kjøp og salg av signaler, og du kan få en BackTest-rapport fra en strategi ved å rightclicking på noen av kjøper ell anbefalinger i en strategi. Men noen ganger vil du kanskje plotte forskjellige ting på et diagram i en studie. For eksempel viste jeg deg bare hvordan du kan bruke AddCaption-funksjonen i en studie for å vise en etikett øverst til venstre i diagrammet. Deretter viser I8217ll deg hvordan du plotter opp eller ned pilene i en studie. Anta at du vil plotte en pil opp når en aksje krysser over Tline eller en pil ned når den krysser under Tline ThinkScript har to praktiske konstanter for opp og ned pilene: Begge disse konstantene tilhører samme familie av konstanter. Hvilken familie er at De begge tilhører konstantens PaintingStrategy-familie. For å bruke disse konstantene bruker vi SetPaintingStrategy-funksjonen. Prototypen for den er: Anta at vi vil bruke IsGreen som vårt variabelnavn. Vi kunne da skrive: Men dette alene ville ikke fungere fordi ThinkScript ikke ville vite hva IsGreen refererer til. Vi må først si: plot er Grønne lukkekryss over ExpAverage (close, 8) 8230 som betyr at 8220Plot er Grønn når tett krysset over Tline For å avklare hva IsGreen skal være, følger vi opp med PaintingStrategy-funksjonen. Så vi trenger to setninger: plot er Grønne lukkekryss over ExpAverage (close, 8) isGreen. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWUP) Hva kommer først Plot-setningen eller SetPaintingStrategy-varselet at plott-setningen må komme først fordi det bidrar til å definere variabelen isGreen . MERK: du don8217t må bruke isGreen for variabelnavnet ditt. Du kan bruke et variabelt navn som ikke er et reservert ord. Progress Check Skriv koden som vil plotte en pil opp når sluttkursen på en aksje krysser over 8Exp og en nedpilen når den krysser under. Tips: skriv begge plottene først. Ring deretter til SetPaintingStrategy-funksjonen. plot isGreen close crosses over ExpAverage (close, 8) plot erRed nær kryss under ExpAverage (close, 8) isGreen. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWUP) isRed. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWDOWN (mer kommer snart) Av Phil Seyer, direktør for fagfolk Guild Nedenfor finner du noen sponsede lenker som du kanskje vil utforske: Denne boken omhandler 16 enkle strategier som er avgjørende for suksessen til enhver næringsdrivende eller investor. Disse strategiene har blitt både testet opp til 2008, men har også blitt handlet av Larry og hans team under flere markedsforhold. Forslag: få denne boken og bruk strategiene i den som grunnlag for å lage dine egne studier og strategier ved hjelp av ThinkScript. Gjennomgang av en leser: Larry Connors nye bok om kortsiktige strategier sitter på et æressted på min bokhylle sammen med den lille håndfulle bøker som virkelig har hjulpet meg i min handel de siste 20 årene. Det jeg setter pris på om Larrys forskning er at han ikke gjør det Ikke se på flotte mønstre på et diagram. I stedet finner han kanter som nesten ingen i handelsverdenen eller finansmediene vet om og bygger strategier med enkle regler som enhver forhandler kan søke. Denne boken inneholder en rekke aksje - og ETF-strategier som etter min mening er verdt tusenvis av dollar til enhver handelsmann som vil bruke tiden til å lære dem. Copyright copy 2014 Stock Trading Tips Alle rettigheter reservert. For de av dere som har spurt om mine live økter hver uke på siden for enklere alternativer, her er lenken for den nåværende 7-30 dagers prøveperioden. Jeg har tilbrakt de siste to årene i live trading rom og personlig tror det er det beste handelsrommet rundt. Jeg snakker hver mandag og fredag ​​fra kl. 11.00 til 12.00 CST og onsdag fra 1: 00-1: 30 CST. Håper på å se deg der. - Eric Kjøp et Lifetime Pro-medlemskap og få full tilgang til forumet og ressursnedlastinger. Oppgradere NU ThinkScripter Community Forum - Gi hjelp, Få hjelp, Betal den fremoverHere8217s et skript som viser hvordan du utløser et varsel på et bevegelige gjennomsnittsovergang, men bare etter at linjen som forårsaket et crossover har fullført. Jeg har en pil plottet intrabar hvis gjennomsnittet krysser, og det forsvinner hvis de uncross. Det samme kan skje med varsler basert på crossover, og gir deg et varsel som senere blir ugyldiggjort. Veien rundt det er å få varslingen til å se en linje tilbake, så det vant ut til første kryss etter at en kryssfelt er ferdig. Skriptet heter 8220MACrossoverwAlertsSTUDY. ts8221, og er gratis på min Google-side under 8220Released Thinkscript Studies8221. Som dette: Postnavigasjon Legg igjen en kommentar Avbryt svar Takk Dette er så nyttig, spesielt siden jeg bare lærer TS, hei stor advarsel. Jeg setter virkelig pris på arbeidet du legger inn. Jeg lurte på om det var noen måte å endre sma til en ema .. jeg bruker 2 emas for mitt crossover varsel. Jeg er ikke en teknisk person, så jeg har ingen anelse om å gjøre det. thx mye, Phill Du endrer gjennomsnitt () til expmovingavg () i utgangspunktet. Jeg elsker ideen om å utløse et varsel. Ville det være mulig å gjøre det tekst min mobiltelefon tooEasy Koding for Traders. Hvordan bygge din egen indikator tilbake i de tidlige dagene av thinkerswimreg, forhandlere clamored for mer kartlegging verktøy som teknisk studier og strategi testing. Utviklingslaget skrev opprinnelig disse individuelle verktøyene i plattformene, noe komplekst programmeringsspråk. Det var flott for ytelse, men clunky for enklere ideer som å trekke 10-dagers glidende gjennomsnitt fra 30-dagers glidende gjennomsnitt. I dag kan våre programmerere fortsatt gjøre det. Men hvorfor ikke gi handelsmenn muligheten til å gjøre det selv, samtidig som de lager sine egne tilpassede diagramdata ved hjelp av et enkelt språk. Med denne lynbolten til en ide ble ThinkScript født. Nei, ThinkScript er ikke et tillegg, plug-in eller noe å laste ned. Og best av alt, du trenger ikke å være en datamaskin geek for å lære det. Det betyr at vanlige handelsfolk som deg og jeg kan lære nok om ThinkScript å gjøre våre daglige oppgaver litt enklere. På den avsluttende klokken, er denne artikkelen for vanlige folk. Ikke programmerere. Lets Get Crackin ThinkScript brukes hyppigst på Charts og MarketWatch-fanene. Tenk på å få tilgang til det på samme måte som du legger til en teknisk undersøkelse, fordi ThinkScript-editoren som lar deg skrive ThinkScript-koden finnes i diagramstudier og Quotes-siden. 1. Klikk på studieknappen. 2. Velg Rediger studier i det nye vinduet som åpnes (Figur 1). 3. Klikk på knappen Ny i nederste venstre hjørne. Det åpner opp en thinkScript editor med en standard ThinkScript kodeplot Data close inside it. Du kan slette den koden og begynne å skrive din egen i det aktuelle feltet. Figur 1: ThinkScript Editor i thinkorswm Diagrammer. For illustrative formål bare. Merk menyen med ThinkScript-kommandoer og funksjoner på høyre side av redigeringsvinduet. Det er et ThinkScript-bibliotek med raske definisjoner av hver av funksjonene. 1. Klikk på Quotes i toppmenyen på MarketWatch-fanen. 2. Fra siden Quotes klikker du på den lille prikken øverst i venstre hjørne ved siden av ordet Symbol. 3. Velg Tilpass fra rullegardinmenyen. 4. Rull nedover listen over tilgjengelige elementer og klikk på en av de nummererte egendefinerte kolonnene. 5. Dobbeltklikk for å åpne det samme ThinkScript-redigeringsvinduet som er på diagrammer (figur 1). 6. Når du er ferdig med å skrive din ThinkScript-kode, trykk Apply for å vise den på et diagram eller se den som en kolonne på siden Quotes. Som jeg nevnte, kan du skanne omtrent alt du vil ha, ikke i plattformen (i grunn, selvfølgelig). For å komme i gang, kan vi se på noen få kule eksempler som du kanskje vil prøve. Figur 2: Når du har skrevet din personlige indikator i thinkorswim, kan du vise den i diagrammer. Diagrammet ovenfor er fra skriptet i figur 1. For illustrerende formål bare. 1. Teknisk indikator: Moving-Average Crossover Fremfor alt ble ThinkScript opprettet for å takle teknisk analyse. Dette er koden for et glidende gjennomsnittsovergang vist i figur 1, hvor du kan se 10-dagers og 30-dagers enkeltflytende gjennomsnitt på et diagram. Følg trinnene beskrevet ovenfor for Charts-skript, og skriv inn følgende: Huh Lar deg sikkerhetskopiere og avklare vilkår. def Definerer noe i thinkScript. Det sier definere denne tingen som heter tenday som refererer til studien simplemovingavg, som bruker 10 dager med data. def definerer også thirtyday som et enkeltflytende gjennomsnitt som bruker 30 dagers data. referanse En kommando av sorter som drar studier i koden din allerede skrevet i thinkScript. Som du vet, har utviklere allerede opprettet hundrevis av studier. Spar deg tid og bruk referanse når du kan. Her trekker ThinkScript i en studie som heter simplemovingavg. Du kan finne simplemovingavg i studielisten på thinkorswim Charts. Når du har funnet en studie, referer den til i koden din. I denne glidende gjennombruddskoden forklarer tendensen simplemovingavg-studien for å bruke lengde 10. Det betyr at bruk 10 dager med priser i gjennomsnittlig beregning. Lengden 30 forteller det trettiende enkle glidende gjennomsnittet for å bruke 30 dager med prisdata. plot Når du har definert tingene for diagrammet ditt, viser du dem med plott-kommandoen. I denne glidende gjennomsnittsoverskridelsen var det planlagt to linjer i 10-dagers glidende gjennomsnitt, og et 30-dagers glidende gjennomsnitt. Så, må du lage to tomter og kalle dem forskjellige ting. Jeg har nettopp opprettet plot data1 og plot data2, og fortalte dem å vise hva vi nettopp har definert. plot data1 tenday betyr at plottet kommandoen vil vise denne tingen kalt data1, som vi definerte ovenfor som tenday. plot data2 thirtyday gjør det samme for 30-dagers enkeltflytende gjennomsnitt. Forresten, på slutten av hver linje av ThinkScript-kode, vil du legge merke til et semikolon (). Det forteller ThinkScript at denne kommandosetningen er over. Også en utdannet programmerer kan skrive en ThinkScript-kode for farger og alle andre ting på et gjennomsnittlig crossover. Ikke bekymre deg for det for nå. Lær akkurat nok thinkScript for å komme i gang. Du går bonkers prøver å finne ut alt på en gang. 2. Tilpasset volatilitet: IV Prosentil Hvis du vil ha opsjonsdata som ikke eksisterer for øyeblikket som en plattformfunksjon, hvorfor ikke lage det selv. Et annet godt trick av ThinkScript lar Market-Watch-fanen vise en beregning for en aksjeliste på en Quotes-side. Du kan allerede være kjent med gjeldende IV-prosent i handelssiden Dagens valgstatistikk-seksjon. Dette tallet viser den nåværende samlede implisitte volatiliteten til en aksjeopsjon, i forhold til de siste årene høyt til lavt utvalg. Men hva om du vil se IV-percentilen for en annen tidsramme, si 3 måneder. (Se figur 3.) FIGUR 3: KONTROLL VOL PERCENTIL Ikke vil 12 måneders volatilitet Skriv et skript for å få tre. For illustrative formål bare. Følg trinnene som er beskrevet for Quotes-skriptene, skriv inn dette: Denne ThinkScript-koden definerer fire thingsivol, lowvol, highvol og currentvol, og baserer dem på verdien av impvolatility. impvolatility er en studie som gir deg plattformene Vol Index-nummer, som er en aksjeopsjon generelt implisitt volatilitet. Hvis IsNaN returnerer null hvis Vol-indeksen ikke er tilgjengelig for et symbol. Den laveste og høyeste er kommandoer som bestiller thinkScript for å finne laveste eller høyeste ivol i løpet av de foregående 60 dagene. Plot-kommandoen viser resultatene av en formel ved hjelp av de tingene vi har definert. Du kan endre 60 til hvilket nummer du vil se serien. Husk at hver måned har rundt 20 handelsdager, så 60 handelsdager er omtrent tre måneder. Hvis du vil vise et årlig nummer, bruk 262, som er omtrent en års handelsdager. For å få dette til en Watch List, følg disse trinnene på Market Watch-fanen: 1. Klikk på underfanen Quotes. 2. Klikk på prikken til venstre for ordet Symbol, øverst i venstre hjørne av fanen Quotes. 3. Velg Tilpass fra rullegardinmenyen. 4. Når Tilpass Quotes-boksen åpnes, klikker du på ett av de egendefinerte valgene i listen over tilgjengelige elementer. Det åpner boksen Custom Quote Formula, der du kan klikke på ThinkScript Editor-fanen og skrive inn koden. Husk å kjenne din ThinkScript-kode slik at du kan legge den til i Quotes-listen. ThinkScript brukes også på thinkorswim-diagrammer som et teknisk analyse-testverktøy. Med denne funksjonen kan du se potensiell fortjeneste og tap for hypotetiske handler generert på tekniske signaler. Husk, dette inkluderer ikke provisjonskostnader, noe som vil påvirke din sanne PL. Figur 4: BACKTEST WITH THINKSCRIPT. Du kan gjøre indikatorene dine til en strategi backtest. Med skriptet for de 10 og 30 dagers glidende gjennomsnittene i figurene 1 og 2 kan du for eksempel plotte hvor mange ganger de krysser over en gitt periode. For illustrative formål bare. Se figur 4. Gir en oversikt over strategiske resultater som blir lange (kjøp en aksje eller et alternativ) når et 10-dagers glidende gjennomsnitt krysser over 30-dagers glidende gjennomsnitt og blir kort (selg en aksje eller et alternativ) når en 30-dagers bevegelse gjennomsnittlig kryss over et 10-dagers glidende gjennomsnitt. For å gjøre dette må vi skrive to skript og skille dem fra. For å kombinere de to og legge til dette backtesting-skriptet til et diagram, gjør følgende: 1. Høyreklikk på et diagram, og velg Studier, og rediger studier. 2. Denne gangen klikker du på fanen Strategier øverst til venstre. 3. Klikk deretter Ny i nederste venstre hjørne. Når ThinkScript Editor-fanen åpnes, skriv inn koden under ThinkScript 1 ovenfor. 4. Gi det et enkelt navn som MovingAvgBuy. 5. Klikk på OK-knappen i nedre høyre hjørne for å lukke ThinkScript-editoren. 6. Klikk på Ny på nytt. 7. Skriv inn et navn som MovingAvgSell. 9. Se etter thinkScripts du nettopp har opprettet på Strategies listen. Dobbeltklikk for å se dem i vinduet Tilleggsstudier og strategier. Merk på diagrammet i figur 4, du vil se kjøps-og-selgesignaler. For å se profitloss, høyreklikk på et av diagrammerne for handelssignaler. Deretter velger du Vis rapport fra rullegardinmenyen. ThinkScript-koden gjør dette gjennom AddOrder-kommandoen. Denne koden spesifiserer BuyAuto når sma10 er større enn sma30, og SellAuto når sma10 er mindre enn sma30. Sammen lager de diagrammene hypotetiske kjøper og selger. thinkScript har også kommandoer for å åpne og lukke buy-and-sell-ordrer, slik at du kan opprette bestemte testscenarier. Den tickColor, arrowColor og GetColor er kommandoer thinkScript bruker for å legge til farger for å kjøpe og selge signaler. Tallene 5 og 6 refererer til henholdsvis rød og grønn. Bonusskript: Skriptvarsler Å være bundet til markedene betyr ikke at du er bundet til datamaskinen din. Hvis du er ute og ikke, og ikke har tid til å se SPUene på TD Ameritrades mobile handelsapps, lar varslingsfunksjonaliteten på thinkorswim-plattformen deg skrive tilpassede tekniske indikatorer og har meldinger sendt til telefonen eller mobilenheten når indikatoren når en viss nivå eller verdi. 1. På fanen Market Watch klikker du på underfanen Varsler. 2. Klikk på Study Alert-knappen øverst i høyre hjørne. 3. Når boksen Studievarsler åpnes, klikker du ThinkScript Editor-fanen. 4. Du vil bli presentert med SimpleMovingAvg () for å komme i gang. Slett det hvis du ikke vil bli varslet på et bevegelige gjennomsnitt. Men som et eksempel er dette koden du vil skrive for å bli varslet dersom 30-dagers glidende gjennomsnitt beveger seg over 10-dagers glidende gjennomsnitt. Det finnes andre kontroller i Study Alerts-boksen, som aggregasjonsperioden øverst som lar deg velge intradag, daglig, ukentlig eller månedlig data. Det er også Trigger hvis rullegardinmenyen som varsler deg om verdien av din ThinkScript-studie oppfyller visse forhold. Når du er ferdig, klikker du på Create Alert-knappen nederst til høyre, og du er nesten ferdig. For å sikre at du får meldinger med utløste varsler: 1. Klikk på Programinnstillinger i plattformene øverst til høyre. 2. Klikk på underfanen Meldinger. 3. I varslingslisten velger du Alert utløses. 4. Kontroller en varslingsmetode under Alert-innstillinger, for eksempel e-post eller SMS. Du må ha en bekreftet e-postadresse eller et telefonnummer for SMS for å sette opp varslingsvarsler, som du vil gjøre øverst på underfanen Meldinger. Der har du det. Bruk thinkScripts for alarmer, og du må aldri gå glipp av et handelssignal igjen. Ok, vi kunne ikke hjelpe, men få litt geeky på det siste skriptet, men vi har bare skrapet overflaten av hva ThinkScript kan gjøre. Hvis du har en ide for din egen proprietære studie, eller ønsker å justere en eksisterende, er ThinkScript den mest praktiske og effektive måten å gjøre det på. Og du kan bare ha det gøy å gjøre det. Bli kjent med thinkScript Hvis du er fast eller bare ønsker å utforske alt ThinkScript har å tilby, er det et par steder å gå. 2. Lytt til David Mr. Script Kier i ThinkScript Lounge. Logg inn på thinkorswim fra TD Ameritrade. Klikk på Chat-fanen, deretter ThinkScript Lounge. Inne i dette problemet: Backtesting er evalueringen av en bestemt handelsstrategi ved hjelp av historiske data. Resultatene som presenteres er hypotetiske, de skjedde egentlig ikke, og de kan ikke ta hensyn til alle transaksjonsgebyrer eller skatter du ville pådra seg i en faktisk transaksjon. Og akkurat som tidligere ytelse av en sikkerhet garanterer ikke fremtidige resultater, fortiden til en strategi garanterer ikke at strategien vil lykkes i fremtiden. Resultatene kan variere betydelig, og tap kan oppstå. Markedsvolatilitet, volum og systemtilgjengelighet kan forsinke tilgang til kontoer og handelstiltak. Tidligere resultater av en sikkerhet eller strategi garanterer ikke fremtidige resultater eller suksess. Alternativer er ikke egnet for alle investorer da de spesielle risikoene knyttet til opsjonshandel kan utsette investorer for potensielt raske og betydelige tap. Alternativ handel underlagt TD Ameritrade gjennomgang og godkjenning. Vennligst les egenskaper og risiko for standardiserte alternativer før du investerer i alternativer. Støttende dokumentasjon for eventuelle krav, sammenligninger, statistikk eller annen teknisk data vil bli levert på forespørsel. Informasjonen er ikke ment å være investeringsrådgivning eller tolkes som en anbefaling eller påtegning av en bestemt investerings - eller investeringsstrategi, og er kun til illustrasjonsformål. Sørg for å forstå alle risikoene som er involvert i hver strategi, inkludert provisjonskostnader, før du prøver å legge handel. Klienter må vurdere alle relevante risikofaktorer, inkludert egne personlige økonomiske situasjoner, før handel. TD Ameritrade, Inc. medlem FINRA SIPC. TD Ameritrade er et varemerke eid av TD Ameritrade IP Company, Inc. og Toronto-Dominion Bank. 2017 TD Ameritrade.

Comments