Gann Swing Chart (kleuren in trend)

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

Re: Gann Swing Chart (kleuren in trend)

Bericht door Janus »

Interessant onderwerp.
Ik ben een tijd geleden eens bezig geweest om code te schrijven voor de Gann swing chart.
Ik liep klem, ik ben nu eenmaal geen programmeur.
Eric heeft weer een mooie code geplaatst, en zodra ik de komende maanden weer eens tijd heb ga ik die aanpassen naar mijn ideeën.
Ik zie daarin weer nieuwe ideeën om een en ander aan te pakken.
**
Een inside day wordt volkomen genegeerd, nu en in de toekomst!
.
Er zijn echter nog wel andere bijkomende regels.
.
De Gann swing chart (swing count 2) op dit moment ziet er als volgt uit:
Figuur 1:
Afbeelding
.
Bovenstaande figuur is de grafische weergave waarop de swing chart moet worden weergegeven.
.
Nu maakt de horizontale weergave iets minder uit, dat mag gerust een realtime weergave zijn.
Het gaat om -de rest- .
.
Ik heb de komende maanden echt geen tijd, teveel projectjes en teveel cursussen die ik volg.
Maar daarna ...
.................Zal ik proberen een -juiste- grafiek te programmeren.
.
Wanneer ik weer klem loop..... zal ik om hulp vragen,
..
.
Vriendelijke groet,
JanS ;)
Eric
Berichten: 3445
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: Gann Swing Chart (kleuren in trend)

Bericht door Eric »

Het blijft alleen wat mysterieus wat de precieze regels zijn die Gann ooit hanteerde en welke later zijn bedacht.

Zo is in de grafiek hierboven klaarblijkelijk een lower low zonder lower high voldoende voor een "down-day", gezien de bodem op 17-2-2017. Krausz doet dat inderdaad, zoals hij aangeeft in zijn artikel in Stocks en Commodities, terwijl Gann (volgens hem) een lower low EN een lower high wilde zien voor een down-day.

Maar goed, ik heb het oorspronkelijke werk van Gann (mocht dat er überhaupt nog zijn) nooit gezien dus ik moet het ook maar van de navertellers hebben.

---
Eric
Janus
Berichten: 1421
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Re: Gann Swing Chart (kleuren in trend)

Bericht door Janus »

Hallo Eric,
Ik begrijp de frustratie ;)
.
Programmeren zonder een duidelijke omschrijving is niet te doen!
.
Ik zal in mijn archief duiken en -de regels van Gann- 'even' opduiken, en daarna even aangeven hoe ik het zie / volg.
Kijk, het werk van Gann dateert nu bijna vanaf een eeuw terug.
Er is in de loop van de tijd toch wel iets gewijzigd in het markt gebeuren.
Verder is er in de loop van de tijd discussie ontstaan over hoe om te gaan met inside days (die worden in de regel genegeerd, maar in een enkel geval niet) en er is discussie ontstaan over hoe om te gaan met outside days in combinatie met de erop volgende koersbar.
Gann had daar ook een gedachte over, maar er is naderhand een ander idee bijgekomen.
.
Verder plaatste ik mijn grafiek niet om aan te geven dat ik het met de laatste code niet eens was, maar dat het -voor mij- een duidelijker weergave is; zoals ik die weer gaf.
.
Daar ligt/lag ook mijn probleem toen ik een en ander probeerde te programmeren in ta-script.
.
De oorspronkelijke Gann weergave is rechte lijn omhoog, daarna horizontaal, en dan weer een rechte lijn omlaag.
Zoals ik in de grafiek liet zien.
Nu weet ik wel dat de tijdlijn in ta-script niet te wijzigen is, dus horizontale vlakken zullen af en toe langer duren, maar -- afijn -- ik kreeg op dat moment de code niet rond, en de tijd ontbrak me verder.
.
Om kort te gaan:
Ik zal de oorspronkelijke uitspraken van Gann 'even' opzoeken (tig boeken en megabytes in computer files maar ik meen ergens in het werk van Gann in Juli-1939) en ik zal even een duidelijke -eenduidige- weergave opzoeken voor hoe een tool er dezer dagen uit mag zien wat betreft de Gann swing grafiek.
Een tool met wat keuze mogelijkheden die de lading en de -afwijkende meningen daaromtrent- dekt.
.
Hopelijk dat hierna de vele variaties aan deze swing tool stoppen en er een eenduidige tool ontstaat.
.
Vriendelijke groet,
JanS ;)
Janus
Berichten: 1421
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Re: Gann Swing Chart (kleuren in trend)

