Hoe maak ik een Exponentiele ADX? - Kan Vestico dat ook?

Vragen en suggesties over handelssystemen en indicatoren

Moderator: Perry

Hoe maak ik een Exponentiele ADX? - Kan Vestico dat ook?

Berichtdoor GerardB » za 17 mei 2003, 12:28

Hallo,

Heel graag zou ik willen weten hoe je een Exponentiele ADX kunt bouwen. In MetaStock b.v. krijg ik andere waarden dan ik Vestics met de ADX. Van een collega belegger hoorde ik dat er in MetaStock en WallStreet met een Exponentiele ADX gewerkt wordt.

Wat heb ik zelf al geprobeerd?
- de EMA en de MA met elkaar vergeleken. ( helaas niets kunnen vinden dat ik in de ADX kon plakken)
- het forum nagezocht op bruikbare info. Het enige dat ik hier tegenkwam was een stukje over xaverage. zie onderstaande tekst van FAQ.

====================================
Ik probeer in een Koersvenster een calculation te doen met de formule
Close-EMA(Close,50)
maar dat lukt niet

Indicatoren kun je NIET gebruiken als een functie in EasyLanguage (of VestiCode).

Indicatoren (zoals de EMA) zijn bedoeld om een of meerdere plots in een grafiek te tekenen.

Functies (zoals XAverage) kun je gebruiken in indicatoren, systemen en calculations, om iets te berekenen. De XAverage functie (staat voor eXponentieel Average) berekent dan ook een exponentieel VG voor je.

De formule die je zoekt is dus Close-XAverage(Close,50)

-----
Dit zijn postings die door Vestics zelf worden ingebracht aan de hand van vragen die ons bereiken via email of de helpdesk en die voor andere gebruikers ook interessant kunnen zijn.
====================================


Helaas is het me niet gelukt om dit aan de ADX te koppelen.

Alvast bedankt voor de reactie.

Mvg,
Gerard
GerardB
 
Berichten: 14
Geregistreerd op: ma 17 feb 2003, 22:08

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » za 17 mei 2003, 12:55

Hoi Gerard,

Ik weet niet zeker of je dit bedoelt?

value function zADXAvg (value xNumberOfBars=14,value xNeutral=20,value xSmooth=9) begin
value xADX,xAvg;
{---Calculatie variabelen---}
xADX := ADXCustom(High,Low,Close,xNumberOfBars);
xAvg:=xAverage(xADX,xSmooth);
{---Plotting---}
Plot1(xAvg, "ADXAvg"+NumToStr(xNumberOfBars));
Plot2(xNeutral,'Neutral');

end;

Groetjes Paul
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Hoe maak ik een Exponentiele ADX?

Berichtdoor GerardB » za 17 mei 2003, 16:01

Hallo Paul,

Dit is Geweldig!!! Precies wat ik bedoel. ?:cheesy: Volgens mij ben ik nu zover dat ik MetaStock maar

vergeet. Er is toch verschrikkelijk veel mogelijk met Vestico. Ik ga me er meer in verdiepen.

Wat ik verder nog ga proberen is een signaal of marker laten genereren als:

- er twee opeenvolgende toppen en dalen ( waarvan de laatste top of dal hoger ligt dan de eerste

top of dal ).
- automatisch horizontale steun en weerstandslijnen laten genereren die b.v. al 3 of 4 keer zijn

aangeraakt. Eventueel met een in te stellen tolerantie van de slotkoers ( omdat de slotkoers

zelden precies de steun of weerstand raakt ).

Mocht je nog tips en of opmerkingen hebben zijn deze van harte welkom.

Nogmaals hartelijk bedankt voor de supersnelle oplossing. Ik heb weer even wat te "spelen".

Met vriendelijke groeten,

Gerard
GerardB
 
Berichten: 14
Geregistreerd op: ma 17 feb 2003, 22:08

Hoe maak ik een Exponentiele ADX?

Berichtdoor GerardB » za 17 mei 2003, 17:29

Hallo Paul,

