Pagina 1 van 1

TrendOscillator - Vertalen Trendoscillator van EL naar VC

BerichtGeplaatst: ma 03 nov 2003, 11:22
door Wilco
Ik kan onderstaande code uit de Technische en Kwantitatieve Analyse van september niet werkend krijgen in Vestics. Wie kan er een vesticode versie van maken?

{*******************************************************************
Description ?: This Indictor plots the TrendOscillator
Provided By : BTAC (c) Copyright 2003
********************************************************************}
Input: lengthMA1(5),lengthMA2(35),
? ? ? ? ?LengthSTS(7), OverSold(20), OverBought(80);
Variables: ?Trendoscillator(0), HighValue(0), LowValue(0), CloseValue(0);

TrendOscillator = Average(Close, lengthMA1)-Average(Close, lengthMA2)[1];

Highvalue= Highest(TrendOscillator,lengthMA2);
Lowvalue = Lowest(TrendOscillator, lengthMA2);
Closevalue = TrendOscillator;

Plot1(SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS), "SlowK-TO");
Plot2(SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS), "SlowD-TO");
Plot3(OverBought, "OB");
Plot4(OverSold, "OS");

{*******************************************************************
Description ?: This System describes the TrendOscillator System
Provided By : BTAC (c) Copyright 2003
********************************************************************}
Input: lengthMA1(5),lengthMA2(35), LengthSTS(7),
? ? ? ? ?OverSold(20), OverBought(80);
Variables: Trendoscillator(0), HighValue(0), LowValue(0),
? ? ? ? ? ? ? ? CloseValue(0), TO(0),TL(0), OB(0), OS(0);

TrendOscillator = Average(Close, lengthMA1)-Average(Close, lengthMA2)[1];

Highvalue= Highest(TrendOscillator,lengthMA2);
Lowvalue = Lowest(TrendOscillator, lengthMA2);
Closevalue = TrendOscillator;

TO = SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS);
TL = SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS);
OB = Overbought;
OS = Oversold;

if TO crosses over 50 then buy("Long1")this bar at close;
if TO<OB and TO>50 and TO crosses over TL then buy ("Long2") this bar at close;
if marketposition = 1 and TL>OB and TO crosses under TL then exitlong ("ExitLong1") this bar at close;
if marketposition = 1 and ?TO crosses under 50 then exitlong ("ExitLong2") this bar at close;

if TO crosses under 50 then sell("Short1")this bar at close;
if TO>OS and TO<50 and TO crosses under TL then sell ("Short2") this bar at close;
if marketposition = -1 and TL<OS and TO crosses over TL then exitshort ("ExitShort1") this bar at close;
if marketposition = -1 and ?TO crosses over 50 then exitshort ("ExitShort2") this bar at close;

TrendOscillator

BerichtGeplaatst: ma 03 nov 2003, 12:02
door Pierre
Hallo Wilco,

Het is NIET nodig om EL te vertalen naar VestiCode. Alle EL is in principe zonder aanpassing te gebruiken in Vestics.

Het kan voorkomen dat in een stukje EL een bepaalde functie gebruikt wordt die niet beschikbaar is in Vestics. Dan helpt echter converteren naar VestiCode ook niet want daar heb je dan ook die functie nodig.

Een hele enkele keer komt het voor dat een stukje EL een syntax error geeft op een andere plek dan bij het aanroepen van een functie. Dat zou dan duiden op een incompatibility tussen Vestics en EL en die willen we graag zo snel mogelijk oplossen.

Dus...
- EL niet converteren naar VestiCode
- missende functies melden via feedback@vestico.nl
- andere syntax errors ook melden aan feedback@vestico.nl

vr. groeten,
Pierre Dolmans
Vestico helpdesk

TrendOscillator

BerichtGeplaatst: ma 03 nov 2003, 13:57
door Paul M
Hallo Wilco,

Paar kleine aanpassingen.

System:

Input: lengthMA1(5),lengthMA2(35), LengthSTS(7),
? ? ? ? ?OverSold(20), OverBought(80);
Variables: Trendoscillator(0), HighValue(0), LowValue(0),
? ? ? ? ? ? ? ? CloseValue(0), xTO(0),TL(0), OB(0), OS(0);

TrendOscillator = Average(Close, lengthMA1)-Average(Close[1], lengthMA2);