Bericht door Janus »

In zijn leven heeft Gann heel veel cursussen en boeken geschreven.
Een compleet werkstuk van hem over hoe een swingchart geconstrueerd moet worden heb ik niet kunnen vinden, wat echter wel te vinden is zijn opmerkingen daarover in zijn diverse werkstukken.
In zijn schrijven van 6- Juli-1939 genaamd -Form Reading- geeft hij een hele cursus over het handelen in -stocks-.
Koerspatronen, bull-bear-markets, koersranges, weerstand-niveaus etc. etc. van alles en nog wat behandelt hij in dat werkstuk.
Op pagina 3 heeft hij het over -Trend Line Indications-.
Afbeelding

Daarna is het een poosje stil omtrent dat onderwerp, maar op 20-Januari-1942 verschijnt zijn boek: -How to make profits in commodities-
In dat boek haalt hij op pagina 316 e.v. weer het belang van swing-charts aan.
Daarna in zijn boek -The W.D. Gann Master Commodities Course- behandelt hij op pagina 175 e.v. de swingchart wat uitgebreider.
Hij noemt op dat moment de inside-day en the outside day en hoe hij daarmee omgaat.
Ook geeft hij weer hoe hij omgaat met een plotselinge (grote) koers beweging tegen de heersende trend in, dat is vooral ook belangrijk bij swingcharts die niet éen maar meerdere koersbars nodig hebben voor dat we de trend als gedraaid beschouwen. (bij dag grafieken dus de 2 en 3 dagen chart bijvoorbeeld).
Ik maak even twee kopieën van het betreffende stukje en plaats ze als plaatje hieronder.
Afbeelding
Afbeelding
**
Tot zover over de Gann swingchart wat betreft de informatie van Gann.
*
Daarna zijn er diverse uitzonderingen/wijzigingen ontstaan.
Neem Krausz:
Gann gaat uit van een hogere top en bodem in een stijgende trend, Krausz neemt genoegen met een hogere top.
Nogal wiedes, bij een lagere bodem hebben we immers te maken met een outside day. De enigste uitzondering die ontstaat is het moment dat de bodem exact gelijk is aan de bodem van de vorige koerscandle.
Zo zijn er meer variaties ontstaan.
Dit lijkt mij niet verkeerd, de markten zijn in de loop van de afgelopen eeuw wat gewijzigd en dan kunnen soms iets gewijzigde varianten op het origineel zeer lucratief zijn.
Gann handelde in zijn tijd veel op voor die tijd grote aandelen, wheat en de Dow.
Tegenwoordig hebben we meer keus en ook bijvoorbeeld een S&P500 of een Russell 2000
Ook moeten we rekening houden met wat Gann noemt -personality- ofwel de persoonlijkheid (het gedrag) van een aandeel of index, dat is immers voor elk aandeel of index toch wat verschillend.
Ik denk dat er daardoor in de loop van de tijd wat kleine variaties op het origineel ontstaan zijn die in sommige markten beter werken.
Gann negeerde de inside day volkomen, je kan variaties maken waarbij je die dag toch op een gewijzigde manier meeneemt.
De outside day kan je ook op diverse verschillende manieren behandelen.
Zijn die variaties op het oorspronkelijke idee van Gann nu verkeerd?
Ik denk van niet, je kan door een indicator te programmeren, waarin je de verschillende varianten kan kiezen door bepaalde uitzonderingen wel of niet aan te vinken, de swingchart aanpassen aan het karakter van de index of het aandeel waarop je de indicator toepast.
Welke variaties op het originele idee van Gann zijn er ontstaan, wel dat zijn er in basis slechts een paar.
Ik heb even twee korte filmpjes op het internet opgezocht ( 10 en 15 minuten) die exact uit de doeken doen welke variaties er zijn en hoe daarmee om te gaan.
Zoals al een paar dagen terug vermeld ben ik er al eens mee bezig geweest, maar dan met de weergave zoals Gann die voor ogen had.
Dus niet een schuine lijn tussen top en bodem of vice versa, maar horizontale en verticale lijnen, de grafiek zoals ik die twee postings terug liet zien.
Ik weet dat in ta-script de tijdschaal niet variabel is, maar een horizontale lijn mag gerust langer zijn dan in het origineel van Gann.
Een schuine lijn is al heel mooi met al de variaties erop, maar de verticale-horizontale weergave is nog veel duidelijker... vind ik.
Het geeft bepaalde inzichten die niet bij de schuine lijnen direct zichtbaar zijn.
Hieronder even de link naar de twee korte filmpjes waarin alles wordt weergegeven wat ik anders nog in moet typen ;)
Het tweede filmpje volgt automatisch op het eerste filmpje.
Link:
https://www.youtube.com/watch?v=4UbzYWITLeI&spfreload=1
.
Vriendelijke groet,
JanS ;)
Eric
Berichten: 3445
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: Gann Swing Chart (kleuren in trend)

