Pagina 1 van 1

ergodic - handelsysteem

BerichtGeplaatst: di 06 jan 2004, 19:10
door willie
Dit is de ergodic indicator. Deze geeft op het eerste gezicht leuke signalen. Ik wil dit graag omzetten in een automatisch handelssysteem. Wie kan mij helpen met de code ?

------


value function Ergodic (
?value xSeries[] { Close or any other series } = Close,
?value xEma1Bars { number of bars for 1st EMA } = 50,
?value xEma2Bars { number of bars for 2nd EMA } = 6,
?value xMomBars ?{ number of bars for momentum } = 1,
?value xCrossBars{ numberof bars for crossings } = 5) begin
?
?{--- definieer variabelen ---}
?value xErgodic[],xSignal;

?{--- bereken de Ergodic waarde ---}
?xErgodic := Ergodic(xSeries,xEma1Bars,xEma2Bars,xMomBars);
?xSignal := XAverage(xErgodic,xCrossBars);

?{--- teken de Ergodic lijn ---}
?Plot1(xErgodic,'Ergodic');
?plot2(xSignal,'Signal');

?end;

--------

Vr. Gr.

Willie




(Edited by willie at 7:10 pm op 6,jan. 2004)

ergodic

BerichtGeplaatst: zo 11 jan 2004, 14:05
door mvs
Willie,

Op het eerste oog ziet het er mooi uit, maar als je op de kruisingen gaat kopen/verkopen kom je bedrogen uit
=============
Hier het simpele systeem
=============
Een systeem met een ATB band Stoploss (zie handelssysteem + ind. >>> Stoploss op basis van ATR band)

(Kopie?r code via de edit knop)
==========
value function zErgodic (
?value xSeries[] { Close or any other series } = Close,
?value xEma1Bars { number of bars for 1st EMA } = 40,
?value xEma2Bars { number of bars for 2nd EMA } = 6,
?value xMomBars ?{ number of bars for momentum } = 1,
?value xCrossBars{ numberof bars for crossings } = 9,
?Value xFilter{ 1= geen filter (ema=1)}=1)
?begin
?value xErgodic[],xSignal,xMACD[],xmacdSignal,xDelta;
?
{--- bereken de Ergodic waarde ---}
?xErgodic := vEma(zErgodic(xSeries,xEma1Bars,xEma2Bars,xMomBars),xFilter);
?xSignal := XAverage(xErgodic,xCrossBars);

If vcrossesabove(xErgodic,xSignal) ?then buy;
If vcrossesbelow(xErgodic,xSignal) ?then sell;

?{--- teken de Ergodic lijn ---}
?Plot1(xErgodic,'Ergodic');
?plot2(xSignal,'Signal ergodic');
?
end;
====================================

value function zErgodicStop (
?value xSeries[] { Close or any other series } = Close,
?value xEma1Bars { number of bars for 1st EMA } = 40,
?value xEma2Bars { number of bars for 2nd EMA } = 6,
?value xMomBars ?{ number of bars for momentum } = 1,
?value xCrossBars{ numberof bars for crossings } = 9,
?Value xFilter=5,value xNumberOfATRs=2, value xATRNumberOfBars=10,
?Value xBars=10)
?begin
?value xErgodic[],xSignal,xMACD[],xmacdSignal,xDelta;
?
{--- bereken de Ergodic waarde ---}
?xErgodic := vEma(zErgodic(xSeries,xEma1Bars,xEma2Bars,xMomBars),xFilter);
?xSignal := XAverage(xErgodic,xCrossBars);
?
value xATR[], xATRBandUp[], xATRBandDown[];
xATR := AvgTrueRange(xAtrNumberOfBars);
xATRBandUp ? := Lowest ?((Close + xATR*xNumberOfATRs),xBars);
xATRBandDown := Highest ((Close - xATR*xNumberOfATRs),xBars);



If vcrossesabove(xErgodic,xSignal) ?then buy;
If vcrossesbelow(xErgodic,xSignal) ?then sell;

If marketposition = 1 then
if vCrossesbelow (c,xATRBandDown) then exitlong;


If Marketposition = -1 then
if vCrossesAbove (c,xATRBandUp) then exitshort;


?{--- teken de Ergodic lijn ---}
?Plot1(xErgodic,'Ergodic');
?plot2(xSignal,'Signal ergodic');
?
end;

ergodic

BerichtGeplaatst: ma 19 jan 2004, 11:31
door willie
Bedankt voor je reactie mvs,