Highvalue= Highest(TrendOscillator,lengthMA2);
Lowvalue = Lowest(TrendOscillator, lengthMA2);
Closevalue = TrendOscillator;

xTO = SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS);
TL = SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS);
OB = Overbought;
OS = Oversold;

if xTO crosses over 50 then buy("Long1")this bar at close;
if xTO<OB and xTO>50 and xTO crosses over TL then buy ("Long2") this bar at close;
if marketposition = 1 and TL>OB and xTO crosses under TL then exitlong ("ExitLong1") this bar at close;
if marketposition = 1 and ?xTO crosses under 50 then exitlong ("ExitLong2") this bar at close;

if xTO crosses under 50 then sell("Short1")this bar at close;
if xTO>OS and xTO<50 and xTO crosses under TL then sell ("Short2") this bar at close;
if marketposition = -1 and TL<OS and xTO crosses over TL then exitshort ("ExitShort1") this bar at close;
if marketposition = -1 and ?xTO crosses over 50 then exitshort ("ExitShort2") this bar at close;

Indicator:

{*******************************************************************
Description ?: This Indictor plots the TrendOscillator
Provided By : BTAC (c) Copyright 2003
********************************************************************}
Input: lengthMA1(5),lengthMA2(35),
? ? ? ? ?LengthSTS(7), OverSold(20), OverBought(80);
Variables: ?Trendoscillator(0), HighValue(0), LowValue(0), CloseValue(0),xSlowk(0),xSlowD(0);

TrendOscillator = Average(Close, lengthMA1)-Average(Close[1], lengthMA2);

Highvalue= Highest(TrendOscillator,lengthMA2);
Lowvalue = Lowest(TrendOscillator, lengthMA2);
Closevalue = TrendOscillator;
xSlowk=SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS);
xSlowD=SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS);
Plot1(xSlowk, "SlowK-TO");
Plot2(xSlowD, "SlowD-TO");
Plot3(OverBought, "OB");
Plot4(OverSold, "OS");
end;

Ben het niet helemaal eens met Pierre.
Via edit een kopie maken.

Paul.

(Edited by Paul M at 1:59 pm op 3,nov. 2003)

TrendOscillator

BerichtGeplaatst: ma 03 nov 2003, 18:12
door JOHAN M
Hoi Vestico's

Deze indicator en system werkten perfect voor de UPDATE van Vestics maar nu doet hij het NIET meer, wat de reden is ???
Enkel de lijnen "OverBought & OverSold "worden nog getekend in de grafiek.

Johan M

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 1:37
door GMe
Dat komt omdat blijkbaar de [1] niet gevreten wordt in de volgende regel:

TrendOscillator = Average(Close, lengthMA1)-Average(Close, lengthMA2)[1];

Heeft Vestics moeite met die Average van 1 bar terug ??
Zoals Paul het opgelost heeft met; Average(Close[1], lengthMA2) is volgens mij anders dan hetgeen bedoeld is.

Er staat een 'werkende' versie ( zonder [1] ) op:

http://www.tradingtools.nl/download.htm

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 8:52
door Paul M
Referencing Previous Values of Functions

You can reference the values of functions on previous bars. For example, the following
statement refers to the value of the 10-bar average of the volume one bar ago:
Value1 = Average(Volume, 10)[1];
In the above example, the function itself is being offset.
Using Previous Values as Parameters
You can also offset the value that you pass as the parameter. For example, you can also
write the following statement:
Value1 = Average(Volume[1], 10);
What is offset is the value that is passed into the function as the parameter, not the function
itself. In the above example, the function will use the previous bar?s volume to perform the
calculation. In this instance, the results are the same for both of the above statements.

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 8:59
door Wilco
Ik had hetzelfde probleem als Johan M en dacht dat het dus aan de synchronisatie van EL en VC lag, terwijl ik al een aantal zaken had moeten aanpassen (o.a. enkele dubbele variabele namen (r. 24) verwijderen)

Vervolgens de versie van Paul M geprobeerd, maar die liep vast op regel 22, positie 4, fout 35: verwacht daar de naam van een variabele (?)

Zo?ven de versie van tradingtools.nl gedownload en ge?nstalleerd. Deze werkt!!

Bedankt voor jullie hulp.

Ik zal nu de dynamische TRIX in vestics proberen te krijgen vanuit de de codes van Technische Kwantitatieve analyse. Ik hou jullie op de hoogte.

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 9:47
door GMe
Paul,