Bericht door Eric »

Je bent weer een onuitputtelijke bron van informatie Janus!

De weergave van de indicator kan trouwens eenvoudig orthogonaal worden gemaakt door te kiezen voor blok bij de lijninstellingen. Daar hoeft het script niet eens voor aangepast.

De topicstarter wilde nadrukkelijk de "originele Gann regels", en heeft mij ook voorbeelden gestuurd van penny stocks waar een gelijke hoog/laag wel met regelmaat voorkwam. Vandaar de zoektocht.

---
Eric
Optiontrader
Berichten: 314
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Gann Swing Chart (kleuren in trend)

Bericht door Optiontrader »

Goede morgen,

Allereerst de vraag, script en de afbeelding

In de afbeelding zie je op 29 07 2022 de top in een uptrend. Hierna zijn er meer dan twee opeenvolgende lower lows (cirkel). Daarna zijn er meerdere higher highs, waarin de outside bar in de upswing van de uptrend NIET wordt meegenomen. Is het mogelijk om het script zodanig te veranderen dat de outside bars wel worden meegenomen? Zo ja, kan het ook bij een downtrend? Maw de low van de outside bar meenemen in de calculatie.

Zie bijlagen onderaan.

Code: Selecteer alles

{- Filename: Gann Swing Indicator (Real) -}

type
  TDirection = (dirNONE, dirUP, dirDN);

var
  colUp, colDn: TColor;

function GannSwing(aHigh, aLow: TSeries; Strength: integer): TSeries;
var
  i, UpCnt, DnCnt: integer;
  hH, lL, lH, hL,
  SwingUp, SwingDn: boolean;
  Direction: TDirection;
  iDn_Swing, iUp_Swing, Count: integer;
  LastSwingLow, LastSwingHigh: real;
  Color: TColor;
