TrendOscillator - Vertalen Trendoscillator van EL naar VC

Vragen en suggesties over Vesticode

Moderator: Perry

TrendOscillator - Vertalen Trendoscillator van EL naar VC

Berichtdoor Wilco » ma 03 nov 2003, 11:22

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;
Wilco
 
Berichten: 35
Geregistreerd op: vr 29 nov 2002, 17:33

TrendOscillator

Berichtdoor Pierre » ma 03 nov 2003, 12:02

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
Pierre
 
Berichten: 412
Geregistreerd op: di 02 okt 2001, 9:46
Woonplaats: Leerdam

TrendOscillator

Berichtdoor Paul M » ma 03 nov 2003, 13:57

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)
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

TrendOscillator

Berichtdoor JOHAN M » ma 03 nov 2003, 18:12

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
JOHAN M
 
Berichten: 16
Geregistreerd op: zo 07 sep 2003, 8:13

TrendOscillator

Berichtdoor GMe » di 04 nov 2003, 1:37

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
GMe
 
Berichten: 145
Geregistreerd op: zo 07 okt 2001, 16:16

TrendOscillator

Berichtdoor Paul M » di 04 nov 2003, 8:52

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.
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

TrendOscillator

Berichtdoor Wilco » di 04 nov 2003, 8:59

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.
Wilco
 
Berichten: 35
Geregistreerd op: vr 29 nov 2002, 17:33

TrendOscillator

Berichtdoor GMe » di 04 nov 2003, 9:47

Paul,

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

Average(Close, 10)[1] = Average(Close[1], 10)
GMe
 
Berichten: 145
Geregistreerd op: zo 07 okt 2001, 16:16

TrendOscillator

Berichtdoor Wilco » di 04 nov 2003, 10:15

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;
Wilco
 
Berichten: 35
Geregistreerd op: vr 29 nov 2002, 17:33

TrendOscillator

Berichtdoor Wilco » di 04 nov 2003, 10:19

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.
Wilco
 
Berichten: 35
Geregistreerd op: vr 29 nov 2002, 17:33

TrendOscillator

Berichtdoor Paul M » di 04 nov 2003, 15:54

Geert :Dank je wel.
Wilco: Af en toe zit het mee.

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

TrendOscillator

Berichtdoor Joop Henzen » di 04 nov 2003, 19:11

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
Joop Henzen
 
Berichten: 215
Geregistreerd op: ma 30 dec 2002, 14:21
Woonplaats: Bussum

TrendOscillator

Berichtdoor Wilco » wo 05 nov 2003, 10:47

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
Wilco
 
Berichten: 35
Geregistreerd op: vr 29 nov 2002, 17:33

TrendOscillator

Berichtdoor Joop Henzen » wo 05 nov 2003, 10:52

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
Joop Henzen
 
Berichten: 215
Geregistreerd op: ma 30 dec 2002, 14:21
Woonplaats: Bussum


Keer terug naar Vesticode

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 14 gasten

cron