Je hebt helemaal gelijk, zat even niet goed na te denken.

Average(Close, 10)[1] = Average(Close[1], 10)

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 10:15
door Wilco
Ik heb hieronder de werkende versie nog even weergegeven, waaruit blijkt, dat de fout in n'n oorspronkelijke versie inderdaad in die [1] aan het eind van regel 5 ?blijkt te zitten, alsmede in de variabele TO welke overal TX moet zijn in het systeem.

De werkende versie luidt dan:

{*******************************************************************
Description ?: This Indictor plots the TrendOscillator
Provided By : BTAC (c) Copyright 2003
********************************************************************}
Input: lengthMA1(5),lengthMA2(35), LengthSTS(7), OverSold(20), OverBought(80);
Variables: ?Trendoscillator(0), HighValue(0), LowValue(0), CloseValue(0);

TrendOscillator = Average(Close, lengthMA1) - Average(Close, lengthMA2);

Highvalue= Highest(TrendOscillator,lengthMA2);
Lowvalue = Lowest(TrendOscillator, lengthMA2);
Closevalue = TrendOscillator;

Plot1(SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS), "SlowK-TO");
Plot2(SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS), "SlowD-TO");
Plot3(OverBought, "OB");
Plot4(OverSold, "OS");

{*******************************************************************
Description ?: This System describes the TrendOscillator System
Provided By ?: BTAC (c) Copyright 2003
********************************************************************}
Variables: ?TX(0),TL(0), OB(0), OS(0);

TX = SlowKCustom(HighValue, LowValue, CloseValue, LengthSTS);
TL = SlowDCustom(HighValue, LowValue, CloseValue, LengthSTS);
OB = Overbought;
OS = Oversold;

if TX crosses over 50 then buy("Long1")this bar at close;
if TX<OB and TX>50 and TX crosses over TL then buy ("Long2") this bar at close;
if marketposition = 1 and TL>OB and TX crosses under TL then exitlong ("ExitLong1") this bar at close;
if marketposition = 1 and ?TX crosses under 50 then exitlong ("ExitLong2") this bar at close;

if TX crosses under 50 then sell("Short1")this bar at close;
if TX>OS and TX<50 and TX crosses under TL then sell ("Short2") this bar at close;
if marketposition = -1 and TL<OS and TX crosses over TL then exitshort ("ExitShort1") this bar at close;
if marketposition = -1 and ?TX crosses over 50 then exitshort ("ExitShort2") this bar at close;

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 10:19
door Wilco
Inmiddels ook de DynamicTRIX in vestics ge?mplementeerd. Hieruit blijkt, dat, als in de EL-code geen fouten en geen vesticsvreemde functies zitten, alles ??n op ??n werkt.
Dus Pierre had inderdaad gelijk.

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 15:54
door Paul M
Geert :Dank je wel.
Wilco: Af en toe zit het mee.

Paul.

TrendOscillator

BerichtGeplaatst: di 04 nov 2003, 19:11
door Joop Henzen
Hallo Wilco


bij mij werkt het niet

misschien is het een goed idee om iets wat ook echt werkt in Vestics vanuit Vesticode / user te copieren.

Ik ben NIET erg bekend met Vesticode maar ben wel in staat om met ?copy / paste de zaak aan de praat te krijgen. Voorwaarde voor mij ( en wellicht vele anderen )is derhalve een foutloze input


groet


Joop Henzen

TrendOscillator

BerichtGeplaatst: wo 05 nov 2003, 10:47
door Wilco
Joop,

je schrijft:
"misschien is het een goed idee om iets wat ook echt werkt in Vestics vanuit Vesticode / user te copieren".

Dit heb ik gedaan: de code in het editor venster (F11) in haar geheel geselecteerd, gekopieerd naar het klembord en vervolgens weer vanaf het klembord in het forum geplakt.

Ik weet niet wat ik anders moet doen. Als je een andere oplossing weet, hoor ik het graag.

gr.
Wilco

TrendOscillator

BerichtGeplaatst: wo 05 nov 2003, 10:52
door Joop Henzen
Hallo Wilco


misschien kun je de bestanden even vanuit Vestics aan mij e-mailen
meestal lukt het daarna wel

ik informeer je daarna over de resultaten, ok?

joop.henzen@hccnet.nl