begin
  Count := GetArrayLength(aHigh);
  Result := CreateSeries(Count);
  UpCnt := 0;
  DnCnt := 0;
  Color := 0;
  LastSwingHigh := 0;
  LastSwingLow := 0;
  for i:=1 to Count-1 do
  begin
    hH := aHigh[i] > aHigh[i-1];
    lL := aLow[i] < aLow[i-1];
    lH := aHigh[i] < aHigh[i-1];
    hL := aLow[i] > aLow[i-1];

    if lH and lL then
    begin
      UpCnt := 0;
      DnCnt := DnCnt + 1;
    end else
    if hH and hL then
    begin
      DnCnt := 0;
      UpCnt := UpCnt + 1;
    end else
    begin
      UpCnt := 0;
      DnCnt := 0;
    end;
    SwingDn := DnCnt = Strength;
    SwingUp := UpCnt = Strength;

    if (Direction <> dirUP) and SwingUp then
    begin
{ up swing, set last bottom }
      Direction := dirUP;
      Result[iDn_Swing] := aLow[iDn_Swing];
      LastSwingLow := aLow[iDn_Swing];
      iUp_Swing := i;
      SetBarColor(0, iDn_Swing, colDn);
    end else

    if (Direction = dirUp) and hH then
    begin
{ up trend continuation, check for new high }
      if aHigh[i] > aHigh[iUp_Swing] then iUp_Swing := i;
    end else

    if (Direction <> dirDN) and SwingDn then
    begin
{ down swing, set last top }
      Direction := dirDN;
      Result[iUp_Swing] := aHigh[iUp_Swing];
      LastSwingHigh := aHigh[iUp_Swing];
      iDn_Swing := i;
      SetBarColor(0, iUp_Swing, colUp);
    end else

    if (Direction = dirDn) and lL then
    begin
{ down trend continuation, check for new low }
      if aLow[i] < aLow[iDn_Swing] then iDn_Swing := i;
    end;

{ signalen controleren }
    if (LastSwingHigh > 0) and (aHigh[i] > LastSwingHigh) then
    begin
      Signals[i] := sgEnterLong;
      LastSwingHigh := 0;
      Color := colUp;
    end else
    if (LastSwingLow > 0) and (aLow[i] < LastSwingLow) then
    begin
      Signals[i] := sgEnterShort;
      LastSwingLow := 0;
      Color := colDn;
    end;
    if Color <> 0 then SetParentBarColor(i, Color);

    if i = BarCount-1 then
    begin
      if Direction = dirUP then
        Result[iUp_Swing] := aHigh[iUp_Swing]
      else
      if Direction = dirDN then
        Result[iDn_Swing] := aLow[iDn_Swing];
    end;
  end;
end;

var
  Strength: integer;
  sSwing: TSeries;
begin
{ Parameters }
  Strength := CreateParameterInteger('Strength', 1, 3, 2, true);
  colUp := CreateParameterColor('Color up', clLime);
  colDn := CreateParameterColor('Color down', clRed);

{ Indicator eigenschappen }
  with Indicator do
  begin
    RequiredBars := 1000;    // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand      := false;            // indicator standaard in nieuwe sectie plaatsen
    ScaleRange   := srCommon;       // indicatorschaal automatisch
    SignalView   := svShowInMain;
  end;

  sSwing := GannSwing(High, Low, Strength);

{ Weergave }
  with CreateLine(sSwing) do
  begin
    Name := 'GannTrend';
    Color := clSilver;
    ValueVisible := true;
  end;
end.
Bijlagen
American Tower.GIF
American Tower 2.GIF
Eric
Berichten: 3445
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: Gann Swing Chart (kleuren in trend)

Bericht door Eric »

Dat ligt eraan wat je precies bedoelt met "de outside bars meenemen". Ik roep even in herinnering op basis van welke regels deze indicator is gemaakt:
Basic plan

A bar making a higher high and higher low is considered as an 'up day bar', even if the close price is below the open price. Similarly a bar making lower high and lower low is considered as a 'down day bar', even if the close price is above the open price. For each up day bars a vertical line is drawn up to match the high of the latest bar. This continues as long as the bar are making new highs.

When a down day bar occurs, a small horizontal line is drawn to the next column and the line is drawn down till the low of the latest bar. It is continued till we get an up day bar. Now a small horizontal line is drawn to the next column and the line is drawn up till the high of the latest bar. Since only high and low are valued, no action is taken if an inside day appears.

In case of an outside day, the chart is updated only on the following day. If we get an 'up day bar' following an 'outside day bar', the line is drawn down to the low of the 'out side day bar' and then turned up to the high of the latest 'up day bar'.

