Sunday 29 October 2017

Variabel Rörliga Genomsnittet Multicharts


EasyLanguage PowerLanguage Tutorial Lesson 02 Kodning En Moving Average. Creating den första riktiga indikatorn och utvidga grunderna. Efter att du bekantat dig med PowerLanguage Editor i den tidigare PowerLanguage-handledningen lektion 01 kommer vi nu att bygga upp på den här grunden. Om du inte har läst sista lektionen skulle jag föreslå att göra det första som det kan hjälpa dig med att förstå den här lektionen. Låt oss börja med dagens lektion nu. Öppna PowerLanguage Editor och skapa en ny indikatorstudie. Jag kommer att namnge min ABCPowerLanguage Lesson 02 Moving Average så jag Kan hitta det lätt i min redaktör senare Namnet är helt upp till dig självklart och du kan även ändra det senare När den sista delen av indikatornamnet antyder kommer vi att skapa och rita ett glidande medel idag Du har nog sett ett glidande medelvärde på ett diagram före eller kom ihåg begreppet medelvärde från matte Huvudanvändningen för medelvärden är som ett filter för att jämna ut de data du matar in. Bilden visar en 200-period enkel att flytta en Verage som ger ett mycket smidigt utfall Nackdelen med denna jämnhet är att du introducerar mer fördröjning. Det betyder att medeltalet blir mindre mottagligt för prisändringar. Om du tittar på nästa bild ser du hur olika beteendet för en 200-tals enkelhet Glidande medelvärdet är när man jämför det med det gröna 10-medeltalet. Det senare är mycket snabbare när man svarar på prisändringar, men i sin tur finns det mycket mer ljud i genomsnittet. Det finns många olika typer av medelvärden som i huvudsak varierar i påverkan varje datapunkt har på resultatet av den genomsnittliga A 200-perioden enkelt glidande medelvärde beräknas helt enkelt en summering av de sista 200 datapunkterna och dela den med 200. Resultatet är ett medelvärde som ger varje datapunkt samma inverkan samma värde på resultat Den första fältet och den sista fältet som ingår i medelvärdet är båda viktade samma för resultatet Två andra framträdande och allmänt använda medelvärden är exponentiella rörliga medelvärdet och den vägda rörelsen g Medelvärden Båda har högre viktningsfaktorer för de senaste datapunkterna. I ett viktat glidande medel minskar vikningen i aritmetisk progression För exponentiellt genomsnitt kommer det att minska exponentialt, följaktligen namnet Detta kommer att vara så teoretiskt som det kommer att få för idag om du Vill du läsa några mer detaljer om medelvärden, kan du börja med den här Wikipedia-artikeln För vidare förståelse av den här lektionen behövde du inte behöva den här ytterligare informationen. Låt oss börja med att koda vår genomsnittliga Vår indikator bör inte bara beräkna ett genomsnitt, men det borde mata ut resultatet till ett diagram EasyLanguage har Plot reserverat ord för det och vi kommer att använda det för att göra det Innan du börjar med programmering är det alltid en bra idé att ta ett steg tillbaka och tänka på vad du försöker åstadkomma och hur du kommer att göra det Eftersom denna studie inte är väldigt komplex, finns det bara några saker att tänka igenom När studier blir mer komplexa kan du spara mycket tid med Bra planering på förhand. Målet är en studie som beräknar och plottar ett enkelt glidande medelvärde. Vi vill kunna ändra längden för medelvärdet med en inmatning så det är enkelt att anpassa. För medelvärdet måste vi summera mängden värden som är korrelerade med längdinmatningen Vi vill inte skriva kod för varje möjlig längd som matas in för summan. Det betyder att koden måste kunna beräkna alla möjliga längdinsatser på egen hand. Har du redan en aning om hur vi kan uppnå detta. Svaret är att vi behöver ett iterationsutlåtande som kan utföras upprepade gånger varje streck för ett visst antal gånger. Vår längdinsats Jag vet att det här låter komplicerat, men det kommer att bli ganska enkelt. Vi använder den för loop för den här uppgiften. Denna loop upprepar en eller flera uttalanden för ett användardefinierat, specifikt antal iterationer EasyLanguage-koden utförs från topp till botten och vanligtvis från vänster till höger. När en kodlinje exekveras utförs nästa rad och så vidare. Om kodlinjen är den början av en slinga kommer kodlinjerna i slingan att exekveras för den angivna mängden. Endast när slingan är klar nästa kodlinje efter att slingan är utförd. A för slinga ser och fungerar på följande sätt En numerisk variabel ökas eller minskas Med varje cykel genom slingan från startvärdet till dess slutvärde. Denna bild visar en grundläggande slinga med en numerisk räknevariabel ii i det här fallet och det ursprungliga värdet på 0 iterationerna görs tio gånger tills räknaren har nått värdet av 9 Då utförs loopblocket förra gången och avslutas. Du behöver inte öka kontrastvärdet själv, loopkoden tar hand om det. Det aktuella räknevärdet lagras i räknevariabeln Så att du kan komma åt den för varje krets cykla och använda den för dina beräkningar. Detta kommer att vara till nytta för att beräkna vårt genomsnitt. För loop kan också sänka räknaren med varje iteration. Det ursprungliga värdet i detta exempel är 9, men slingan är e xecuted tio gånger tills den är avslutad Även räknaren minskar enkelt med varje iteration av en tills den når 0. I Easylanguage kan du referera datarelaterade reserverade ord, variabler och funktioner från en föregående stapel mycket enkelt. Använd ett tal inom parenteser som följer Det reserverade ordet, beräkningen eller variabeln kommer att returnera värdet för den här fältet. Antalet växer från den aktuella fältet som du refererar till. 0 i steg om en När du vill lagra värdet för föregående bar s nära en variabel som heter PrevCloseValue kan du göra det så här. Vi vill bygga vårt genomsnitt med hjälp av Stäng för de sista X-staplarna där X är en inmatning till Tillåta mer flexibilitet Du vet redan att vi vill använda en slinga för det och vi har bara fått reda på hur vi kan referera Stäng värden för de tidigare staplarna Detta bör räcka för att skriva koden för huvuddelen av vår indikator Låt oss fortsätta med Skapa inmatnings - och variabla sektioner Du kanske kommer ihåg från den sista lektionen att använda meningsfulla variabla namn är en bra kodningspraxis och kan spara dig många problem senare. Vi måste deklarera en ingång så att vi kan ändra längden för vårt genomsnitt på diagrammet Förutom att vi vill ha en variabel som innehåller summeringen, en för att hålla motvärdet och en sista för att lagra medelvärdet. För att mata ut värdet på diagrammet använder vi det reserverade ordet Plot Detta följs av ett nummer så du kan skilja mellan olika diagram som behövs för att du kan använda upp till 999 tomter i Multicharts Det plot reserverade ordet kan ha flera parametrar som färg, plottstorlek och lite mer Vi kommer att hålla det enkelt här och använda Plot1 med bara två parametrar den första för det numeriska uttrycket som ska plottas och en andra för det namn vi vill tilldela tomten. Den slutliga koden kommer att se ut så här. Efter att ha sammanställt den här koden är vi nästan redo att ladda vår indikator till ett diagram i Multicharts Let S titta bara på indikatorens egenskaper först Du kan hitta dem under - Arkiv - Egenskaper eller genom att klicka på Egenskaper symbolen i menyn ska den vara kvar för att kompilera. Under fliken Style kan du ändra färglinjen stil och tjocklek för diagrammet du skapade Om du går till fliken Egenskaper finns det flera alternativ att ställa in eller kontrollera, men för tillfället kanske du bara vill se till att alternativet Same As Symbol är markerat. Detta kommer att se till att indikationen Ator appliceras direkt på ditt diagram istället för en delkarta. Nu är du redo att använda indikatorn på ett valfritt diagram. När du har ett diagram öppet i huvudfönstret Multicharts kan du helt enkelt sätta in indikatorn på det här diagrammet. När indikatorn appliceras resultatet ska likna ovanstående skärmdump Men det verkar inte som det här ser inte ut som ett glidande medelvärde alls Prisserien är nästan en platt linje och den del som kommer från vår indikator stiger bara Med E - Mini SP 500 ligger i området 1 800 a 10 bar glidande medelvärde för denna marknad på 1 952 647 är uppenbarligen inte korrekt Detta pekar på ett problem i våra beräkningar Har du en uppfattning om vad koden saknas Det är faktiskt bara en liten men väldigt viktig detalj vi glömde att lägga till Vi måste lägga till något framför för loopen Slingan fortsätter bara att lägga till värdena för de tidigare tio staplarna med varje ny stapel. Det är bra och vi vill att det ska göra exakt detta, men vi gör inte det Nt att lägga till de nya värdena till de gamla värdena Med andra ord måste du se till att CloseValueSum fortfarande inte håller de gamla värdena när slingan börjar. När du lägger till en rad i koden så är resultatet precis det vi ville uppnå. Kan också ändra indikatorens utseende på diagrammet Med hjälp av stilfliken under Formatstudie kan vi ändra det visuella resultatet som linjestil, färg och tjocklek. Under fliken Inmatningar hittar du den inmatning du skapade och standardinställningen för längden Genom att ladda En andra instans av studien och med en annan färg och längd kan du bekräfta att studien ger ett annat resultat med en annan längd input. If du har problem med att hitta rätt korrigering, är du välkommen att kontakta oss med din lösning och vi kommer att försöka För att hjälpa dig i tid, är jag rädd att bara fråga om lösningen vann t arbete men du måste åtminstone kunna visa att du satsar på att hitta lösningen också. Som ett sista tips kan du ta en titt på oth är genomsnittliga indikatorer eller funktioner och hitta lite inspiration för den saknade länken där Jag hoppas att du haft denna Powerlanguage-lektion och jag ser fram emot att arbeta med dig i nästa. Kopiera och klistra in koden ovan i din utvecklingsmiljö i Tradestation eller MultiCharts som indikator Klicka sedan på kompilera eller verifiera. Den här koden upptäcker om stängningskursen idag är större än eller mindre än slutkursen för igår. Detta kan sättas på dagliga diagram eller minutdiagram och den närmaste 1 avser föregående stapel eller tidigare dag. Om du skrev närmare 2 skulle det referera till de närmaste 2 dagarna eller barerna sedan istället. Då har vi summan av den sista längden 20 bar. För att se hur det fungerar kan du ändra denna rad kodplot1 summove, up - downcount till denna plot1 flytta, up-downcount Klicka sedan på kompilera. Du kan då se din indikator plottar en linje som är antingen 1, -1 eller 0. De ingående skrivna värdena representerar värden som kan ändras av användaren när man plotterar indicato r på diagrammet När du har markerat indikatorn i sin ursprungliga form kan du ändra längden till 50 eller 20 eller 100 för att se hur det påverkar plottet. Variabler visas här som vars och dessa är värden jag skapade för att lagra värdena som matas ut av de 3 linjerna kod börjar om nära och summovevariabeln. Summove summation flytta, längd Det betyder att variabel summove skapas från att lägga upp summan av de senaste 20 staplarna eller längdperiodstängerna med alla värdena 1 och -1 och 0. Du kan experimentera genom att leka med olika värden. Börjarexempel no2 Justerbar viktningsprocent blandat glidande medelvärde. löse medelstäng, längd1 snabbt genomsnittligt slut, längd2.if värde1 0 sedan värde1 0 om värde1 1 då värde1 1. Du kan läsa ovanstående kod Först innan du skapar den här indikatorn och ser om du kan se vad den gör. Det finns två glidande medelvärden som används med långsam längd på 50 och en snabb längd på 20, den ingående kallade faktorn är justerbar för att tilldela en viktning till varje. Om faktorn är inställd på 0 5 den kommer att lägga till 50 av det långsamma medlet till 50 av det snabba genomsnittsvärdet och skapa ett blandat medelvärde av de två perioden. För att se maximivärdena för den långsamma medelfunktionsfaktorn till 1, för att se plottet som är konstruerat helt av det snabbare genomsnittet kan du ställa in faktor Till 0. Du kan experimentera med värden som 0 1 och 0 9 för att se påverkan av anpassningar till viktningen. Om du använder namnet value1 eller value2 eller value 99 som variabler behöver du inte deklarera namnen på dessa på den övre delen. Value2 1-faktorn är ett mycket snyggt sätt att få 2 variabler att automatiskt tilldela 1 av en del och 99 av den andra delen så när de läggs till kommer de alltid att 100.Limit användarfelet genom att begränsa ingångar genom att läsa variablerna dem Koden för värde1 gör det här efter att ha läst faktorinmatningen. Koda tricks för att försöka. Om du tittar på de långsamma och snabba variablerna ser du att de båda använder genomsnittsvärden är den här koden ett enkelt medelvärde. Du kan försöka göra det långsamma i ett vägat medelvärde eller ett exponentiellt medelvärde och blandning dessa upp till att göra din egen blandade genomsnittliga kombination. Beginners exempel no3 Enkel binär trend indicator. if genomsnittlig stäng, snabblängd genomsnittlig stäng, slowlength. then börja binarytrend 1 slut annars binarytrend -1.Denna indictor bestämmer den binära trenden vilket innebär att den omvandlar den till ett tal Sålunda uptrend 1 downtrend -1 och initialvärdet är tilldelat som 0. Om du plottar det 80-åriga glidande medlet och 12-glidande genomsnittet på diagrammet kan du kontrollera att trendindikatorn fungerar. Använda slutet på andra satser för att minska koden längd EG ovan antar att om trenden inte är 1 då måste den vara -1.Kod tricks att prova. Om du försöker använda en annan metod för att tilldela trenden är upp eller ner och ersätt koden med din idé EG Du använder den stokastiska oscillatorn med över 50 är uptrend och under 50 är ned trend. lika med 50 kan fångas genom att säga detta om stokastisk är 50 då räknas som uptrend psuedo code. Beginners exempel no4 enkel längd justering algoritm. if nära högsta stänga, basiclengt h eller stäng lägsta stänga, grundläggande längd. starta bildskärmskärm 1 -1 sluta övervaka bildskärm 1 0 5.if övervaka minlängd och övervaka minlängd om monitorens maxlängd övervaka maxlängden. Detta är det första steget att göra en algoritm för att kontrollera längden som appliceras på En indikator. Du kan se att om du plottar denna indikator i subgraph 2 ligger det mellan 50 och 10 vilka är max och min längder tillåtna men dessa är justerbara inputs. If priset gör en ny hög eller låg för grundlängdperioden det kommer att sakta ner med 1 längd ökning för varje stapel att villkoret är sant. Om priset inte gör en ny hög eller låg under samma period kommer det att minska längden med 0 5 längd inkrement för varje stapel villkoret är sant. Code trick Att försöka. Om du försöker ändra värdena på -1 och 0 5 till större eller mindre belopp kan du ställa in det så att det passar dina krav. Sedan kommer jag att visa dig hur du bygger denna kod till en längdbyteindikator. Enkel längd justering väga ted moving average. if stänga högsta stänga, grundläggande längd eller stänga lägsta stänga, basiclength. then börja övervaka monitor 1 -1 sluta övervaka bildskärm 1 0 5.if övervaka minlängd och övervaka minlängd om monitor maxlängd sedan övervaka maxlängd. Du kan se att en annan variabel har lagts till, vilket är ett viktat glidande medelvärde och tricket här är att ersätta det vanliga fältet med algoritmmonitorn som justerar längden som appliceras. Kodtrick att prova. Om du plottar ett 20-årigt vägt medelvärde bredvid det på Subgraphen En du kan se hur koden ovanför längden ändrar genomsnittet är långsammare vid en viss period och snabbare i andra perioder. Ovanstående indikator är placerad i subgraph nr1 överlagd med priset. Exempel kod nr4 placeras i del 2. Du kan observera längden Ändra algoritmen i åtgärd och se hur det påverkar hastigheten på det viktade genomsnittet. Föreläsare exempel nr6 Hur förhindra delning med nollfel. Divisionen med noll är ett vanligt problem som upplevs i programmeringen Answ Er är alltid oändlighet, så vi måste förhindra att någonting blir dividerat med noll i första hand. Det finns två sätt att göra detta. Om värdet1 0 då värder1 värde1 0 0000000001.Så lägger vi helt enkelt ett litet antal till det, vilket är så Liten det kommer inte att göra för mycket skillnad till outputs. If value1 0 då value2 value3 value1.This tvingar datorn att fråga om värdet1 är 0 eller inte innan gör sina beräkningar Om det är 0 returnerar det standardvärdet som tilldelades Att värdera1 i variablerna när du skapade det. Beginners exempel nr7 Hur man använder Fisher Transform. Variable Moving Average. The variabla Moving Average studie gör att du kan bli mycket kreativ med de glidande medelvärdena Tre glidande medelvärden appliceras normalt, exponentiella och jämnas. Period1 För det normala rörande genomsnittet, antalet barer i ett diagram Om diagrammet visar dagliga data, anger perioden dagar i veckovisa diagram, kommer perioden att stå i veckor, och så vidare. Programmet använder en standard på 10.Period2 För Expone Ntial Moving Average, antalet staplar i ett diagram Om diagrammet visar dagliga data, anger perioden dagar i veckovisa diagram, kommer perioden att ligga i veckor, och så vidare. Programmet använder en standard av 10.Period3 För det släta rörliga medeltalet , Antalet staplar i ett diagram Om diagrammet visar dagliga data, anger perioden dagar i veckovisa diagram, kommer perioden att ligga i veckor, och så vidare. Programmet använder en standard av 10.Aspect Den Symbol-fält där studien kommer att Beräknas Fältet är inställt på standard, vilket när du tittar på ett diagram för en viss symbol, är samma som Close. Moving Averages är ett av de mest använda tekniska verktygen. De följer trenden, släpper de normala fluktuationerna i data och Tydligt signalera långa och korta positioner till investeraren. Ett rörligt medelvärde kan visas som ett normalt crossover-handelssystem när du väljer upp till tre olika medelvärden. De flesta investerare och kartläggningstjänster använder tre glidande medelvärden. St kort, mellanliggande och långsiktigt Ett vanligt system är 4, 9 och 18 intervaller Ett intervall kan vara fästingar, minuter, dagar, veckor eller till och med månader beror det på diagramtypen. Signalerna är följande. En köpsignal blinkar när de korta och mellanliggande siktvärdena överstiger underifrån och över det längre siktvärdet. Sammanlagt utförs en säljsignal när de korta och mellanliggande siktvärdena överstiger från under till längre sikt än genomsnittet . En annan metod är att använda slutkurs med det glidande genomsnittet s När slutkursen ligger över det glidande medelvärdet s, behåller du en lång position Om slutkursen sjunker under det glidande genomsnittet, liknar du en lång position och etablerar en kort position. Kom ihåg att något glidande medelvärde fungerar bäst i trending markets. Content Source FutureSource. View Andra tekniska analysstudier. Primary Sidebar. Latest Tweets. Market Alert Det är fortfarande dags att dra nytta av våra handelsrekommendationer i N natgas Se vår specialrapport här Tid sedan 16 timmar via buffert. Läs om att använda CFRN-indikatorer i en LIVE marknadsinställning i morgon s webinar händelse Registrera dig Tid sedan 17 timmar via buffert. Vill veta vad du ska leta efter på råvarumarknaderna Ta Ta bort En lyssna på Turner s Take Podcast Tid sedan 23 timmar via Twitter Web Client. Copyright 2017 Daniels Trading Alla rättigheter förbehållna. Detta material förmedlas som en uppmaning att ingå en derivat transaktion. Detta material har upprättats av en Daniels Trading mäklare som tillhandahåller Forskningsmarknadskommentarer och handelsrekommendationer som en del av hans eller hennes uppmaning till räkenskaper och uppdrag för handel, men inte Daniels Trading upprätthåller en forskningsavdelning enligt definitionen i CFTC regel 1 71 Daniels Trading, dess huvudmän, mäklare och anställda kan handla med derivat för Sina egna konton eller för andras konton på grund av olika faktorer som risk tolerans, marginal krav, handelsmål, kort sikt vs lång Termiska strategier, tekniska vs grundläggande marknadsanalys och andra faktorer kan sådan handel leda till initiering eller likvidation av ståndpunkter som skiljer sig från eller strider mot yttrandena och rekommendationerna som finns där. Fast prestanda är inte nödvändigtvis en indikation på framtida resultat Risken för förlust I handelstransaktioner eller råvaruprodukter kan vara väsentliga och därför borde investerarna förstå riskerna med att ta ställningstaganden och måste ta ansvar för riskerna i samband med sådana investeringar och deras resultat. Du bör noggrant överväga huruvida sådan handel är lämplig för dig Mot bakgrund av dina omständigheter och ekonomiska resurser Du bör läsa webbplatsen för riskinformation som finns tillgänglig längst ner på hemsidan Daniels Trading är inte ansluten till eller godkänner heller något handelssystem, nyhetsbrev eller annan liknande tjänst. Daniels Trading garanterar inte eller verifierar inga prestationskrav som görs av sådana system eller service.

No comments:

Post a Comment