Tuesday 26 September 2017

Moving Genomsnittet Easylanguage


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 senaste 200 datapunkterna och dividerar 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 Sedan utförs loopblocket förra gången och avslutas. Du behöver inte öka värdet för dig 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 slinga 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 Compile 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å diagrammet istället för en underkarta. Nu är du redo att använda indikatorn på ett diagram av ditt val 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 tomten 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 loopbandet 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 just 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. Fri TradeStation Code. We är stolta över att erbjuda våra läsare gratis TradeStation-kod Vår gratis kod är inte bara skräp eller saker som redan kommer med TradeStation Denna kod har utvecklats av några av de främsta experterna på EasyLanguage Vi har fri kod för alla nivåer av TradeStation-användare från nybörjare till expert Läs allt från hur experter använder TradeStation för att bygga komplexa Strategisystem för tips och tricks som du kan använda för egen forskning och utveckling. Samtidigt erbjuder vi fyra olika gratis TradeStation-kodnedladningar. Vi planerar att regelbundet lägga till en ny gratis TradeStation-kod. Denna kod kommer att innehålla TradeStation-strategier, indikatorer, funktioner och mer. Detta program är den grundläggande, fria versionen av den avancerade mjukvaran som utvecklats av Murray Ruggiero Jr. Den är helt öppen källkod och avslöjade Som en ledande TradeStation-expert har Murray spenderat många år på att undersöka relationerna mellan marknader som kallas intermarknadsanalys. Denna gratis TradeStation-kod hjälper dig att analysera interrelaterade marknader och bestämma förutsägelsen för ett sådant förhållande. Med det här verktyget kan du generera 100 objektiva signaler. Denna kod förbättras på den ärafulla Moving Average Crossover genom att introducera en fördröjning. Det är en otroligt välskriven och genomtänkt bit av Jeff Swanson of System Trader Success. Det här rekommenderas läsning och förmodligen förväntar sig mer fri kod från Jeff i Kommande veckor och månader. När man utvecklar en strategi inom TradeStation är det många gånger viktigt att avgöra hur systemet fungerar för att visuellt se hur det kan förbättras. Den här artikeln och gratis TradeStation-kod ger dig en kort introduktion om hur Med några av de inbyggda variablerna i TradeStation kan du visualisera dina system s statistiska åtgärder i ny och innovativ ativa sätt. Detta verktyg låter dig analysera prismönster inom TradeStation Prismönster kan vara svåra att testa på grund av de många olika permutationer som du kanske vill testa George Pruitt som en FTC-kvantitativ specialist inom området tekniska handelsstrategier, har utvecklat öppen källkod Kod som kommer att göra testning av dessa permutationer mycket lättare Det här rekommenderas starkt för alla som är intresserade av prismönsterforskning. Under ett nyligen TradeStation Labs-prat gav Murray bort en fri TradeStation-kod som kan hjälpa de nya på TradeStation-plattformen att lära sig EasyLanguage och hur man Bygga system och utföra forskning Du kan se hela samtalet för dig själv. Murray har också publicerat på sidan ett skal av ett klassiskt intradagssystem som är baserat på pivot-punkts zoner Helt öppen källkod kommer denna gratis nedladdning med två strategier, kallad - Zones och ZoneArticlePartB. Den här koden, som ursprungligen skrevs av TradeStation-expert, löser Sam Tennis en bugg som currentl y existerar i 2D-gruppsorteringsalgoritmen som används av TradeStation. Det är en mycket intressant bit som framhäver ett fel med den nuvarande TradeStation-programvaran. Empirical Mode Decomposition Indicator EMD hjälper till att identifiera om en marknad befinner sig i en cykel eller trendläge. Denna indikator diskuteras i artikeln med titeln Empirical Mode Decomposition i Mars 2010 Issue of Stocks and Commodities, av John F Ehlers och Ric Way. Den här inlägget tar en titt på multi-time-analys inom TradeStation. Det här är en enkel kanalbrytning som kommer in med marknadsordningar på Intradagstavar Vi använder dagliga staplar på data 2 Vi vill se till att våra variabler som används för att få högsta högsta och lägsta låga är bundna för att rulla på en daglig tidsram. Detta kräver en tvåstegsprocess som tillsammans med koden , beskrivs i blogginlägget. Egenprodukt. Bygga adaptiva indikatorer i dina TradeStation-strategier. Det adaptiva indikatorbiblioteket ställer automatiskt in sina indikatorer till hälften av curre nt dominerande cykel baserad på användning av Hilbert transformen Läs mer. Free TradeStation Code. Get gratis, förenklad versioner av de verktyg som TradeStation experter använder i sin dagliga forskning och systembyggnad. Dessa verktyg hjälper dig att lära EasyLanguage eftersom de är helt öppna källor Och låter dig bygga komplexa system utan att behöva veta hur man kodar. Allt du behöver ge är ett namn och e-postadress. Inget kreditkort eller adress krävs. Om Murray Ruggiero Jr. Murray Ruggiero är chefsystemdesigner och marknadsanalytiker Vid TTM Han är en av världens främsta experter på användningen av intermarknads - och trendanalys för att lokalisera och bekräfta utvecklingen av prisrörelser på marknaderna. Murray kallas ofta i branschen som Einstein of Wall Street Läs mer. Moving Average Crossover. Let s ta en titt på ett enkelt glidande medelvärdeöverföringssystem och se om vi kan förbättra det Specifikt kan vi förbättra det genomsnittliga systemets prestanda genom att minska numret björnväxter under de fina marknaderna i de fina marknaderna Whipsaws uppträder när en marknad flyttar från ett trendläge till ett konsolideringsläge Under det här konsolideringsläget blir systemet piskat från lång till kort, vilket skapar en rad förlorande affärer. Långa affärer plötsligt vänder på ditt stopp. Korta affärer Dessa falska signaler kan förstöra din egenkapitalkurva I den här artikeln ska jag presentera två enkla metoder för att förbättra det enkla glidande genomsnittliga crossover-systemet. Dessa idéer kan enkelt implementeras i ditt handelssystem och kan ge en bra utgångspunkt för en trend som följer System. Baseline System. Our baslinjesystem kommer att bestå av två enkla glidande medelvärden SMA som exekveras på ett dagligt diagram över euromontrarna. Jag väljer euron eftersom den har visat solid trendingskarakteristik i motsats till aktieindexmarknaderna som tenderar att vara genomsnittliga återföring Om du kommer att komma ihåg, genereras signaler när en snabbare glidande medelutlösare SMA eller triggerlinjen korsar a långsammare glidande medellång sakta SMA eller långsam linje. Slow SMA 50 period Trigger SMA 3 period. Go Long när utlösaren korsar över Långsam SMA Go Short när utlösaren korsar långsam SMA. Dates testad maj 2001 30 september 2013 Provisioner Slippage 30 dras av per handel Nummer av kontrakt 1. För de som använder TradeStation skapades baslinjesystemet genom att infoga två strategier i diagrammet som tillhandahölls av TradeStation Nedan är de två strategierna Den första kontrollerar de långa inlämnings LE-reglerna och den andra kontrollerar den korta inmatningen SE regler You Kan se inmatningsfälten innehåller de tre och femtiona för de två olika perioderna för våra glidande medelvärden. Köp med hjälp av dessa angivna strategier kan du bygga en glidande genomsnittsövergripande strategi inom några sekunder utan någon kodningsförmåga. Baseline System Equity Curve. Dessa två enkla regler producerar ett handelssystem som faktiskt är lönsamt på lång sikt Detta är en uppskattning av trenderegenskaperna på euro-futuresmarknaden Det finns perioder med stora drag och långa perioder där inga nya kapitalnivåer skapas. Det är inte troligt att någon faktiskt skulle handla med riktiga pengar. Bilden nedan visar en ny period från 2011 när euron gick in i en konsolideringsfas under sommarmånaderna Juni till augusti Under denna tid producerade vårt Baseline System en sträng av åtta på varandra följande förlorande affärer. Under sommaren 2011.Improvement 1 Delayed Entry. With denna inmatningsmetod kommer vi att fördröja vår inträde på marknaden efter att utlösningslinjen passerar den långsamma SMA så När utlösningslinjen passerar den långsamma SMA öppnar vi inte vår position direkt Vi försenar för flera staplar Låt oss säga att vi väntar på 15 barer efter korset inträffar På den tionde stapeln efter signalen ser vi om priset fortfarande ligger över det långsamma SMA för en lång ingång och ange vid den 11: e öppningen. Om priset ligger under vår långsamma SMA, öppnar vi inte en ny position. Genom att göra detta eliminerar vi några whipsaws på bekostnad av att komma in i handeln senare än o Riginal SMA cross Tanken bakom denna metod är att om en ny tjurmarknad ska påbörjas bör priset inte falla under den långsamma SMA. Det är kort sagt ett annat sätt att mäta mängden övertygelse för nästa marknadsfas. Vi kommer dock att Hålla avstämningen samma När ett EMA-kors inträffar stänger vi alltid vår öppna position Vi tillämpar endast fördröjningen när vi öppnar en ny position. Aktiekurvan med vår försenade post flyttar faktiskt hela aktiekurvan över nolllinjen. Færre handlar tas och vi Sänka den totala nettovinsten Aktiekurvan verkar också lite mindre kuddig, vilket innebär en något mer mjukare klättring. Nedan visas en bild som visar whipsaw sommartiden 2011. Du kommer märka att vi har minskat antalet whipsaws från åtta till noll. 2011.Improvement 2 Trading Bands. Unlike standard glidande genomsnittliga crossover där triggerlinjen helt enkelt måste korsa långsam SMA måste vår triggerlinje nu visa övertygelse genom att korsa bortom den långsamma SMA rikligt, bild ett annat band ovanför den långsamma SMA som är 1 ATR över den långsamma SMA För att öppna en ny lång position kräver vi att utlösningslinjen tränger in i det ATR-bandet över den långsamma linjen Nu bildar ett annat band som är en ATR under SMA Detta band representerar vår korta trigger när vi öppnar en kort position Vi hoppas att eliminera några whipsaws genom att fördröja vår post och tvinga marknaden för att visa oss lite styrka. Vissa av er kanske redan har noterat att det vi har är en Keltner Channel A Keltner Channel Är inget mer än ett rörligt genomsnittligt långsamt SMA med ett övre band X antal ATRs över och under det långsamma SMA. De övre och nedre banden fungerar som utlösaren för att ange antingen en lång position eller en kort position. Banden anpassar sig till att öka volatiliteten som kräver mer prisövertygelse att inleda en ny position Likaså kontrakt dessa band under lägre volatilitetstider Således är inmatnings - och utträdesreglerna mer dynamiska till en växlande marknad än en enkel rörlig genomsnittlig crossover. Equi Ty grafen ser inte så mycket annorlunda ut än vårt baslinjesystem Hela egenkapitalkurvan spenderar mindre tid nära nolllinjen och det finns färre trader Nedan är samma tidsperiod som visar att Band System har minskat antalet falska signaler från åtta till två Detta Är en stor förbättring jämfört med Baseline System. Whipsaw Summer 2011.Evå de två metoderna förbättrade resultaten av det ursprungliga baseline systemet. Titta på tabellen nedan kan vi se resultatstatistik som vinstfaktor, procentvinster och genomsnittlig handelsnetto vinst allt ökat Keltner producerade den bästa övergripande statistiken Vi har säkert inte ett handelssystem som kan omsättas med riktiga pengar, men vi fullbordade vårt uppdrag. Vi minskade antalet whipsaws med vårt fördröjda registreringssystem och bandinspelningssystem. Du kan se detta genom att titta på antal affärer som tas av varje system och de procentuella vinnande branscherna. Du kan ta denna forskning i alla typer av riktningar. Här är två fler idéer. Dag med tidsförfall Marknader växlar mellan trending och non-trending Som vi alla vet Ofta kommer du att märka en sträng whipsaws på ett glidande medelvärde crossover system strax efter en bra vinnande handel stängdes Marknaden verkar tydligen nu morphing till en intervallbunden marknad och kommer sannolikt att göra detta För en stund Men eftersom dagarna eller veckorna slår på sannolikheten för en utbrott ökar sålunda Således kanske vi kan minska fördröjningsbeloppet när tiden går. Efter avslutad lyckad handel börjar vi leta efter nästa kors med vår standardfördröjning av X-baren Marknaden är fortfarande bundet och producerar flera falska signaler under veckorna men vårt system tar inga nya signaler. Under dessa falska signaler återställs vår fördröjningsräknare men låt oss inte alltid återställa den till X Varje dag eller varje vecka minskar vi vår X-dag fördröjning med en Vi gör det här eftersom vi tror att tiden går genom en breakout blir mer sannolikt Vi reducerar emellertid aldrig X för att nå noll eller lägre Faktum är att vi kanske aldrig vill gå mycket lägre än 5 eller så. Trend Fi Lter I en tidigare artikel använde jag rsRank eller en 200-årig SMA som en trendindikator för att bestämma den större bilden för euron. Med andra ord är vi inom en bullish eller bearish marknad. Kanske tar vi bara långa affärer under en tjurmarknad eller tar korta affärer under en björnmarknad skulle förbättra resultatet Detta skulle vara ett intressant och enkelt test att utföra Jag skulle gärna höra dina resultat. Säkerställ att lämna en kommentar nedan Jag skulle gärna höra några idéer eller resultat från din egen testning. Ge en Svara Avbryt reply. Featured Product. Build adaptiva indikatorer i TradeStation-strategierna. Det adaptiva indikatorbiblioteket ställer automatiskt in dess indikatorer till hälften av den nuvarande dominerande cykeln baserat på användningen av Hilbert-transformen. Läs mer. Fri TradeStation Code. Get gratis, förenklade versioner av de verktyg som TradeStation-experterna använder i sin dagliga forskning och systembyggnad. Dessa verktyg hjälper dig att lära dig EasyLanguage eftersom de är helt öppna källor och låter dig bygga komplexa systrar Ems utan att behöva veta hur man kodar. Allt du behöver ge är ett namn och e-postadress Inget kreditkort eller adress krävs. Om Murray Ruggiero Jr. Murray Ruggiero är chefsystemdesigner och marknadsanalytiker på TTM Han är en av världens främsta experter på användningen av intermarknads - och trendanalys för att lokalisera och bekräfta utvecklingen av prisrörelser på marknaderna Murray kallas ofta i branschen som Einstein of Wall Street Läs mer.

No comments:

Post a Comment