If we get a 'down day bar' following an 'outside day bar', the line is first drawn up to the high of the 'out side day bar' and then turned down to the low of the latest ' down day bar'.

Two day Swing Chart

Construction of these charts are similar to the above description except a minor difference.
Charts with two days swing need two days of price movement against the earlier trend to reverse the direction of the line. An up swing is turned down only when we get 2 consecutive down day bars and a down swing is turned up only when we get 2 consecutive up day bars.
De beschrijving heeft betrekking op de weergave van de swings zonder vaste tijd-as, maar de weergave als trendlijnen in een barchart is niet fundamenteel anders:

Omdat deze regels ook niet compleet duidelijk zijn hebben we een aantal aannames gedaan. Of deze ook conform Gann's ideeën zijn weet ik niet:
- Voor een up/down day bar moet zowel de hoog als laag groter/kleiner zijn (niet gelijk) dan de vorige hoog/laag.
- de bepaling van een "up/down day bar" gebeurt altijd in vergelijking met de voorgaande bar, ook als dat een inside of outside bar is
- "consecutive up/down day bars" neem ik letterlijk, er mag dus ook geen inside of outside bar tussen de up/down day bars zitten die de swing bepalen
Als je wilt dat ze "meedoen", is de vraag hoe dan. Tel je ze dan eventueel als up day bar of down day bar, afhankelijk wat je "nodig" hebt?

---
Eric
Janus
Berichten: 1421
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Re: Gann Swing Chart (kleuren in trend)

Bericht door Janus »

maybe this will add something......
..
interessant wordt het na de eerste tien minuten...
Scroll iets naar beneden op deze pagina om de video van Mathew Verdouw te bekijken.
..
https://help.optuma.com/kb/faq.php?id=626
...
Plaatje er bij:
Afbeelding
.
Succes!!
..
Vriendelijke groet,
JanS ;)
Optiontrader
Berichten: 314
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Gann Swing Chart (kleuren in trend)

Bericht door Optiontrader »

Hallo Eric,

De interpretatie van onze 'Janus' is exact conform mijn intenties en vooral opgemaakt uit zijn bovenstaande artikel in één van zijn eerdere berichten!!!

Hieruit kan je opmaken dat de high van de outside bar in een uptrend een UP DAY BAR is en de low van de outside bar in een downtrend de DOWN DAY BAR is.

De afbeelding van 'Janus' is perfect.

Hartelijk dank voor beide heren voor alle moeite.

Vragen aan Janus:

Had W.D.Gann van te voren een target gepland bij zijn Swing Indicator?

Ik had de website van Optuma (Verdouw) al gelezen, edoch hartelijk dank. Ik neem aan dat je op de hoogte bent dat hij twee video's heeft geplaatst op internet?

Wat bedoel je met de eerste tien minuten?

Deze link is niet meer beschikbaar

https://www.youtube.com/watch?v=4UbzYWITLeI&spfreload=1

Heb jij 'm mogelijk nog?

Nog andere documenten etc. om de swing indicator van Gann te bestuderen?

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

Re: Gann Swing Chart (kleuren in trend)

Bericht door Eric »

