Ehlers Elegant Oscillator

Stel hier uw vragen over TA-script, of help anderen met het oplossen van hun probleem
Plaats reactie
Janus
Berichten: 1512
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Ehlers Elegant Oscillator

Bericht door Janus »

De meeste traders zijn wel bekend met de Fisher Transform en de Inverse Fisher Transform.
Ik zal u het hele verhaal besparen, maar in principe draait het verhaal in deze indicator om de standaard deviatie.
En bij standaard deviatie denkt u natuurlijk onmiddellijk aan de Bell Curve
Afbeelding
In het midden van de Bell curve staat 'the mean'.
Het gemiddelde.
De koers gaat altijd terug naar het gemiddelde.
De koers beweegt meestal tussen -1 en +1 deviatie, soms tussen -2 en +2 deviatie, en de -3 of +3 is toch wel het uiterste.
Zodra de koers 1 standaard deviatie van het gemiddelde (the mean) afwijkt, is de kans zeer groot dat ie weer terug gaat naar de mean.
Des te groter bij 2 deviaties.
En sjonge-jonge nog groter bij 3 deviaties.
Doe eens gek, en gooi die Bell Curve op z'n kant, en zie de mean als de nullijn in onderstaande grafiek.
De +1 en de -1 afwijking in deze grafiek is 'normaal', de +2 en de -2 komt al minder vaak voor, en de 3-4 standaard deviaties vanaf the mean (0) zijn wel heel zeldzaam.
Ofwel, op z'n Jans gezegd, des te verder de lijn in de grafiek vanaf de nul verwijderd is, des te groter de kans dat deze weer terug wil.
De Fisher Transform en de latere variant de Inverse Fisher Transform zijn nu aangepast met later verworven inzichten door dhr. Ehlers.
Ik plaats hieronder even de door mij vertaalde code en een grafiekje.
Succes!!
.

Code: Selecteer alles

{- Filename: Ehlers Elegant Oscillator -}
// The Elegant Oscillator van Dhr. Ehlers.
// gebaseerd op de Inverse Fisher Transform
// vertaald voor TA-Script door www.JSTAS.com
// 2022-02-03  versie 1.00
//

Procedure Initialisatie();
begin
with Indicator do
begin
NewBand := true;
RequiredBars := 200;
BkColor := clBlack;
end;
end;
//**************************************************

Var
RMS, a1, b1, c1, c3 : real;
BandEdge, i, count : integer;
Deriv, NDeriv, IFish,sSS : TSeries;

begin
sSs    := FillSeries(CreateSeries(BarCount),0);
IFish  := Fillseries(CreateSeries(BarCount),0);
NDeriv := FillSeries(CreateSeries(BarCount),0);
BandEdge := CreateParameterInteger('BandEdge:',1,100,20,true);

Initialisatie();

//Take the derivative of prices
Deriv := SubtractSeries(Close,ShiftSeries(Close,2));

//Normalize to standard deviation
for i := 49 to BarCount-1 do
 begin
   If IsValid(Deriv[i-49]) then
    begin
     RMS :=0;
      For Count := 0 to 49 do
       begin
        RMS := RMS + Sqr(Deriv[i-count]);
       end;
     If (RMS<>0) then RMS := Sqrt(RMS/50.0);
     NDeriv[i] := (Deriv[i]/RMS);
    end;
 end;

//Compute Inverse Fisher Transform
for i := FirstValidIndex(NDeriv) to BarCount-1 do
          IFish[i] := (Exp(2*NDeriv[i])-1) / (EXP(2*NDeriv[i])+1);

//Integrate with SuperSmoother
a1 := Exp(-1.414*3.14159/BandEdge);
b1 := 2*a1*Cos((1.414*180/BandEdge)*(Pi/180)) ;
C3 := -a1*a1;
c1 := 1-b1-c3;
for i := 3 to BarCount-1 do
begin
  sSS[i] := c1*(IFish[i]+IFish[i-1])/2.0 + b1*sSS[i-1] + c3*sSS[i-2];
end;

// lines
CreateLine(sSS).Color := clYellow;
CreateLine(FillSeries(CreateSeries(BarCount),0)).Color:=clSilver;

end.
.
Afbeelding
.
Vriendelijke groet,
JanS ;)
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: Ehlers Elegant Oscillator

Bericht door vincent »

Mooi toegelicht en interessant, de laptop is even zoet met een berekening, maar ik ga deze indicatoren zeker 'besnuffelen'. Dank :-)
Bakstenen
Berichten: 992
Lid geworden op: zo jul 19, 2015 7:51 pm

Re: Ehlers Elegant Oscillator

Bericht door Bakstenen »

Jan,
Kan je er ook voor zorgen dat de signalen te zien zien in de grafiek?
Janus
Berichten: 1512
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Re: Ehlers Elegant Oscillator

Bericht door Janus »

Bakstenen,
deze indicator heeft geen aan of verkoop signalen.
Je moet de nullijn zien als de nul in de klokkromme (1-e plaatje hierboven).
Dat is het gemiddelde.
De koers kan 1 of 2 of 3 standaarddeviaties afwijken van het gemiddelde, maar zal altijd weer terug keren naar het gemiddelde.
Des te meer de koers afwijkt van het gemiddelde, des te groter de kans dat deze weer terug zal keren naar het gemiddelde.
Hoe verder de lijn van de indicator naar boven of onder afwijkt van de 0-lijn, des te groter de kans aanwezig is dat de koers terugkeert.

Een beetje kromme vergelijking, maar er schiet me even niets anders te binnen:
Bekijk het eens als de Vix.
Wanneer de Vix een hoge uitslag heeft, dan is dat altijd maar tijdelijk, hij zal altijd weer terug keren naar z'n gemiddelde waarde.
De Vix doet dat eigenlijk altijd bij een negatieve uitslag van de koers, het mooie van deze indicator is dat ie dat ook doet bij een positieve uitslag van de koers.
.
Bekijk het volgende plaatje eens:
Afbeelding
Ik heb twee verticale lijnen getrokken.
Bij lijn A zie je dat de Elegant Oscillator behoorlijk van de nullijn omlaag afwijkt (1-SD) en daarmee aangeeft dat je op moet letten omdat de kans groot is dat de koersrichting draait.
Ook de Vix geeft een hoge uitslag.
Bij lijn B zie je dat de Elegant Oscillator behoorlijk van de nullijn omhoog afwijkt en daarmee aangeeft dat je op moet letten omdat de kans groot is dat de koersrichting draait.
De VIX geeft hier geen enkel signaal.
Dit is hoe ik deze indicator zie.

De Elegant oscillator laat je metselen met een touwtje, bij de VIX is dat touwtje af en toe weg ;-)
.
Vriendelijke groet,
JanS ;)
Bakstenen
Berichten: 992
Lid geworden op: zo jul 19, 2015 7:51 pm

Re: Ehlers Elegant Oscillator

Bericht door Bakstenen »

Bedankt voor de uitleg
Rombout Kerstens
Berichten: 121
Lid geworden op: wo sep 14, 2005 6:27 pm
Locatie: Kantoor Keyword BV
Contacteer:

Re: Ehlers Elegant Oscillator

Bericht door Rombout Kerstens »

Mooie indicator Jan, thanx!

'Fingers crossed' voor een reversion to the mean van de AEX.

tmp1.png
Plaats reactie