Ik krijg je code ?van de eerste ergodic niet aan de gang. Er is een foutmelding bij xSeries, verwacht hier een haak sluiten.

xErgodic := vEma(zErgodic(xSeries,xEma1Bars,xEma2Bars,xMomBars),xFilter);


Vr.Groet,

Willie


(Edited by willie at 2:37 am op 4,mar. 2004)

ergodic

BerichtGeplaatst: ma 19 jan 2004, 12:43
door Joop Henzen
Hallo MVS

Had hetzelfde probleem als Willie Dacht dat het aan mij lag
Mag ik ook even de 2 Indicatoren ?

joop.henzen@hccnet.nl

ergodic

BerichtGeplaatst: vr 14 mei 2004, 20:29
door hvnoort
ben op hetzelfde probleem gestoten.
is er een oplossing of niet?

ergodic

BerichtGeplaatst: vr 14 mei 2004, 22:07
door Paul M
value function zzTestErgodic (
?value xSeries[] { Close or any other series } = Close,
?value xEma1Bars { number of bars for 1st EMA } = 50,
?value xEma2Bars { number of bars for 2nd EMA } = 6,
?value xMomBars ?{ number of bars for momentum } = 1,
?value xCrossBars{ numberof bars for crossings } = 5,
?Value xSmooth{ 1= no smoothing(ema=1)}=1)
begin
?
?{--- definieer variabelen ---}
?value xErgodic[],xSignal,xErgodicFilter;

?{--- bereken de Ergodic waarde ---}
?xErgodic := Ergodic(xSeries,xEma1Bars,xEma2Bars,xMomBars);
?xSignal := XAverage(xErgodic,xCrossBars);
?xErgodicSmoothed=vEMA(xErgodic ,xSmooth);
?{--- teken de Ergodic lijn ---}
?Plot1(xErgodic,'Ergodic');
?plot2(xSignal,'Signal');
?plot3( xErgodicSmoothed," ErgodicSmoothed");
?end;

Paul

(Edited by Paul M at 11:08 pm op 14,mei 2004)

ergodic

BerichtGeplaatst: za 15 mei 2004, 17:53
door hvnoort
Dank voor je bijdrage!
J gebruikt hierin dus de reeds bestaande functie Ergodic(...)

Ik heb geprobeerd een eigen versie te maken zeg, zErgodic(....)
waarin dan weer zErgodic() wordt aangeroepen
juist zoals in de bestaande Ergodic indicator.

DIT WIL OP GEEN ENKELE MANIER LUKKEN!!!

Alleen als ik in de functie zErgodic net als jij de
oorspronkelijke Ergodic functie aanroep werkt het.

Maar dat wil ik dus juist niet!

enige clue hoe dit aan te pakken?

bijvoorbaat dank,
henk

ergodic

BerichtGeplaatst: za 15 mei 2004, 18:19
door Jo
Zou het niet zijn daar je dezelfde naam gebruikt voor de FUNCTIE & de INDICATOR.

Deze draait bij mij perfect, maar terug de vaststelling bij enkel LONG gaan met moeite 50 % goede trades.
Op 5 jaar geeft dit : Winners 43.6% verliezers 53.7% Netto resultaat 8 %

Kan iemand een suggestie doen hoe je dit kan opdrijven naar +- 65%.

value function zsErgodiStop (
?value xSeries[]= Close, ?value xEma1Bars= 40,value xEma2Bars= 6,value xMomBars= 1,
?value xCrossBars= 9, Value xFilter=5,value xNumberOfATRs=2, value xATRNumberOfBars=10,
?Value xBars=10) ?begin
?
value xErgodic[],xSignal,xMACD[],xmacdSignal,xDelta{,xErgodicSmoothed};
{--- bereken de Ergodic waarde ---}
?xErgodic := vEma(Ergodic(xSeries,xEma1Bars,xEma2Bars,xMomBars),xFilter);
?xSignal := XAverage(xErgodic,xCrossBars);
?
value xATR[], xATRBandUp[], xATRBandDown[];
xATR := AvgTrueRange(xAtrNumberOfBars);
xATRBandUp ? := Lowest ?((Close + xATR*xNumberOfATRs),xBars);
xATRBandDown := Highest ((Close - xATR*xNumberOfATRs),xBars);

If vcrossesabove ? (xErgodic,xSignal) ?then venterlong
else If ?vcrossesbelow(xErgodic,xSignal) or vCrossesbelow (c,xATRBandDown) then vexitlong;
end;



(Edited by Jo at 10:03 am op 16,mei 2004)


(Edited by Jo at 10:09 am op 16,mei 2004)