TA-script.com forum index TA-script.com
Geavanceerde technische analyse - indicatoren en handelssystemen in TA-script

 FAQFAQ   ZoekenZoeken   GebruikerslijstGebruikerslijst   GebruikersgroepenGebruikersgroepen   RegistreerRegistreer 
 ProfielProfiel   Log in om je privé berichten te bekijkenLog in om je privé berichten te bekijken   InloggenInloggen 

Domino score van Nico Bakker

 
Plaats nieuw bericht   Plaats reactie    TA-script.com forum index -> Indicatoren en handelssystemen
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
Eric



Geregistreerd op: 10-9-2005
Berichten: 1413
Woonplaats: Den Haag

BerichtGeplaatst: Vr Nov 27, 2009 6:44 pm    Onderwerp: Domino score van Nico Bakker Reageer met quote

Op de dag van de belegger 2009 hield Nico Bakker een presentatie over zijn Domino indicator. Deze indicator gebruikt 5 korte en 5 lange MA's, telt het aantal kruisingen van korte MA's en lange MA's, telt deze twee getallen op en deelt door 2. De uitkomst varieert tussen -10 en 10, en dit geeft een indicatie van de fase waarin de trend zit (-10=bear tot +10=bull).

De presentatie is ook te bekijken op www.ta-script.com/downloads/DOMINOSCORE.ppt.

De eerste indicator laat de 10 MA's zien, de tweede berekent de domino score.

