Force Index - Keltner Channels

Stel hier uw vragen over TA-script, of help anderen met het oplossen van hun probleem
Plaats reactie
Optiontrader
Berichten: 368
Lid geworden op: ma jan 01, 2007 9:41 pm

Force Index - Keltner Channels

Bericht door Optiontrader »

Hallo Eric,

Ik zou graag een scanner willen mbt de Force Index -Keltner Channels.

De voorwaarden:

Bullish:

Op het moment dat de Force Index (groene lijn) boven de Upper Channel van de Keltner Channel (blauwe lijn) komt, wil ik graag de signalen van de aandelen zien in de Tar-scanner.

Bearish:

Op het moment dat de Force Index (groene lijn) onder de Lower Channel van de Keltner Channel (paarse lijn) komt, wil ik graag de signalen van de aandelen zien in de scanner.

Waarom?

Op het moment dat FI boven en of onder een Channel komt, is de koersbeweging in de regel niet lang vol te houden. De FI keert dat binnen 1 dag of meerdere dagen terug in de Channel. Het betekent dat de koersbeweging ten einde 'KAN' zijn en er een tegengestelde beweging op gang 'kan' komen.

Het geeft de bekende Force Index een extra mogelijkheid om mee te werken.

Bij interesse:

Free Chart Schhol van www. stockcharts.com

Voorbeeld: Zie bijlage

Het script:

Code: Selecteer alles

{- Filename: Force Index - Keltner Channels -}

function ForceIndex(Close, Volume: TSeries; Periode: integer): TSeries;
begin
  Result := MA(MultiplySeries(Volume, SubtractSeries(Close, ShiftSeries(Close, 1))),
                    maExponential, Periode);
end;

function KeltnerChannel(Avg, Price: TSeries; Length: Integer; Factor: Real): TSeries;
begin
//  Result:= AddSeries(MA(Price, MASimple, Length), MultiplySeriesBy(MA(TrueRange(Price, Price, Price), maSimple, Length), Factor));
  Result:= AddSeries(Avg, MultiplySeriesBy(MA(TrueRange(Price, Price, Price), maSimple, Length), Factor));
end;

var
  MAPeriode: integer;
  sFI, sZero: TSeries;

  sUpperK, sLowerK, sEMA: TSeries;
  Length, EMALength: Integer;
  _Const: Real;
begin
{ Indicator parameters }
  MAPeriode := CreateParameterInteger('MA Force Index', 1, 999, 13, true);
  Length := CreateParameterInteger('ATR Length', 1, 999, 26, true);
  _Const := CreateParameterReal('ATR Const', 1 , 99, 3, true);
  EMALength := CreateParameterInteger('ATR EMA Length', 1, 999, 26, true);

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

  sFI := ForceIndex(Close, Volume, MAPeriode);
  sZero := FillSeries(CreateSeries(BarCount), 0);

  sEMA := MA(sFI, maExponential, EMALength);
  sUpperK := KeltnerChannel(sEMA, sFI, Length, _Const);
  sLowerK := KeltnerChannel(sEMA, sFI, Length, -_Const);

  with CreateLine(sFI) do
  begin
    Name := 'Force Index';
    Color := clLime;
    LineContent := lcTAR;
  end;
  with CreateLine(sEMA) do
  begin
    Name := 'EMA';
    Color := clRed;
    LineType := ltDot;
  end;
  with CreateLine(sUpperK) do
  begin
    Name := 'UpperK';
    Color := clBlue;
  end;
  with CreateLine(sLowerK) do
  begin
    Name := 'LowerK';
    Color := clPurple;
  end;
  with CreateLine(sZero) do
  begin
    Name := 'Nullijn';
    Color := clGray;
  end;
end.
Bijlagen
FI - KC.GIF
Eric
Berichten: 3604
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: Force Index - Keltner Channels

Bericht door Eric »

Deze geeft een signaal op het moment van doorbraak; daar kun je dan op filteren.

Code: Selecteer alles

{- Filename: Force Index - Keltner Channels -}

function ForceIndex(Close, Volume: TSeries; Periode: integer): TSeries;
begin
  Result := MA(MultiplySeries(Volume, SubtractSeries(Close, ShiftSeries(Close, 1))),
                    maExponential, Periode);
end;

function KeltnerChannel(Avg, Price: TSeries; Length: Integer; Factor: Real): TSeries;
begin
//  Result:= AddSeries(MA(Price, MASimple, Length), MultiplySeriesBy(MA(TrueRange(Price, Price, Price), maSimple, Length), Factor));
  Result:= AddSeries(Avg, MultiplySeriesBy(MA(TrueRange(Price, Price, Price), maSimple, Length), Factor));
end;

var
  MAPeriode: integer;
  sFI, sZero: TSeries;

  sUpperK, sLowerK, sEMA: TSeries;
  lcUpper, lcLower: TLineCrossings;
  Length, EMALength, i: Integer;
  _Const: Real;
