BOLLINGER BAND OCH KROSS OVER SYSTEM för Amibroker (AFL) SECTIONBEGIN (Bollinger Bands med cross-over och tweaked streckkod) P ParamField (Prisfält, -1) Period Param (Korta perioder, 20, 15, 30, 1) Bredd Param Bredd, 2, 1, 10, 1) TopCondBBandTop (P, Period, Bredd) gtRef (BBandTop (P, Period, Bredd), - 1) MidCondMA (C, Period) gtRef (MA (C, Period) BotCondBBandBot (P, Period, Bredd) gtRef (BBandBot (P, Period, Bredd), - 1) UpColorIIf (TopCond AND MidCond, colorTurquoise, colorPink) DownColorIIf (MidCond AND BotCond, colorTurquoise, colorPink) PlotOHLC (BBandTop Bredd), BBandTop (P, Period, Bredd), MA (C, Period), MA (C, Period),, UpColor, StyleCloudstyleNoLabelstyleNoTitle, Null, Null, Null, -2) PlotOHLC (P, Period), BBandBot (P, Period, Bredd), BBandBot (P, Period, Bredd),, DownColor, StyleCloudstyleNoLabelstyleNoTitle, Null, Null, Null, -2) Plot (BBandBot (P, Period, Bredd) colorGreen, styleThickstyleNoTitle, Null, Null, Null, -1) Plot (BBandTop (P, Period, Bredd) "ColorRed, StyleThickstyleNoTitle, Null, Null, Null, -1) Plot (MA (C, Period) ,, colorLime, styleThickstyleNoTitle, Null, Null, Null, -1) FilterTopCond och MidCond och BotCond AddColumn (V, volym, 1,0 ) SEKTIONBEGIN (Pris) SetChartOptions (0, chartShowArrowschartShowDates) N (Titel StrFormat (- Öppna g, Hej g, Lo g, Stäng g (.1f) Vol SkrivVal (V, 1.0), O, H, L, C, SelectedValue ROC (C, 1))) trendup IIf (MACD (12,26) gt O OCH MACD (12,26) gt Signal (12,26,9), färgblå, colorWhite) trendfärg IIf (MACD (12,26) lt 0 OCH MACD (12,26) lt Signal (12,26,9), colorRed, trendup) Plot (C, Stäng, trendfärg, stilBar stilTjock) RSIup RSI (7) gt 70 RSIdown RSI (7) lt 30 sp Param (RSI period, 7, 1, 100) r RSI (sp) RSIup r gt 70 RSIdown r lt 30 form RSIup formNone RSIdown formNone PlotShapes (form, IIf (RSIup, colorBrightGreen, colorRed), 0, IIf (RSIup, Låg, Hög )) om (ParamToggle (Tooltip visar alla värden Endast priser)) ToolTipStrFormat (Öppna: gnHigh: gnLow: gnClose: g (.1f) nVolume: Num ToStr (V, 1), O, H, L, C, SelectedValue (ROC (C, 1))) AVSNITT END () SetChartBkColor (ParamColor (Panelfärg, färg Svart)) PlotOHLC (Open, High, Low, Close, colorLime , StyleBar styleThick) SECTIONBEGIN (trailstops) EntrySignal C gt (LLV (L, 20) 2 ATR (10)) ExitSignal C lt (HHV (H, 20) - 2 ATR (10)) Färg IIf (EntrySignal, colorBlue, IIf ExitSignal, colorOrange, colorGrey50)) TrailStop HHV (C - 2 ATR (10), 15) ProfitTaker EMA (H, 13) 2 ATR (10) prissättning prisdiagram och slutar Plot (TrailStop, Trailing stop, colorGold, styleThick styleLine) Plot (C, Pris, färg, stilBar) plot färgband Plot (2,, Färg, styleArea styleOwnScale styleNoLabel, -0,1, 50) SECTIONBEGIN (GFX EMA) procedur Plotlinjebredd (pvalue, ptitle, pcolor, pstyle, pmin, pmax, pxshift, plungewidth, pshowdate8203) lokal pvalue, ptitle, pcolor, pstyle, pmin, pmax, pxshift, plinewidth, ppenstyle, pshowdate local Miny, Maxy local Lvb, fvb local pxwidth, pxheight local TotalBars, axelområde local i, x, y om (plinewidthgt0 am px Status (action) 1 ampamp (pstyle amp styleLinestyleLine)) GfxSetOverlayMode (0) MinyStatus (axminmin) MaxyStatus (axismaxy) lvbStatus (lastvisiblebar) fvbStatus (firstvisiblebar) pxwidthStatus (pxwidth) pxheightStatus (pxheight) TotalBarsLvb-fvb xaxisarea56 om (pshowdate) yaxisarea10 annars yaxisarea0 i0 x5i (pxwidth-xaxisarea-10) (TotalBars1) y5yaxisarea (pvalueifvb-Miny) (pxheight-yaxisarea-10) (Maxy-Miny) GfxMoveTo (x, pxheight-y) för (i1 iltTotalBars and ilt (BarCount-fvb ) i) GfxSelectPen (pxheight-yaxisarea-10) (Maxy-Miny) GfxLineTo (x, pxheight-y) RequestTimedRefresh (pxheight-yaxisarea-10) (pxwidth-xaxisarea-10) (TotalBars1) y5yaxisarea (pvalueifvb-Miny) (2) Periodens (5, 3, 25, 1) TL1 LinearReg (C, p1) TL2 EMA (TL2 Period, 5, 3, 25, 1) P1 Param (TL 1 Period, 20, 5, 50, 1) (TL1, P2) Col1 IIf (TL1 gt TL2, ParamColor (TL Up Color, colorBrightGreen), ParamColor (TL Dn Color, colorCustom12)) Plot (TL1, TriggerLine 1, Col1, styleLinestyleThickstyleNoLabel) Plot (TL2 , TriggerLine 2, Col1, styleLinestyleThickstyleNoLabel) AVSNITT END () SECTIONBEGIN (Large Triggers) p3 Param (TL 3 Perioder, 80, 5, 100, 1) p4 Param (TL 4 Period, 20, 3, 100, 1) TL3 LinearReg , P3) TL4 EMA (TL3, p4) Col1 IIf (TL3 gt TL4, ParamColor (TLL Up Color, colorBlue), ParamColor (TLL Dn Color, colorRed)) Plot (TL3, TriggerLine 3, Col1, styleLinestyleThickstyleNoLabel) Plot (TL4, TriggerLine 4, Col1, styleLinestyleThickstyleNoLabel) AVSNITT END () AvsnittBEGIN (Fibo Retrace and Extensions) fib ParamToggle (Plot Fibs, OffOn, 1) pctH Param (Pivot Hej, 0.325,0.001,2.0,0.002) HiLB Param (Hej LookBack, 1,1 , BarCount-1,1) pctL Param (Pivot Lo, 0.325,0.001,2.0,0.002) LoLB Param (Lo Lookback, 1,1, BarCount-1,1) Tillbaka Param (förläng vänster 2,1,1,500,1) Fwd Param (Plot Framåt, 0, 0, 500, 1) Text ParamToggle (Plot Text, OffOn, 1) hts Param (Text Shift, -33,5, -50,50,0,10) Style ParamStyle (Linjestil, StyleLine, StyleNoLabel) x BarIndex () pRp PeakBars (H, pctH, 1) 0 yRp0 SelectedValue (ValueWhen (pR p, H, HiLB)) xRp0 SelectedValue (ValueWhen (pRp, x, HiLB)) pSp Tågfält (L, pctL, 1) 0 ySp0 SelectedValue (ValueWhen (pSp, L, LoLB)) xSp0 SelectedValue (ValueWhen (pSp, x, LoLB)) Delta yRp0 - ySp0 funktionsfib (ret) retval (Delta ret) Fibval IIf (retl 1.0 och xSp0l xRp0, yRp0 - retval, IIf (retl 1.0 och xSp0 gt xRp0, ySp0 retval, IIf (ret gt 1,0 OCH xSp0 lt xRp0, yRp0 - retval, IIf (ret gt 1.0 OCH xSp0 gt xRp0, ySp0 retval, Null))) returnera FibVal x0 Min (xSp0, xRp0) - Back x1 (BarCount-1) r236 fib (0.236) r236I LastValue (r050,1) r618 fib (0.618) r618I LastValue (r618,1) r786 fib (0.786) r786I LastValue (r08,1) (e262,1) e200 fib (2.00) e200I LastValue (e200,1) e262 fib (2.62) e262I LastValue (e262, e262i) 1) e424 fib (4.24) e424I LastValue (e424,1) p00 IIf (xSp0 gt xRp0, ySp0, yRp0) p00I LastValue (p00,1) p100 IIf (xSp0 lt xRp0, ySp0, yRp0) p100I LastValue (p100,1) color00 IIf (xSp0 gt xRp0, colorLime, colorRed) color100 IIf (xSp0 lt xRp0, colorLime, colorRed) numbars LastValue (Cum (Status (barvisible))) fraktion IIf StrRight (Name (), 3), 3.2, 3.2) om (fibs1) Plot (LineArray (xRp0-Fwd, yRp0, x1, yRp0, Back), PR, 32,8styleNoRescale, Null, Null, Fwd) Plot (LineArray xSp0-Fwd, ySp0, x1, ySp0, Back), PS, 27,8styleNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, r236, x1, r236, Tillbaka) ,, 45, stilstilNoRescale, Null, Null , Fwd) Plot (LineArray (x0-Fwd, r382, x1, r382, bakåt) ,, 44, stilstilNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, r050, x1, r050, Tillbaka) ,, 41 , StylestyleNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, r618, x1, r618, Tillbaka) ,, 43, stilstilNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, r786, x1, r786 , Back), 42, StylestyleNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, e127, x1, e127, Tillbaka), e127,47, stilstilNoRescale, Null, Null, Fwd) Fwd, e162, x1, e162, Back), e162,47, stilstilNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, e200, x 1, e200, baksida), p200,47, stilstilNoRescale, Null, Null, Fwd) Plot (LineArray (x0-Fwd, e262, x1, e262, baksida), p262,47, stilstilNoRescale, Null, Null, Fwd) Plot LineArray (x0-Fwd, e424, x1, e424, baksida), p424,25, stilstilNoRescale, Null, Null, Fwd) om (text1) PlotText (0 WriteVal (p00, fraktion), LastValue (BarIndex ()) - (numbarshts ), p00I 0,05, färg00) PlotText (23 WriteVal (r236, fraktion), LastValue (BarIndex ()) - (numbarshts), r236I 0.05, 45) PlotText (38 WriteVal (r382, fraktion), LastValue (BarIndex ()) - (numbarshts), r382i 0,05, 44) PlotText (50 WriteVal (r050, fraktion), LastValue (BarIndex ()) - (numbarshts), r050I 0,05, 41) PlotText (62 WriteVal (r618, fraktion), LastValue (BarIndex ) - (numbarshts), r786i 0,05, 42) PlotText (100 WriteVal (p100, fraktion), LastValue (BarIndex) (), (Numbarshts), p100I 0,05, färg100) PlotText (127 WriteVal (e127, fraktion), LastValue (BarIndex ()) - (numbarshts), e127I 0,05, 47) PlotText PlotText (200 WriteVal (e200, fraktion), LastValue (BarIndex ()) - (numbarshts), e200I 0,05, 47) PlotText (424 WriteVal (e424, fraktion), LastValue (BarIndex ()) - (numbarshts), e424I 0,05, 25) AVSNITT END () Kod för att automatiskt identifiera svängningar - vad blir vårt lookback-område för hh och ll farbackParam (Så långt tillbaka till 100,50,5000,10) nBars Param (Antal staplar, 12, 5, 40) Titelnamn () (StrLeft (FullName (), 15)) O: Öppna, H: Hög, L: Låg, C: Stäng - Plot grundläggande ljusdiagram PlotOHLC (Öppna, Hög, Låg, Stäng, N OO nH H NL LAUGA 25, 2011 VIKTIGT: Använd inte indikatorn i ett riktigt handelssystem, det ser framåt i tid och gör att du förlorar pengar. Det är endast avsett för forskning: att visa potentiella vinster och visningspilar på mycket lönsamma positioner för att underlätta formulering av bättre handelsregler. Indikatorn som presenteras här liknar mycket ZigZag-indikatorn, förutom att vändpunkterna för denna indikator är de motsatta Bollinger-banden som senast bryts före nästa signal. Formeln är skrivet som ett handelssystem. Det kan vara Backtested, och BB-perioden och bredden kan optimeras. Eftersom detta bara är en experimentell formel har inget försök gjorts för att optimera koden. Filed by Herman at 8:43 pm under Indicators Comments Off på Bollinger Band ZigZag Indicator Kommentarer är stängda. Senaste inlägg Senaste kommentarer Kategorier Copyright (C) 2006 AmiBroker. Den här webbplatsen använder WordPress-sidan genererad på 0.535 sekunder. Bättre System Trader Better System Trader är podcast och blogg dedikerad till systematiska handlare, och erbjuder praktiska tips från handelsexperter runt om i världen. Blast Köp 038 Håll med denna enkla Bollinger Band-strategi I Episode 4 i Better System Trader podcast. Nick Radge diskuterar några handelsidéer som han brukade skapa lönsamma system. Han nämner en Bollinger Band-idé som också publiceras i sin bok Unholy Grails. Nick säger: Strategin som vi testade och visade mycket lovande resultat var en post med ett Bollinger-band och en utgång med det motsatta Bollinger-bandet, men vi använder 3 standardavvikelser för ingången och 1 standardavvikelse för utgången, bara för att hålla Bakgrunden stannar lite snabbare.8221 I Unholy Grails används strategin på den australiensiska börsen, men i den här artikeln kommer den att testa den på Nasdaq 100 istället för att avgöra om strategin har potential på andra marknader. Handelsreglerna Först och främst är testparametrarna: Period: Dagliga diagram Universum: Nasdaq 100, med historiska beståndsdelar för att eliminera överlevnadsförhållanden, data från Premium Data Testperiod: Från 112005 till 112015. Denna period valdes eftersom den har en blandning av tjur - och björnmarknader samt hög och låg volatilitet Startkapital: 100 000 Maximalt antal samtidiga affärer: 6 Ställningsstorlek: Varje position är 16: e 100 000 Sammansatt vinst: Nej Provisioner: 10 varje gång Hävstång: 0 Nu för inresa och utgång regler. I Nicks bok använder han 100 period Bollinger Bands så bra gör detsamma. Det övre Bollinger-bandet kommer att vara 3 avvikelser från centrallinjen, det lägre Bollinger-bandet kommer att vara 1 avvikelse under centrallinjen. Inträde: Köp på Öppet dagen efter att ett lager stängt över topp Bollinger Band Exit: Avsluta på Öppet dagen efter att ett lager stängt under det nedre Bollinger Bandet. Här är ett exempel på en post (10052007) och utgång för AAPL: The Den årliga avkastningen på grundstrategin är nästan 20 bättre än Köp amp Hold med mindre än 12 drawdownen. Aktiekurvan för den grundläggande strategin visar en generell ökning av eget kapital med några perioder av utdelning: Lägga till ett marknadsfilter Ett marknadsfilter används för att koppla en strategi till eller från baserat på bredare marknadsförhållanden. Eftersom det här är ett långt enda system vill vi förmodligen inte komma in i affärer på en björnmarknad, så bara gå in i branschen när indexet stiger. Med SampP 500 det mest använda indexet av finansiärer, skulle det användas för indexfiltret. I detta test definieras en tjurmarknad som indexförslutningen över det 100 dagars enkla glidande genomsnittet när indexet stänger under 100-dagars glidande medelvärde, det är en björnmarknad och vi kommer inte att gå in i handeln tills priserna stängs tillbaka över 100 dagars rörelse genomsnitt. 100-dagars glidande medelvärde valdes för att matcha Bollinger Band-värdet, andra glidande medellängder kan fungera bättre men måste testas. Resultaten: Indexfiltret har förbättrat strategins kvalitet, med högre avkastning, lägre drawdown och högre winloss-förhållande med färre affärer. Det finns perioder under testet där fler handelssignaler presenteras än vi kan ta med högst 6 positioner, så vi måste bestämma vilka lager att välja när det händer. Låt oss försöka en grundläggande rankningsstrategi för att systematisera urvalsprocessen. När ett antal lagerposter inträffar samma dag måste vi fatta beslut om vilka som ska tas. Vi kunde välja dem slumpmässigt, men vi skulle behöva springa monte carlo simuleringar för att få en bättre indikation på möjliga variationer med denna metod. Jag föredrar att lägga till ett enkelt rankningssystem för strategin så att aktievalet är helt systematiskt. Den rankningsstrategi jag ska använda här är baserad på vad jag tycker strategierna styrka. Jag förväntar mig att strategin kommer att fungera bäst antingen efter en björnmarknad eller en konsolideringsperiod, in i början av en ny tjurmarknad eller bryta ut av konsolidering och rida den högre. I det här fallet skulle du försöka ranka med förändringshastighet under de senaste 90 dagarna, så lagren med den minsta förändringshastigheten kommer att ha högre prioritet än de med en stor förändringshastighet. Logiskt sett är det meningsfullt men vad berättar resultaten för oss Rangordningsstrategin gav en högre årlig avkastning, med lägre drawdown, ett lägre antal affärer och en högre vinst. Det kan inte ha påverkat för många branscher, så att rangordningen inte kan vara statistiskt signifikant men det ger en systematisk metod att välja lager när flera möjligheter presenterar sig. Kraften i Compounding Hittills har vi sett den grundläggande strategin något överträffar Buy amp Hold men med betydligt lägre drawdowns. Inkluderingen av ett indexfilter och rankning av minsta ROC har förbättrat strategin, trots att resultaten är utestående. Låt oss se hur sammansatt vinst påverkar strateginsultat: Grundstrategi med indexfilter Grundstrategi med Index-filter och minsta ROC-ranking Grundläggande strategi med indexfilter och ROC-ranking förstärkningsvinst förhöjd Uppdatering 274 8211 Som efterfrågad av Rick är här ett histogram av fördelningar med Merparten av branschen inom intervallet -25 till 70 och några branscher med 100 och högre: Med sammanslagna vinster har vi nu en strategi som ger mer än dubbelt så mycket som återköp av Buy amp Hold med bara hälften av drawdownen. Vinstratten på 73,33 och winloss-förhållandet på 3,33 är också bra för ett trendföljande system. Det verkar som om strategin har viss potential och motiverar ytterligare undersökning. Vissa områden av överväganden kan vara: Bollinger Bands längd, Olika marknadsprodukter, Fler adaptiva bakåtstopp, Ranking baserat på andra mätvärden, Lämplighet för andra marknader. Som en kopia av AmiBroker-koden Vill du få de senaste uppdateringarna automatiskt Det bästa sättet att bli informerad när nya saker släpps är att anmäla dig till e-postlistan nedan och var noga med att meddela dig: 004 - Nick Radge 005 - Kevin Davey Relaterade inlägg Hans van der Helm Tack för den mycket intressanta artikeln 8220Blast Buy amp Hold med denna enkla Bollinger Band strategy8221. I8217m med Amibroker också. Är det möjligt att posta (eller skicka mig) koden för det här systemet Tack på förhand. Med vänliga hälsningar, Hans van der Helm Hej Hans, I8217ve har precis skickat dig AFL-koden, hoppas det hjälper. Andrew-Tack för att du skriver upp. Jag är intresserad av afl. Uppskatta ditt arbete med detta. Tack Derrick, I8217ve mailade dig en kopia av AFL. Tack för den stora informationen. Kan du vänligen skicka e-post till tack? Den här strategin är enbart lagerstrategi Hi Casey, I8217ve har bara testat det på lager men det kan fungera på futuresforex etc. Jag kan ge AmiBroker-koden om du vill testa den själv Nice artikel. Kan du snälla skicka AFL-koden Tack Bob, I8217ve har precis skickat dig AFL-koden. Tack för den intervjun med Nick och analysen av hans Bollinger Band-system. Ser fram emot AFL-koden. Mycket intressant. Skål John, I8217ve har precis skickat dig AFL-koden. Verkligen njuter av podsändningarna och den stora informationen du tillhandahåller. Kan du skicka genom AFL-koden. Tack så mycket, fick det Två saker: (a) Kan du posta resultat från indexstart Även om det finns en downtrend har den valda perioden två uppåtgående steg. (b) Vad var bidraget från AAPL och GOOG i resultaten Om du skulle ta bort dessa företag från indexet, vad skulle det vara resultatet I8217m säger detta eftersom det inte är oförlikt att ha liknande företag inom en snar framtid. I vilken utsträckning påverkas dina resultat av ett fåtal outliers? Bra poäng om att överväga outliers. Jag kontrollerade handelsresultaten och de affärer med högsta avkastning weren8217t faktiskt AAPL eller GOOG. Faktum är att strategin didn8217t ta en handel med GOOG alls och AAPL var bara den 3: e högsta, här är topp 5: GILD: 213.98 BIDU: 137.33 AAPL: 107.10 EXPE: 103.48 QVCA: 98.10 Om jag tar bort alla AAPL-affärer, Årlig avkastning är 18,43 och DD är -23,60 så avkastningen är något lägre men who8217s vet vad som händer i framtiden 8211 AAPL kan fortsätta högre, en annan aktie kan ta över, den här strategin kan misslyckas miserably imorgon, vi vet aldrig. Tack Jag är fortfarande oroad över outliers. Jag skulle vara trevligt om du kunde lägga till bloggen ett histogram av avkastning per aktie handlas, kanske minst de 30 bästa. Då blir det klart om resultatet berodde på några slumpmässiga avvikare eller på grund av metoden. Ursäkta för begäran men jag har inte uppgifterna att göra det, annars skulle jag göra det. Hej Rick, I8217ve lade till ett diagram som visar avkastningen. Huvuddelen av branschen ligger inom intervallet -25 till 70, med några 100 eller högre. Jag hoppas att svara på dina frågor. Tänk på att denna forskning inte är ett komplett handelssystem, det är bara en utgångspunkt. Syftet med forskningen var att avgöra om den strategi som Nick nämner i podcasten har potential på andra marknader. Det verkar som det kan men ytterligare utredning måste självklart slutföras innan man tar det vidare. Om du kan rekommendera att du får lite data och kör några av dessa tester själv, är det säkert att strategin kan förbättras så att I8217d är intresserad av att höra dina resultat. Bra skriv upp. It8217s fantastiskt vad ett enkelt system med bara några tweaks kan göra. I8217d uppskattar en kopia av AFL-koden så jag kan se om jag kan göra några andra tweaks som kan hjälpa till. Tack. Hej Gav, glad att du tyckte om det. Ja, I8217ve fann att de enkla systemen ofta är de bästa, jag ser fram emot att höra vad du upptäcker i din testning. AFL är på väg. 8230 Blast Buy amp Hold med denna enkla Bollinger Band-strategi Bättre System Trader I Episode 4 i Better System Trader podcast diskuterar Nick Radge några handelsideer som han brukade skapa lönsamma system. Han nämner en Bollinger Band-idé som också publiceras i sin bok Unholy Grails. Nick säger: Strategin som vi testade och visade mycket lovande resultat var en post med ett Bollinger-band och en utgång med det motsatta Bollinger-bandet, men vi använder 3 standard 8230 8230 Klla: Blast Buy amp Hold med denna enkla Bollinger Band-strategi 8211 Bättre systemhandlare 8230 Handelslager, optioner, terminer och forex innebär betydande risk för förlust och är inte lämplig för alla. Tidigare resultat är inte nödvändigtvis en indikation på framtida resultat.
No comments:
Post a Comment