Optiontrader schreef: wo okt 05, 2022 11:18 am Hieruit kan je opmaken dat de high van de outside bar in een uptrend een UP DAY BAR is en de low van de outside bar in een downtrend de DOWN DAY BAR is.
Dat is dus niet het geval, zie het filmpje waarnaar JanS verwijst (https://vimeo.com/213716083) op 18:40.

Ik begrijp de "regels" die hij hanteert nog niet helemaal eerlijk gezegd, dus als er een geschreven beschrijving is houd ik me aanbevolen.

---
Eric
Optiontrader
Berichten: 314
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Gann Swing Chart (kleuren in trend)

Bericht door Optiontrader »

Hallo Eric,
Ik ga het bekijken
Groet OT
Janus
Berichten: 1421
Lid geworden op: wo jan 30, 2008 2:07 am
Contacteer:

Re: Gann Swing Chart (kleuren in trend)

Bericht door Janus »

Er gaat in bovenstaande discussie iets langs elkaar heen.
Een outsidebar wordt door Optuma behandeld als twee koersbars; namelijk één bar die een nieuwe high plaatst en één bar die een nieuwe low plaatst, weergegeven in één bar, de outside bar.
Je wacht dan op de volgende bar (geen inside bar) en wanneer die een nieuwe high plaatst, dan teken je de Gann-swing-line IN de outside bar van de high naar de low, en dan vanaf de low van die outside bar weer omhoog naar die nieuwe high.
En vice versa voor wanneer er een nieuwe low wordt geplaatst na een outside bar.

Maar er gaat nog iets anders mis in de grafiek die OT laat zien.
Ik heb om dat goed in beeld te brengen even een compositie gemaakt.
Links is de swing indicator in WallStreet, en rechts in Optuma.
Beide met een strength of 2.
Afbeelding

Ik ben zelf tien jaar geleden in 2012 even bezig geweest met die indicator, maar liep toen een beetje vast, en ik ben er daarna niet meer aan toe gekomen.
Dat beeld zag er als volgt uit:
Afbeelding
Wellicht dat ik er de komende tijd weer wat tijd insteek.
.
Vriendelijke groet,
JanS ;)
Optiontrader
Berichten: 314
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Gann Swing Chart (kleuren in trend)

Bericht door Optiontrader »

Goedemorgen,

In mijn afbeelding heb je allereerst twee opeenvolgende lower lows en lower highs in een downswing van een uptrend (rode lijn).

De volgende en dus derde dag komt er een derde lower low en een lower high bij en dus is er nog steeds sprake van een downswing in een uptrend (nogmaals de rode lijn).

De vierde dag is er een higher low en een higher high, maar we moeten nog wachten op de volgende dag voordat de downswing kan veranderen naar een upswing in een uptrend.

Momenteel wordt de vijfde dag van de outside bar niet meegerekend, waarvan het juist wel de bedoeling is dat hij wordt meegeteld. De outside bar heeft namelijk een higher high dan de vorige dag, dus is er sprake van twee opeenvolgende higher highs. Daardoor verandert de downswing in een upswing in een uptrend. De low van de outside bar negeren wij simpelweg (zie groene lijn).

Ik plaatst nogmaals mijn laatste afbeelding er bij.

De weergave van JanS is juist indien je met horizontale en verticale lijnen werkt. Met diagonale lijnen, zoals in mijn voorbeeld, is het net even anders.

Groet OT
Bijlagen
American Tower 2.GIF
Eric
Berichten: 3445
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: Gann Swing Chart (kleuren in trend)

Bericht door Eric »

Er zijn allerlei varianten mogelijk, ik ben onvoldoende ingevoerd in Gann om te bepalen hoe de meester zelf hierover dacht. Het punt is dat in het ralleytje vanaf 3 aug hierboven er geen 2 opeenvolgende up bars zijn, vandaar dat WS geen uptrend tekent.

Ik heb de werking van een outside bar nu gewijzigd in:
- als de voorgaande bar een up bar was dan wordt hij als up bar gerekend
- als de voorgaande bar een down bar was dan wordt hij als down bar gerekend
- anders wordt hij genegeerd

Bij een inside bar wordt de up/down bar telling nog steeds herstart.

Code: Selecteer alles

{- Filename: Gann Swing Indicator (Real) -}

type
  TDirection = (dirNONE, dirUP, dirDN);

var
  colUp, colDn: TColor;

function GannSwing(aHigh, aLow: TSeries; Strength: integer): TSeries;
var
  i, UpCnt, DnCnt: integer;
  hH, lL, lH, hL,
  SwingUp, SwingDn: boolean;
  Direction: TDirection;
  iDn_Swing, iUp_Swing, Count: integer;
  LastSwingLow, LastSwingHigh: real;
  Color: TColor;