begin
{ Indicator parameters }
  MAPeriode := CreateParameterInteger('MA Force Index', 1, 999, 13, true);
  Length := CreateParameterInteger('ATR Length', 1, 999, 26, true);
  _Const := CreateParameterReal('ATR Const', 1 , 99, 3, true);
  EMALength := CreateParameterInteger('ATR EMA Length', 1, 999, 26, true);

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

  sFI := ForceIndex(Close, Volume, MAPeriode);
  sZero := FillSeries(CreateSeries(BarCount), 0);

  sEMA := MA(sFI, maExponential, EMALength);
  sUpperK := KeltnerChannel(sEMA, sFI, Length, _Const);
  sLowerK := KeltnerChannel(sEMA, sFI, Length, -_Const);
  
  lcUpper := Crossings(sFI, sUpperK);
  lcLower := Crossings(sFI, sLowerK);
  
  for i:=0 to BarCount-1 do
  begin
    if lcUpper[i] = lc1Over2 then Signals[i] := sgEnterLong;
    if lcLower[i] = lc2Over1 then Signals[i] := sgEnterShort;
  end;

  with CreateLine(sFI) do
  begin
    Name := 'Force Index';
    Color := clLime;
    LineContent := lcTAR;
  end;
  with CreateLine(sEMA) do
  begin
    Name := 'EMA';
    Color := clRed;
    LineType := ltDot;
  end;
  with CreateLine(sUpperK) do
  begin
    Name := 'UpperK';
    Color := clBlue;
  end;
  with CreateLine(sLowerK) do
  begin
    Name := 'LowerK';
    Color := clPurple;
  end;
  with CreateLine(sZero) do
  begin
    Name := 'Nullijn';
    Color := clGray;
  end;
end.
---
Eric
Optiontrader
Berichten: 368
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Force Index - Keltner Channels

Bericht door Optiontrader »

Hallo Eric,

Hoe dan, want ik scan op indicator geeft aan/verkoop signaal en indicatorwaarde Force Index, krijg ik er nul, terwijl er doorbraken zijn.

Bij indicatorwaarde is groter dan o en indicatorwaarde UpperK krijg ik er mega veel van bijv. dagen of weken geleden.

Het is natuurlijk de bedoelingen om vandaag te scannen voor de USA opening mbt tot de close van gisteren.

Of zie ik iets over het hoofd?

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

Re: Force Index - Keltner Channels

Bericht door Eric »

Als je USA fondsen wilt scannen met als datum vandaag is het natuurlijk wel logisch om dat na opening USA te doen. Ik krijg nu in ieder geval wel fondsen in de scanner, dus je zult iets duidelijker moeten aangeven welke selectie je toepast. Ik heb Buitenlandse fondsen gekozen, rapportagedatum vandaag 18/4 en filteren op alle aan/verkoopsignalen. Als je de signalen van gisteren wilt scannen moet je uiteraard rapportagedatum 17/4 opgeven.

---
Eric
Bijlagen
scaNNER2.JPG
scanner.JPG
Optiontrader
Berichten: 368
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Force Index - Keltner Channels

Bericht door Optiontrader »

Gde mrgn Eric,

Ik wil graag op de 19de april de buitenlandse fondsen scannen die op of onder de UpperK of LowerK zijn gekomen voor de 1e keer en op de achttiende april 2023.

Juist niet net na de opening van de handelsdag.

Criteria

Buitenlandse fondsen

Datum 18 april 2023 op de 19de april, dus nu net.

Dagkoersen

Parameters 13 - 26 - 3 - 26

Filtervoorwaarde > indicator geeft aan/verkoopsignaal

Resultaat > Niets

Filtervoorwaarde UpperK en groter dan nul > mega veel en met talloze signalen voor de 18de.

Wat doe ik onjuist of ....?

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

Re: Force Index - Keltner Channels

Bericht door Eric »

Ik ga er even vanuit dat je de indicator hierboven correct hebt geïnstalleerd en ook signalen ziet in de grafiek, en dat je ook deze indicator gebruikt in de scanner. Dan kan er eigenlijk weinig fout gaan, je hoeft verder niets in te stellen namelijk. Ik krijg een flink aantal signalen zoals je kunt zien.

---
Eric
Bijlagen
scan1.png
scan2.png
scan2.png (8.97 KiB) 1377 keer bekeken
scan3.png
scan3.png (8.16 KiB) 1377 keer bekeken
scan4.png
rapport.JPG
Optiontrader
Berichten: 368
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Force Index - Keltner Channels

Bericht door Optiontrader »

Hallo Eric,

Ik had het nieuwe script toegepast nadat ik het van de week had geselecteerd en overgeschreven. Het blijkt echter na je tip dat het helemaal niet is overgeschreven, want ik heb net alles weer geselecteerd en opnieuw overgeschreven en de scan levert nu wel resultaten op!

Dank voor de tip en hartelijk dank voor alle verstrekte informatie,

Groet OT
Plaats reactie