Volgens mij was ik iets te vroeg blij. Het is de Stochastic indicator. Het gaat om het volgende: Volgens het systeem van Bert van Arkel http://www.vanarkel.nl/beursinfo/column ... umn_id=120 worden er op 21 augustus en op 23 augustus twee signalen gegeven. Met Vestics zie ik er alleen maar een op 23 augustus. Dit schijnt dus te maken te hebben met de Exponentiele Stochastics die ze daar wel gebruiken. Omdat deze in combinatie met de ADX wordt gebruikt, keek ik er overheen. Mijn fout! Sorry. Alhoewel... ik ga je code wel gebruiken, omdat deze duidelijker is. Je kunt hem ook veel makkelijker in de Stochastics "slepen". En er is wat van te leren :)
Hopelijk is de Stochastics ook om te toveren naar een Exponentiele.
Overigens kan het geen kwaad een te "neuzen" op de website van Bert. http://www.vanarkel.nl ?De resultaten van de experts http://www.vanarkel.nl/vanarkel/experts.php zijn ook niet mis. Met name Joop houd zich precies aan het systeem. Money Management etc. Ik heb beide seminars gevolgd ( zeer zeker de moeite waard, omdat je gelijk resultaten ziet ), en probeer nu het hele systeem in vestics te bouwen. Ik ben benieuwd wat je er van vindt.

Alvast bedankt voor de moeite,

Met vriendelijke groeten,
Gerard
GerardB
 
Berichten: 14
Geregistreerd op: ma 17 feb 2003, 22:08

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » za 17 mei 2003, 21:54

Hoi Gerard,

