cci en ema

Stel hier uw vragen over TA-script, of help anderen met het oplossen van hun probleem
Plaats reactie
metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

cci en ema

Bericht door metalernie » do mar 08, 2018 3:09 pm

Hallo is het mogelijk een CCI te maken met een instelbare EMA en dan signalen op kruising van de CCI met de EMA. Gaarne diktes lijnen ook instelbaar. Heb het nu zelf in een grafiek geplaatst maar kan nu moeilijk backtesten.
Alvast bedankt.

Eric
Berichten: 2994
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: cci en ema

Bericht door Eric » do mar 08, 2018 5:48 pm

Dat kan. Lijndiktes zijn instelbaar door op de lijn te dubbelklikken, net als voor iedere andere indicator.

Code: Selecteer alles

{- Filename: CCI system -}

var
  MAPeriode, MDPeriode, nEMA: integer;
  sCCI, sEMA, sZero: TSeries;
begin
{ Indicator parameters }
  MAPeriode := CreateParameterInteger('MA periode', 1, 999, 14, true);
  MDPeriode := CreateParameterInteger('MD periode', 1, 999, 14, true);
  nEMA := CreateParameterInteger('EMA periode', 1, 999, 50, true);

{ Indicator eigenschappen }
  with Indicator do 
  begin
{ Aantal benodigde koersen om eerste indicatorwaarde te berekenen }
    RequiredBars := 5*nEMA + MaxInt(MAPeriode, MDPeriode);
  end;

  sCCI := CCI(High, Low, Close, MAPeriode, MDPeriode);
  sEMA := MA(sCCI, maExponential, nEMA);
  sZero := FillSeries(CreateSeries(BarCount), 0);

  Signals := CrossingsToEntrySignals(Crossings(sCCI, sEMA));

  with CreateLine(sCCI) do
  begin
    Name := 'CCI';
    Color := clLime;
  end;
  with CreateLine(sEMA) do
  begin
    Name := 'EMA';
    Color := clRed;
  end;
  with CreateLine(sZero) do
  begin
    Name := '0';
    Color := clSilver;
  end;
end.
---
Eric

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » vr mar 09, 2018 9:37 am

Hoi Eric, Ontzettend bedankt , kan er nog een entry level bij van 100 lijnen ook instelbaar qua kleur en dikte.
Verder is de indicator perfect.

Eric
Berichten: 2994
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: cci en ema

Bericht door Eric » vr mar 09, 2018 12:18 pm

Wat bedoel je precies? Wil je een filter onder/boven een bepaald level, en hoe dan precies in combinatie met de EMA kruisingen?

---
Eric

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » vr mar 09, 2018 12:20 pm

nee bedoel eigenlijk gewoon 2 lijnen op plus 100 en -100.

Eric
Berichten: 2994
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: cci en ema

Bericht door Eric » vr mar 09, 2018 1:04 pm

Ok.

Code: Selecteer alles

{- Filename: CCI system -}

var
  MAPeriode, MDPeriode, nEMA, nLevel: integer;
  sCCI, sEMA, sZero, sUpper, sLower: TSeries;
begin
{ Indicator parameters }
  MAPeriode := CreateParameterInteger('MA periode', 1, 999, 14, true);
  MDPeriode := CreateParameterInteger('MD periode', 1, 999, 14, true);
  nEMA := CreateParameterInteger('EMA periode', 1, 999, 50, true);
  nLevel := CreateParameterInteger('Hulplijn', 1, 999, 100, false);

{ Indicator eigenschappen }
  with Indicator do 
  begin
{ Aantal benodigde koersen om eerste indicatorwaarde te berekenen }
    RequiredBars := 5*nEMA + MaxInt(MAPeriode, MDPeriode);
  end;

  sCCI := CCI(High, Low, Close, MAPeriode, MDPeriode);
  sEMA := MA(sCCI, maExponential, nEMA);
  sZero := FillSeries(CreateSeries(BarCount), 0);
  sUpper := FillSeries(CreateSeries(BarCount), nLevel);
  sLower := FillSeries(CreateSeries(BarCount), -nLevel);

  Signals := CrossingsToEntrySignals(Crossings(sCCI, sEMA));

  with CreateLine(sCCI) do
  begin
    Name := 'CCI';
    Color := clLime;
  end;
  with CreateLine(sEMA) do
  begin
    Name := 'EMA';
    Color := clRed;
  end;
  with CreateLine(sZero) do
  begin
    Name := '0';
    Color := clSilver;
  end;
  with CreateLine(sUpper) do
  begin
    Name := 'Upper level';
    Color := clSilver;
  end;
  with CreateLine(sLower) do
  begin
    Name := 'Lower level';
    Color := clSilver;
  end;