begin
  Count := GetArrayLength(aHigh);
  Result := CreateSeries(Count);
  UpCnt := 0;
  DnCnt := 0;
  Color := 0;
  LastSwingHigh := 0;
  LastSwingLow := 0;
  for i:=1 to Count-1 do
  begin
    hH := aHigh[i] > aHigh[i-1];
    lL := aLow[i] < aLow[i-1];
    lH := aHigh[i] < aHigh[i-1];
    hL := aLow[i] > aLow[i-1];

    if lH and lL then  // down bar
    begin
      UpCnt := 0;
      DnCnt := DnCnt + 1;
    end else
    if hH and hL then  // up bar
    begin
      DnCnt := 0;
      UpCnt := UpCnt + 1;
    end else
    if hH and lL then  // outside bar
    begin
      if UpCnt > 0 then UpCnt := UpCnt + 1 else
        if DnCnt > 0 then DnCnt := DnCnt + 1;
    end else
    begin
      UpCnt := 0;
      DnCnt := 0;
    end;
    SwingDn := DnCnt = Strength;
    SwingUp := UpCnt = Strength;

    if (Direction <> dirUP) and SwingUp then
    begin
{ up swing, set last bottom }
      Direction := dirUP;
      Result[iDn_Swing] := aLow[iDn_Swing];
      LastSwingLow := aLow[iDn_Swing];
      iUp_Swing := i;
      SetBarColor(0, iDn_Swing, colDn);
    end else

    if (Direction = dirUp) and hH then
    begin
{ up trend continuation, check for new high }
      if aHigh[i] > aHigh[iUp_Swing] then iUp_Swing := i;
    end else

    if (Direction <> dirDN) and SwingDn then
    begin
{ down swing, set last top }
      Direction := dirDN;
      Result[iUp_Swing] := aHigh[iUp_Swing];
      LastSwingHigh := aHigh[iUp_Swing];
      iDn_Swing := i;
      SetBarColor(0, iUp_Swing, colUp);
    end else

    if (Direction = dirDn) and lL then
    begin
{ down trend continuation, check for new low }
      if aLow[i] < aLow[iDn_Swing] then iDn_Swing := i;
    end;

{ signalen controleren }
    if (LastSwingHigh > 0) and (aHigh[i] > LastSwingHigh) then
    begin
      Signals[i] := sgEnterLong;
      LastSwingHigh := 0;
      Color := colUp;
    end else
    if (LastSwingLow > 0) and (aLow[i] < LastSwingLow) then
    begin
      Signals[i] := sgEnterShort;
      LastSwingLow := 0;
      Color := colDn;
    end;
    if Color <> 0 then SetParentBarColor(i, Color);

    if i = BarCount-1 then
    begin
      if Direction = dirUP then
        Result[iUp_Swing] := aHigh[iUp_Swing]
      else
      if Direction = dirDN then
        Result[iDn_Swing] := aLow[iDn_Swing];
    end;
  end;
end;

var
  Strength: integer;
  sSwing: TSeries;
begin
{ Parameters }
  Strength := CreateParameterInteger('Strength', 1, 3, 2, true);
  colUp := CreateParameterColor('Color up', clLime);
  colDn := CreateParameterColor('Color down', clRed);

{ Indicator eigenschappen }
  with Indicator do
  begin
    RequiredBars := 1000;    // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand      := false;            // indicator standaard in nieuwe sectie plaatsen
    ScaleRange   := srCommon;       // indicatorschaal automatisch
    SignalView   := svShowInMain;
  end;

  sSwing := GannSwing(High, Low, Strength);

{ Weergave }
  with CreateLine(sSwing) do
  begin
    Name := 'GannTrend';
    Color := clSilver;
    ValueVisible := true;
  end;
end.
---
Eric
Bijlagen
at.JPG
Optiontrader
Berichten: 314
Lid geworden op: ma jan 01, 2007 9:41 pm

Re: Gann Swing Chart (kleuren in trend)

Bericht door Optiontrader »

Hallo Eric,

Ik heb het ook bekeken en het ziet er heel goed uit.

Ik ben het eens met je idee over de inside bar.

Dank voor alle moeite, mede JanS.

Groet OT
Plaats reactie