value function zStochSmooth (value xNumberOfBars=14,value xEMA1=3,value xEMA2=3,value xSmooth1=3,value xSmooth2=9
?,value xOverSold=20, value xOverBought=80) begin
?value xFastK[],xSlowK[],xSlowD;
?xFastK := FastK(xNumberOfBars);
?xSlowK :=xAverage((vEMA(xFastK,xEMA1),xSmooth1);
?xSlowD := xAverage((vEMA(xSlowK,xEMA2),xSmooth2);
?Plot1(xSlowK,'%K');
?Plot2(xSlowD,'%D');
?Plot3(xOverSold,'');
?Plot4(xOverBought,'');
?end;

Groetjes Paul
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Hoe maak ik een Exponentiele ADX?

Berichtdoor GerardB » zo 18 mei 2003, 11:54

Hallo Paul,

Dankje weer voor de snelle reactie. Het ziet er goed uit. Alleen weet ik nog niet helemaal wat ik precies met "smooth" kan regelen. Ik krijg toch nog verschillende waarden.
De volgende code heb ik uit Metastock gehaald. De Stochastics Oscillator geeft n.l. wel de juiste getallen.


Stochastic Oscillator
The following formula calculates a 5-period %K Stochastic Oscillator with 3-period slowing:
(sum( C - llv(L,5), 3 ) / sum(hhv(H,5) - llv(L,5), 3) ) * 100
This next formula calculates a 3-period %D of the %K in the preceding formula.
mov( stoch(5,3), 3, S )


Betekenis van hhv en llv:


Highest High Value
SYNTAXhhv( DATA ARRAY, PERIODS )

FUNCTIONCalculates the highest value in the DATA ARRAY over the preceding PERIODS (PERIODS includes the current day).

EXAMPLE The formula "hhv( CLOSE, 5 )" returns the highest closing price over the preceding five periods; "hhv(H,7)" returns the highest high price over the preceding seven periods.



Lowest Low Value
SYNTAXllv( DATA ARRAY, PERIODS )

FUNCTIONCalculates the lowest value in the DATA ARRAY over the preceding PERIODS (PERIODS includes the current day).

EXAMPLE The formula "llv( CLOSE, 14 )" returns the lowest closing price over the preceding 14 periods.


Ik hoop dat je hier iets meer aan hebt.
In ieder geval al weer bedankt voor je moeite. ?:)

Mvg,
Gerard
GerardB
 
Berichten: 14
Geregistreerd op: ma 17 feb 2003, 22:08

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » ma 19 mei 2003, 8:55

hallo Gerard,

Bovenstaand is binnen Vestics volgens mij het volgende:
value function zStochNew (value xStochBars=5,value xSlowK=3,value xSlowD=3)begin
Value xHH[],xLL[],xSum1[],xSum2[],xAvgD[],xK[];
xHH :=Highest(High,xStochBars);
xLL :=Lowest(Low,xStochBars);
xSum1 :=summation((Close-xLL),xSlowK);
xSum2 :=summation((xHH-xLL),xSlowK);
xK :=(xSum1/xSum2)*100;
xAvgD:=xAverage(xK,xSlowD);
Plot1(xK,'K%');
Plot2(xAvgD,'D%');
plot3(80);
plot4(20);
end;

{Stochastic Oscillator
The following formula calculates a 5-period %K Stochastic Oscillator with 3-period slowing:
(sum( C - llv(L,5), 3 ) / sum(hhv(H,5) - llv(L,5), 3) ) * 100
This next formula calculates a 3-period %D of the %K in the preceding formula.
mov( stoch(5,3), 3, S ) }

Groetjes Paul
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » ma 19 mei 2003, 9:05

Hallo Gerard,

Nogmaals, ik heb onderstaand een formule gemaakt die je kunt invoegen als marker. Ik heb ?xAverage vervangen door Average en dan doet hij volgens mij dat wat jij wilt.
value function zArkelStochADX (value xADXBars=14,value xNeutral=20,value xStochBars=5,value xSlowK=3,value xSlowD=3,
) begin
value xADX,xHH[],xLL[],xSum1[],xSum2[],xAvgD[],xK[];;

{---Calculate ADX---}
?xADX := ADXCustom(High,Low,Close,xADXBars);
{---Calculate Stochastic---}
?xHH :=Highest(High,xStochBars);
xLL :=Lowest(Low,xStochBars);
xSum1 :=summation((Close-xLL),xSlowK);
xSum2 :=summation((xHH-xLL),xSlowK);
xK :=(xSum1/xSum2)*100;
xAvgD:=Average(xK,xSlowD);

{---Strategy---}
if ?xADX<20 ?then begin
if xK>80 and ?xK crosses below xAvgD ?then plot1(high);{---schrijven call---}
if xK<20 and xK crosses above xAvgD then plot2(low); {---schrijven put---}
end;
end;
Groetjes Paul.
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » ma 19 mei 2003, 9:19

Hallo Gerard ,
Hier zijn we weer.
Onderstaand de formule om als systeem in te voegen.
value function zArkelStochADX (value xADXBars=14,value xNeutral=20,value xStochBars=5,value xSlowK=3,value xSlowD=3,
) begin
value xADX,xHH[],xLL[],xSum1[],xSum2[],xAvgD[],xK[],xExitprice;

{---Calculate ADX---}
?xADX := ADXCustom(High,Low,Close,xADXBars);
{---Calculate Stochastic---}
?xHH :=Highest(High,xStochBars);
xLL :=Lowest(Low,xStochBars);
xSum1 :=summation((Close-xLL),xSlowK);
xSum2 :=summation((xHH-xLL),xSlowK);
xK :=(xSum1/xSum2)*100;
xAvgD:=Average(xK,xSlowD);
plot1(xK,'K%');
plot2(xAvgD,'D%');
plot3(80);
plot4(20);
{---Strategy---}
if ?xADX<20 ?then begin
if xK>80 and ?xK crosses below xAvgD ?then sell;{---schrijven call---}
if xK<20 and xK crosses above xAvgD then buy; {---schrijven put---}
end;
if marketposition=-1 then begin
xExitprice:=Entryprice+(Entryprice/100)*7.5;{AEX =5}
if xADX crosses above 20 or xK crosses above xAvgD or close>xExitprice then exitshort;
end;
if marketposition=1 then begin
xExitprice:=Entryprice+(Entryprice/100)*7.5;{AEX =5}
if xADX crosses above 20 or xK crosses below xAvgD or close<xExitprice then exitlong;

end;
end;
Groetjes Paul.
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Hoe maak ik een Exponentiele ADX?

Berichtdoor GerardB » di 20 mei 2003, 20:17

Hallo Paul,

Ik moet zeggen dat je een aardig staaltje programmeerwerk levert. Een indicator, marker en ook nog een compleet systeem. Fantastisch! :cool:
Ik ben er twee dagen mee aan het spelen geweest ( vandaar de wat late reactie ). Het werkt allemaal. Op een gegeven moment kreeg ik verschillende getallen bij de indicator t.o.v. de marker. Later bleek dat xaverage wel bij de marker maar niet bij de indicator veranderd had. Het zijn natuurlijk 2 afzonderlijk componenten.
Ik heb een aantal dingen geprobeerd aan te passen. ( zie code ). Dit omdat ik eerst niet dezelfde getallen kreeg als de columns van Bert.
Zo werkt het dacht ik goed:

value function zArkelStochADX (value xADXBars=14,value xNeutral=20,value xStochBars=5,value xSlowK=3,value xSlowD=3,
) begin
value xADX,xHH[],xLL[],xSum1[],xSum2[],xAvgD[],xK[],xExitprice;

{---Calculate ADX---}
xADX := ADXCustom(High,Low,Close,xADXBars);
{---Calculate Stochastic---}
xHH :=Highest(High,xStochBars);
xLL :=Lowest(Low,xStochBars);
xSum1 :=summation((Close-xLL),xSlowK);
xSum2 :=summation((xHH-xLL),xSlowK);
xK :=(xSum1/xSum2)*100;
xAvgD:=Average(xK,xSlowD);
plot1(xK,'K%');
plot2(xAvgD,'D%');
plot3(80);
plot4(20);
{---Strategy---}
if ?xADX<20.00 and xAvgD>80.00 and xK>80.00 then begin
if xK crosses below xAvgD then sell;{---schrijven call---}
end;
if ?xADX<20.00 and xAvgD<20.00 and xK<20.00 then begin
if xK crosses above xAvgD then buy; {---schrijven put---}
end;
if marketposition=-1 then begin
xExitprice:=Entryprice+(Entryprice/100)*7.5;{AEX =5}
if xADX crosses above 20 or xK crosses above xAvgD or close>xExitprice then exitshort;
end;
if marketposition=1 then begin
xExitprice:=Entryprice+(Entryprice/100)*7.5;{AEX =5}
if xADX crosses above 20 or xK crosses below xAvgD or close>xExitprice then exitlong;
end;
end;

Er viel een laatste regel weg op het forum, maar na een paar keer lezen heb ik het er zelf bij verzonnen. Ik hoop dat het goed is?

Is het trouwens ook mogelijk om overlappende posities in te nemen? Het komt af en toe voor dat een positie nog open staat terwijl er al een nieuwe begint. Mij is het niet gelukt na wat proberen. Maar goed, ik ben nog een ?rookie?.
Oja, het lijkt misschien niet direct winstgevend, maar het systeem kijkt naar de slotkoers van die dag als er een positie wordt ingenomen. ?In het echt? ?sluit je een optiecontract af net boven of net onder de slotkoers. Er zijn dus meer trades toch winstgevend al lijkt het niet zo. Is dit b.v. ook te realiseren in het systeem? Misschien niet met opties, maar met een afgeronde slotkoers naar boven of naar beneden? Dat zou helemaal super zijn.

Alweer hartelijk bedankt voor de moeite en ik ben hier echt heel erg blij mee. :cheesy:

Met vriendelijke groeten,
Gerard
GerardB
 
Berichten: 14
Geregistreerd op: ma 17 feb 2003, 22:08

Hoe maak ik een Exponentiele ADX?

Berichtdoor Paul M » wo 21 mei 2003, 10:11

Hallo Gerard,

Als je via edit kijkt dan zie je hem in zijn totaliteit.
Dit gebeurt geregeld dat een deel van de tekst niet zichtbaar is, ik weet niet waarom.
De rest moet ik me even in verdiepen.

Groetjes Paul
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21


Keer terug naar Handelssystemen + Indicatoren

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 7 gasten