Friday 17 February 2017

Gaußscher Gleitender Durchschnitt Afl

Es sagt viel über Ihre Ethik, dass Sie nicht das Bedürfnis verspüren, den ursprünglichen Coder dieses AFL anzuerkennen. Allerdings ist diese besondere Umsetzung von ALMA in amibroker nicht ganz genau. Die korrekte Umsetzung von ALMA in Übereinstimmung mit Ninja Trader und Meta Trader Releases durch die ursprünglichen Entwickler von ALMA i. e Arnaud amp Legoux wurde von mir eingereicht, so dass Amibroker-Nutzer auch profitieren können. Nur ein Wort, das ist fantastisch ALMA kann mit der FIR-Funktion codiert werden. Durch Zufall stieß ich in dieses Schreiben: das scheint nicht zu Pop-up, wenn Sie in das Handbuch schauen. FIR ermöglicht es Ihnen, eine Faltung eines Eingangs-Array mit einer etwas kleineren Funktion wie eine Gaußsche Fenster-Typ-Funktion zu tun. Diesen Code: windowSizeParam (8220Window Size8221,9,5,201,2) sigmaParam (8220Sigma8221,6,1,20) OffsetParam (8220Offset8221,0.85,0.05,1.0,0.05) Funktion ALMAAFL (Eingang, Bereich, Offset, Sigma) lokale m, im, s, Koeff mfloor (Offset (range-1)) srangesigma SetChartOptions (0, chartShowDates) Plot (C, 8220Close8221, colorLightGrey, styleCandle) Plot (rr, quotquot, Farbeblau, 1) in der Tat kann es unter Verwendung programmiert werden: wsParam (8220Window Size8221,9,5,201,2) sigmaParam (8220Sigma8221, 6, 1, 20,1) OffsetParam (8220Offset8221,0.85,0,1.0,0.05) biBarIndex () mfloor (Offset (ws-1)) swssigma windowIIf (biltws (1) -1) - m, 0) windowIIf (biltws, exp (- (window2) (2s2)), 0) rr FIR (C, Fenster, ws) SetChartOptions (0, chartShowDates) 8220Close8221, colorLightGrey, styleCandle) Plot (rr, 8220 ALMA 8221, Farbeblau, 1) Arnaud Legoux Moving Average - ALMA angebaute Bild (zum vergrößern klicken) meine ich - es auf eine offene Bar, richtig So kann es nur zu Informationszwecken verwendet werden . MTF setzt die Malerei fort. Es kann gut sein, eine Version mit diesem Indikator (ALMAv1 SW) mit Bar 1 (geschlossener Balken) zu haben. Histo in geschlossener Bar. In diesem Fall können wir ihn für den Handel nutzen - jeden Zeitrahmen mit Bar 1 (in den Einstellungen ist standardmäßig Bar 1). Außerdem kann es gut sein, einige Informationen über das Diagramm über Zeitrahmen zu haben. In diesem Fall - wenn viele Indikatoren an demselben Unterfenster angebracht sind, können wir wissen, welcher Zeitrahmen für welchen histo zum Beispiel ist. Vorlage für dieses Diagramm ist beigefügt. Req afl cpoding für einen speziellen gleitenden Durchschnitt ALMA Req afl cpoding für einen speziellen gleitenden Durchschnitt ALMA Hier ist ein spezieller gleitender Durchschnitt. Es basiert auf Wahrscheinlichkeitsverteilung-Gaussian. Lesen Sie bitte das pdf und versuchen, es zu kodieren, wenn möglich. Der Code hat etwas Besonderes. Warum so ALMA SO SPEZIELLE HÖREN IST DEVELOPERArnaud L. Im Versuch, eine neue Art von Moving Average mit einigen friendscolleagues (weil ich ein wenig müde von der klassischen Satz von MA allbodys Verwendung für die letzten 10 Jahre) zu schaffen, weve (ALMA). Es entfernt kleine Preisschwankungen und steigert den Trend mit einem gleitenden Durchschnitt zweimal, von links nach rechts und von rechts nach links. Am Ende dieses Prozesses wird die Phasenverschiebung (Preisverzögerung), die häufig mit bewegten Durchschnitten verbunden ist, signifikant reduziert. Zero-Phasendigitalfilterung reduziert Rauschen im Signal. Eine herkömmliche Filterung reduziert Rauschen im Signal, aber addS verzögert. Die ALMA kann einige hervorragende Ergebnisse geben, wenn Sie die Zeit nehmen, um die Parameter zu optimieren (nicht brauchen, um diesen Teil zu erklären, wird es leicht für Sie, die richtige Einstellung in weniger als Stunde zu finden) .. Arnaud L. es ist diese Anwendung von Gleitender Durchschnitt von links nach rechts und von rechts nach links ist das, was es besonders macht - bisher gibt es keinen solchen Code im amibroker. Für Interessenten in mt4-Code von alma, können Sie sich auf Anlage. Es kann aus adheer pai basiert afl Wahrscheinlichkeit und Gaußverteilung bereits vorhanden vorbereitet werden. Hier ist der Amibroker-Code für Wahrscheinlichkeit und Gaußverteilung Wir brauchen nur den GUASSISCHEN TEIL. In diesem einige Ausbau und Ergänzungen erforderlich sind, um getan werden. Entfernen Entfernen Sie probabilityDENSITY ADDITION addieren Sie Sigmawert von 6, addieren Sie Offset von 0.85 Ich fordere die Experten an, um diese Aufgabe zu behandeln DER OBEN CODE BASIS WURDE VON ADHEER PAI. Thanks zu seinem festen Inhalt. Name. Wahrscheinlichkeitsdichte Ampere Gaußsche Verteilung Beschreibung. Visual Darstellung der Verteilung der Daten-Serie (z. B. Preis, Preisänderung, LogNormal Preisänderung etc.). Identifizieren Sie, ob die Serie eine normale Gaußsche Verteilung aufweist. Autor. Adheer Pai (adheer bei gmail dot com) Geschichte. Die Eingangsreihe zur Darstellung der Wahrscheinlichkeitsdichte und der Gaußschen Verteilung Verwenden Sie die Reihe SERIES oder ersetzen Sie sie entsprechend. Konstanten PI 3.14159 SHOWBELLCURVE quotShowquot HIDEBELLCURVE quotHidequot AFL Eingänge nSample Param (quotDataSet Sizequot, 500, 100, 1000) nSegments Param (quotDensity Segmentsquot, 15, 10, 20) bGauss ParamList (quotGaussian Curvequot, SHOWBELLCURVE quotquot HIDEBELLCURVE, 0) nPrecision Param (quotPrecision Digitsquot , 5, 0, 6) nPrecision 8 nPrecision 10 Konstanten - System und abgeleitet. nBarIndex SelectedValue (BarIndex ()) nFirstValidBar -1 für (i 0 i lt BarCount i) if (IsEmpty (SERIESi)) nFirstValidBar i brechen nSample Max (Min (nBarIndex -. nFirstValidBar nSample), 1) Datasize 0 Anzahl der Proben (es sollte als nPeriod) arrMean MA (SERIES, nSample) arrMax HHV (SERIES, nSample) arrMin LLV (SERIES, nSample) arrSDev StDev (SERIES, nSample) currMax arrMaxnBarIndex Maximum des Bereichs gleich sein. CurrMin arrMinnBarIndex Minimum des Bereichs. Mu arrMeannBarIndex Mittel (Mu) Sigma arrSDevnBarIndex Standardabweichung des Bereichs (Sigma) rangeOfBar (currMax-currMin) nSegmente Der Bereich jeder Verteilungsleiste. BarFrequenz 0 Vorkommen innerhalb jedes Balkens. MaxFrequenz 0 Höchste Anzahl von Vorkommnissen. DisplayBorder Zeigt die Diagrammgrenzen an. Funktion DisplayBorder () GfxSelectPen (colorBrown, 1, styleDashed) GfxMoveTo (pxMargin, pxMargin) GfxLineTo (pxMargin, pxHeight - pxMargin) GfxLineTo (pxWidth - pxMargin, pxHeight - pxMargin) GfxLineTo (pxWidth - pxMargin, pxMargin) GfxLineTo (pxMargin, pxMargin) ComputeSigmaBandDistribution Berechnet die Verteilung mit der angegebenen Sigma-Bande, die durch minvalue und maxvalue begrenzt wird. Funktion computeSigmaBandDistribution (MinValue, MaxValue) nCount 0 für (i nBarIndex i gt nBarIndex - nSample ampamp i gt 0 i--) if (SERIESi gt MinWert ampamp SERIESi lt MaxValue) nCount 100 nCount nSample getGaussianValue Funktion Rückkehr des Gaußschen Verteilungswert zu berechnen ( Y) für einen gegebenen Wert von X (nicht skaliert). Function getGaussianValue (inputValue) Schritte zum Berechnen der normalen Gaußschen Verteilung. 1) Berechnen (x - mu) quadriert, multiplizieren Sie es mit -1 Schritt1 -1 ((inputValue - Mu) 2) 2) Berechnen Sie zweimal (sigma quadriert). Schritt 2 2 (SigmaSigma) 3) Teilen Sie 1 bis 2, und erhalten Sie die exp step3 exp (step1step2) 4) Jetzt teilen Sie Schritt 3 durch Sigma. step4 step3 Sigma 5) Nun teilen Schritt 4 durch Quadratwurzel (2 x PI) step5 step4 sqrt (2PI) Berechnen Sie den arithmetischen Mittelwert, Minimum und Maximum des Preises Serie Berechnen Sie die Häufigkeit der Vorkommnisse für (nIndex nBarIndex NIndex gt ( nBarIndex - nSample) ampamp nIndex gt 0 nIndex -) nCurrIndex int ((SERIESnIndex - currMin) rangeOfBar) nCurrIndex Max (Min (nSegments-1, nCurrIndex), 0) barFrequencynCurrIndex MaxFrequency Max (MaxFrequency, barFrequencynCurrIndex) Nun ist die Frequenz Anzeige der Vorkommnisse - aka Verteilung GfxSetBkMode (1) GfxSelectFont (quotVerdanaquot, 8, 800) GfxSetTextAlign (6) GfxSetTextColor (Blau und Rot) pxScaleX (pxWidth - 2 pxMargin) nSegments pxScaleY 0,9 (pxHeight - 2 pxMargin) MaxFrequency für (i 0 i lt nSegments i) pxStartX pxMargin i pxScaleX pxEndX pxStartX pxScaleX pxStartY pxMargin barFrequencyi pxScaleY GfxGradientRect (pxStartX, pxHeight -. pxStartY pxEndX, pxHeight - pxMargin, ColorRGB (70255255), ColorRGB (70,20,255)) GfxTextOut (NumToStr (100barFrequencyinSample. 4.2) quotquot, (pxStartXpxScaleX2), pxHeight - pxStartY - 15) Zeichne nun den mittleren und den Standardabweichungsbereich auf. pxScaleXPixelsPerPriceUnit (pxWidth - 2 pxMargin) (currMax - currMin) meanLineX pxMargin (Mu - currMin) pxScaleXPixelsPerPriceUnit GfxSelectPen (Farbeblau, 2, 3) GfxMoveTo (meanLineX, pxMargin) GfxLineTo (meanLineX, pxHeight - pxMargin) GfxTextOut (quotMeanquot, meanLineX, pxHeight - pxMargin) GfxTextOut (NumToStr (Mu, nPrecision), meanLineX, pxHeight - pxMargin3) für (i 1 i lt 6 i) Nun zeichnen Sie die mittlere - 1-StDev sDevBand pxMargin (Mu iSigma - currMin) pxScaleXPixelsPerPriceUnit if (sDevBand lt pxWidth - pxMargin ) GfxSelectPen (ColorRGB (128,128,128), 1, 4) GfxMoveTo (sDevBand pxMargin) GfxLineTo (sDevBand pxHeight -.. pxMargin) GfxTextOut (quotquot NumToStr (i, 1.0) quot SDquot, sDevBand, pxHeight - pxMargin) GfxTextOut (NumToStr (Mu isigma , nPrecision) sDevBand, pxHeight - pxMargin3) sDevBand pxMargin (Mu - iSigma - currMin) pxScaleXPixelsPerPriceUnit if (sDevBand gt pxMargin) GfxSelectPen (ColorRGB (128,128,128), 1, 4) GfxMoveTo (sDevBand pxMargin) GfxLineTo (sDevBand pxHeight -.. pxMargin ) GfxTextOut (zit-quot NumToStr (i, 1,0) quot SDquot, sDevBand, pxHeight - pxMargin) GfxTextOut (NumToStr (Mu - isigma, nPrecision), sDevBand, pxHeight - pxMargin3) Legende und Dateninformationen. GfxSetBkMode (1) GfxSetTextAlign (0 24) GfxSelectFont (quotVerdanaquot, 8, 400) GfxSetTextColor (Farbeblau) GfxTextOut (quotLatest quot NumToStr (SERIESnBarIndex, nPrecision), 10 pxMargin, pxMargin 15) GfxTextOut (quotMean quot NumToStr (Mu, nPrecision), pxMargin 10, pxMargin 30) GfxTextOut (Sigma NumToStr (Sigma, nPrecision), pxMargin 10, pxMargin 45) Zeigen Sie nun die Verteilung der ersten 10 Standardabweichungen oder weniger an. nLastPixelY pxMargin 60 für (numOfStDevs 1 numOfStDevs lt 10 numOfStDevs) nCount computeSigmaBandDistribution (Mu - numOfStDevs Sigma, Mu numOfStDevs Sigma) GfxTextOut (NumToStr (numOfStDevs, 1,0) quot-Sigma quot NumToStr (nCount, 5.2) quotquot, pxMargin 10, nLastPixelY) nLastPixelY nLastPixelY 15 if (nCount gt 100) numOfStDevs 100 currLineX pxMargin (SERIESnBarIndex - currMin) pxScaleXPixelsPerPriceUnit GfxSelectPen (colorGreen, 2, 3) GfxMoveTo (currLineX pxMargin.) GfxLineTo (currLineX pxHeight -. pxMargin) GfxSetTextAlign (6) GfxSetTextColor (colorGreen) GfxTextOut ( QuotLatestquot, CurrLineX, pxMargin2) Zeigen Sie die Gaußsche Verteilung an, wenn vom Benutzer angefordert. If (bGauss SHOWBELLCURVE) Zeigt nun die normale Verteilungskurve auf der Basis von Sigma und Mu an. graphStepX (CurrMax - Mu) Max (100, pxWidth-2pxMargin) if (graphStepX 0) GaussianMaxima 0 für (x CurrMin x lt CurrMax xx graphStepX) GaussianMaxima Max (GaussianMaxima, getGaussianValue (x)) pxGaussianScaleY 0,9 (pxHeight - 2 pxMargin) GaussianMaxima GfxSelectPen (colorOrange, 2, 0) für (x CurrMin x lt CurrMax xx graphStepX) gaussianValue getGaussianValue (x) pxPointX (x - CurrMin) pxScaleXPixelsPerPriceUnit pxMargin pxPointY pxHeight - (gaussianValue - 0) pxGaussianScaleY - pxMargin if (x CurrMin) GfxMoveTo (pxPointX , pxPointY) GfxLineTo (pxPointX, pxPointY) Immobilien copyright quotCopyright 2010 Einstellungen TrendLaboratoryquot Eigenschaft Link quotfinance. groups. yahoogroupTrendLaboratoryquot ---- Indikator Eigenschaft indicatorchartwindow Eigenschaft indicatorbuffers 3 Eigenschaft indicatorcolor1 Yellow Eigenschaft indicatorcolor2 Lightblue Eigenschaft indicatorcolor3 Tomato Eigenschaft indicatorwidth1 2 Eigenschaft indicatorwidth2 2 Eigenschaft indicatorwidth3 2 ---- Anzeigeparameter extern int Preis 0 Preismodus (0. 6) extern int WindowSize 9 Fenstergröße extern double Sigma 6.0 Sigma-Parameter extern double Offset 0.85 Offset der Gaußverteilung (0. 1) externes Doppel PctFilter 0 Dynamisches Filter in Dezimalrichtung extern int Verschiebung 0 extern int ColorMode 0 0-on, 1-off Extern int AlertMode 0 Sound Alert-Schalter (0-aus, 1-on) extern int WarningMode 0 Sound Warnschalter (0-off, 1-on) ---- Indikatorpuffer doppelt ALMA double Uptrend double Dntrend double trend Double Del int drawbegin bool UpTrendAlertfalse, DownTrendAlertfalse double wALMA ---------------------------------------- -------------------------- Customizing-Initialisierungsfunktion -------------------- -------------------------- int init () ---- Indikator Puffer Mapping IndicatorBuffers (5) SetIndexBuffer (0, ALMA) SetIndexBuffer (1, upTREND) SetIndexBuffer (2, Dntrend) SetIndexBuffer (3, Trend) SetIndexBuffer (4, Del) ---- Zeichnungseinstellungen SetIndexStyle (0 , DrawLine) SetIndexStyle (1, DrawLine) SetIndexStyle (2, DrawLine) drawbegin Window SetIndexDrawBegin (0, drawbegin) SetIndexDrawBegin (1, drawbegin) SetIndexDrawBegin (2, drawbegin) SetIndexShift (0, Shift) SetIndexShift (1, Shift) SetIndexShift (2 , Shift) IndicatorDigits (Börsen & Märkte (Symbol (), MODEDIGITS) 1) ---- Name für DataWindow - und Indikator Subwindow Etikett IndicatorShortName (quotALMA (quotWindowSize quot) quot) SetIndexLabel (0, quotALMAquot) SetIndexLabel (1, quotALMA Uptrendquot) SetIndexLabel ( 2, quotALMA Dntrendquot) ---- Doppel m MathFloor (Offset (Window - 1)) Doppel s WindowSizeSigma ArrayResize (wALMA, Window) double WSUM 0 für (int i0i lt WindowSizei) wALMAi MathExp (- ((im) (im) () 2ss)) WSUM wALMAi für (i0i lt WindowSizei) wALMAi wALMAiwsum if (Verschiebung gt Bars - Window) weiterhin Doppelsumme 0 Doppel WSUM 0 für (i0i lt WindowSizei), wenn (i Window) Summe wALMAi iMA lt (NULL, 0, 1,0,0, Preis, Verschiebung (Window - 1 - i)) if (WSUM 0) ALMAshift Summe if (PctFiltergt0) Delshift MathAbs (ALMAshift - ALMAshift1) double sumdel0 für (int j0jltWindowSize-1j) sumdel sumdelDelshiftj Doppel AvgDel sumdelWindowSize Doppel sumpow 0 für (j0jltWindowSize-1j) sumpowMathPow (Deljshift-AvgDel, 2) Doppel StdDev MathSqrt (sumpowWindowSize) Doppelfilter PctFilter StdDev if (MathAbs (ALMAshift-ALMAshift1) lt Filter) ALMAshiftALMAshift1 sonst Filter0 if (ColorModegt0) trendshift trendshift1 if (ALMAshift - ALMAshift1 gt Filter) trendshift 1 if (ALMAshift1 - ALMAshift gt Filter) trendshift -1, wenn (trendshiftgt0) Uptrendshift ALMAshift if (trendshiftColorBarBacklt0) UptrendshiftColorBarBackALMAshiftColorBarBack Dntrendshift EMPTYVALUE if (WarningModegt0 ampamp trendshift1lt0 ampamp i0) Playsound (quotalert2.wavquot) else if (trendshiftlt0) Dntrendshift ALMAshift if (trendshiftColorBarBackgt0) DntrendshiftColorBarBackALMAshiftColorBarBack Uptrendshift EMPTYVALUE if (WarningModegt0 ampamp trendshift1gt0 ampamp i0) Playsound (quotalert2.wavquot) ---------- String Nachricht if (trend2lt0 ampamp trend1gt0 ampamp Volume0gt1 ampamp UpTrendAlert) Nachricht quot quotSymbol () quot MquotPeriod () quot: HMA Signal für BUYquot if (AlertModegt0) Alert (Message) UpTrendAlerttrue DownTrendAlertfalse if (trend2gt0 ampamp trend1lt0 ampamp Volume0gt1 ampamp DownTrendAlert) Nachricht quot quotSymbol () quot MquotPeriod () quot: HMA Signal für SELLquot if (AlertModegt0) Alert ( Message) DownTrendAlerttrue UpTrendAlertfalse Der mt4-Code wird poosted, um eine Art von Hinweis für die Codierung in afl zur Verfügung zu stellen. Suchen forawrd zu alma-Code in afl hier auf Traderji, wie es nicht irgendwo anders gibt, wie von jetzt betrachtet Furt


No comments:

Post a Comment