end.
---
Eric

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » vr mar 09, 2018 1:28 pm

Hoi Eric,
Bedankt,
Arne

constant
Berichten: 150
Lid geworden op: ma mei 06, 2013 3:50 pm

Re: cci en ema

Bericht door constant » vr mar 09, 2018 4:36 pm

Metalernie,

Hoe hanteer je de 100 lijnen?
Opwaartse doorbraak onderste lijn lijkt mij een koopsignaal. Vergelijkbaar met RSI. Vind ook regelmatig op dezelfde dag plaats.
Is dat de juiste benadering?

Groet, Constant

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » vr mar 09, 2018 4:58 pm

Hoi Constant.
Ja zo gebruik ik hem ook onderste lijn koop signaal bovenste lijn verkoop signaal en dan en dan nog het liefste de kruising van cci en de ema boven of onder de lijnen. Dan zit je over het algemeen wel aan het begin van een goede trade.
Arne

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » ma mar 12, 2018 11:25 am

Hoi Eric,
Ik wil als het mogelijk nog een stukje verder gaan met bovenstaande indicator en dat is , is het mogelijk alleen signalen te geven bij een kruising boven of onder de 100 hulplijnen.Bij de onderste lijn een long en bij de bovenste lijn een short.Dit om de valse signalen eruit te filteren.

Eric
Berichten: 2994
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: cci en ema

Bericht door Eric » ma mar 12, 2018 3:19 pm

Dat kan natuurlijk.

Code: Selecteer alles

{- Filename: CCI system -}

var
  MAPeriode, MDPeriode, nEMA, nLevel, i: integer;
  sCCI, sEMA, sZero, sUpper, sLower: TSeries;
  xEMA: TLineCrossings;
begin
{ Indicator parameters }
  MAPeriode := CreateParameterInteger('MA periode', 1, 999, 14, true);
  MDPeriode := CreateParameterInteger('MD periode', 1, 999, 14, true);
  nEMA := CreateParameterInteger('EMA periode', 1, 999, 50, true);
  nLevel := CreateParameterInteger('Hulplijn', 1, 999, 100, false);

{ Indicator eigenschappen }
  with Indicator do 
  begin
{ Aantal benodigde koersen om eerste indicatorwaarde te berekenen }
    RequiredBars := 5*nEMA + MaxInt(MAPeriode, MDPeriode);
  end;

  sCCI := CCI(High, Low, Close, MAPeriode, MDPeriode);
  sEMA := MA(sCCI, maExponential, nEMA);
  sZero := FillSeries(CreateSeries(BarCount), 0);
  sUpper := FillSeries(CreateSeries(BarCount), nLevel);
  sLower := FillSeries(CreateSeries(BarCount), -nLevel);
  xEMA := Crossings(sCCI, sEMA);

  for i:=0 to BarCount-1 do
  begin
    if (xEMA[i] = lc1Over2) and (sCCI[i] < -nLevel) then
      EnterLong(i)
    else
    if (xEMA[i] = lc2Over1) and (sCCI[i] > nLevel)  then
      EnterShort(i);
  end;

  with CreateLine(sCCI) do
  begin
    Name := 'CCI';
    Color := clLime;
  end;
  with CreateLine(sEMA) do
  begin
    Name := 'EMA';
    Color := clRed;
  end;
  with CreateLine(sZero) do
  begin
    Name := '0';
    Color := clSilver;
  end;
  with CreateLine(sUpper) do
  begin
    Name := 'Upper level';
    Color := clSilver;
  end;
  with CreateLine(sLower) do
  begin
    Name := 'Lower level';
    Color := clSilver;
  end;
end.
---
Eric

metalernie
Berichten: 254
Lid geworden op: di feb 19, 2008 10:31 am

Re: cci en ema

Bericht door metalernie » ma mar 12, 2018 4:02 pm

Bedankt Eric.

Plaats reactie