Volume Oscillator

Kant-en-klare, geteste indicatoren en handelssystemen
Plaats reactie
Eric
Berichten: 3332
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Volume Oscillator

Bericht door Eric »

In de TKA van mei 2007 vertelt Rob Brand over de indicatoren die hij gebruikt, waaronder de Volume Oscillator. Dit is het (procentuele) verschil tussen twee MA's, en daarvan weer een MA. Deze indicator is ook te maken door een MACD van een volumegrafiek te nemen, maar hierbij de TA-script versie:

Code: Selecteer alles

{- Filename: Volume Oscillator -}

var
  nMAKort, nMALang, nMASignal, nMAType: integer;
  sMAKort, sMALang, sPVO, sMA, sZero: TSeries;
  MAType: TMAType;
begin
{ Indicator parameters }
  nMAKort := CreateParameterInteger('Korte MA', 1, 999, 12, true);
  nMALang := CreateParameterInteger('Lange MA', 1, 999, 26, true);
  nMASignal := CreateParameterInteger('Signaal MA', 0, 99, 9, true);
  nMAType := CreateParameterSelect('MA type', 'Simple'#9'Exponential'#9'Weighted', 1, true);

{ Indicator eigenschappen }
  with Indicator do 
  begin
    ShortName := 'PVO';
    RequiredBars := 5 * (nMALang+nMASignal);
  end;

{ Indicatorberekening }
  case nMAType of
    0: MAType := maSimple;
    1: MAType := maExponential;
    else MAType := maWeighted;
  end;
  sMAKort := MA(Volume, MAType, nMAKort);
  sMALang := MA(Volume, MAType, nMALang);
{ bereken MA(kort) - MA(lang) }
  sPVO := SubtractSeries(sMAKort, sMALang);
{ bereken verschil in procenten }
  sPVO := MultiplySeriesBy(DivideSeries(sPVO, sMAKort), 100);
  sMA := MA(sPVO, MAType, nMASignal);
  sZero := FillSeries(CreateSeries(BarCount), 0);

  with CreateLine(sPVO) do
  begin
    Name := 'PVO';
    Color := clLime;
    LineType := ltBar;
    LineContent := lcTAR;
  end;
  with CreateLine(sMA) do
  begin
    Name := 'MA';
    Color := clRed;
  end;
  with CreateLine(sZero) do
  begin
    Name := '0';
    Color := clGray;
    LineContent := lcConstant;
  end;
end.
---
Eric
Plaats reactie