Code:
{- Filename: Domino score MA's -}

var
  nMAKort, nMALang: array[0..4] of integer;
  sMAKort, sMALang: array[0..4] of TSeries;
  i: integer;
begin
{ Parameters }
  nMAKort[0] := CreateParameterInteger('MA kort 1', 1, 999, 3, true);
  nMAKort[1] := CreateParameterInteger('MA kort 2', 1, 999, 5, true);
  nMAKort[2] := CreateParameterInteger('MA kort 3', 1, 999, 8, true);
  nMAKort[3] := CreateParameterInteger('MA kort 4', 1, 999, 13, true);
  nMAKort[4] := CreateParameterInteger('MA kort 5', 1, 999, 21, true);
  nMALang[0] := CreateParameterInteger('MA lang 1', 1, 999, 35, true);
  nMALang[1] := CreateParameterInteger('MA lang 2', 1, 999, 40, true);
  nMALang[2] := CreateParameterInteger('MA lang 3', 1, 999, 45, true);
  nMALang[3] := CreateParameterInteger('MA lang 4', 1, 999, 50, true);
  nMALang[4] := CreateParameterInteger('MA lang 5', 1, 999, 55, true);

{ Indicator eigenschappen }
  with Indicator do
  begin
    RequiredBars := nMALang[4];  // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand := false;
    ScaleRange := srCommon;
  end;

{ Berekening }
  for i:=0 to 4 do
  begin
    sMAKort[i] := MA(Close, maSimple, nMAKort[i]);
    sMALang[i] := MA(Close, maSimple, nMALang[i]);
  end;

{ Weergave }
  for i:=0 to 4 do
  begin
    with CreateLine(sMAKort[i]) do
    begin
      Name := 'MA kort '+IntToStr(i);
      Color := clYellow;
    end;
    with CreateLine(sMALang[i]) do
    begin
      Name := 'MA lang '+IntToStr(i);
      Color := clNavy;
    end;
  end;
end.
Naar boven
Bekijk gebruikers profiel Stuur privé bericht
Eric



Geregistreerd op: 10-9-2005
Berichten: 1413
Woonplaats: Den Haag

BerichtGeplaatst: Vr Nov 27, 2009 6:46 pm    Onderwerp: Reageer met quote

Code:
{- Filename: Domino score -}

var
  nMAKort, nMALang: array[0..4] of integer;
  sMAKort, sMALang: array[0..4] of TSeries;
  sCount1, sCount2, sCount3, sCount4, sSentiment1, sSentiment2, sSentiment3: TSeries;
  i, i1, i2, i3: integer;
begin
{ Parameters }
  nMAKort[0] := CreateParameterInteger('MA kort 1', 1, 999, 3, true);
  nMAKort[1] := CreateParameterInteger('MA kort 2', 1, 999, 5, true);
  nMAKort[2] := CreateParameterInteger('MA kort 3', 1, 999, 8, true);
  nMAKort[3] := CreateParameterInteger('MA kort 4', 1, 999, 13, true);
  nMAKort[4] := CreateParameterInteger('MA kort 5', 1, 999, 21, true);
  nMALang[0] := CreateParameterInteger('MA lang 1', 1, 999, 35, true);
  nMALang[1] := CreateParameterInteger('MA lang 2', 1, 999, 40, true);
  nMALang[2] := CreateParameterInteger('MA lang 3', 1, 999, 45, true);
  nMALang[3] := CreateParameterInteger('MA lang 4', 1, 999, 50, true);
  nMALang[4] := CreateParameterInteger('MA lang 5', 1, 999, 55, true);

{ Indicator eigenschappen }
  with Indicator do
  begin
    RequiredBars := nMALang[4];  // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand := true;
  end;

{ Berekening }
  for i:=0 to 4 do
  begin
    sMAKort[i] := MA(Close, maSimple, nMAKort[i]);
    sMALang[i] := MA(Close, maSimple, nMALang[i]);
  end;

  sCount1 := FillSeries(CreateSeries(BarCount), 0);
  sCount2 := FillSeries(CreateSeries(BarCount), 0);
  sCount3 := FillSeries(CreateSeries(BarCount), 0);
  sCount4 := FillSeries(CreateSeries(BarCount), 0);
  for i:=0 to BarCount-1 do
  begin
    i1 := 0;
    i2 := 0;
    i3 := 1;
    while (i1 < 10) and (i2 < 5) do
    begin
      if IsValid(sMAKort[i2][i]) and IsValid(sMAKort[i3][i]) then
        if sMAKort[i2][i] > sMAKort[i3][i] then sCount1[i] := sCount1[i]+1 else sCount3[i] := sCount3[i] - 1;
      if IsValid(sMALang[i2][i]) and IsValid(sMALang[i3][i]) then
        if sMALang[i2][i] > sMALang[i3][i] then sCount2[i] := sCount2[i]+1 else sCount4[i] := sCount4[i] - 1;

      i1 := i1 + 1;
      i3 := i3 + 1;
      if i3 > 4 then
      begin
        i2 := i2 + 1;
        i3 := i2 + 1;
      end;
    end;
  end;
 
  sSentiment1 := AddSeries(sCount1, sCount3);
  sSentiment2 := AddSeries(sCount2, sCount4);
  sSentiment3 := DivideSeriesBy(AddSeries(sSentiment1, sSentiment2), 2);
  for i:=0 to BarCount-1 do
    if sSentiment3[i] > 0 then SetBarColor(0, i, clLime) else
      if sSentiment3[i] < 0 then SetBarColor(0, i, clRed);

{ Weergave }
  with CreateLine(sSentiment3) do
  begin
    Color := clLime;
    Name := 'Sentiment3';
    LineType := ltBar;
    LineContent := lcTAR;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), 0)) do
  begin
    Color := clSilver;
    Name := '0';
    LineContent := lcConstant;
  end;
end.
Naar boven
Bekijk gebruikers profiel Stuur privé bericht
Berichten van afgelopen:   
Plaats nieuw bericht   Plaats reactie    TA-script.com forum index -> Indicatoren en handelssystemen Tijden zijn in GMT + 1 uur
Pagina 1 van 1

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen
Je mag geen reacties plaatsen
Je mag je berichten niet bewerken
Je mag je berichten niet verwijderen
Ja mag niet stemmen in polls



Powered by phpBB © 2001, 2005 phpBB Group