[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Re: System Tester - Zero Lag EMA Crossover with OPT



PureBytes Links

Trading Reference Links

AHA.....So the DEMA is the same as the Zero Lag EMA, at least as far
as my system test is concerned(profit for both systems returned
exactly the same number - down to the last decimal point) 

PAUL

--- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@xxx> wrote:
>
> Paul,
> 
> Works for me!
> 
> If you want to add a touch of volume why not use a volume adjusted 
> moving average instead of the exponential? Its quick and simple.
> 
> Playing around with moving averages can be a lot of fun. In the end 
> though I think you will need to weigh the value and benefit of the 
> exercise. Always keep in mind that lag is the enemy. It should be 
> minimized if the MA is to be of any value. 
> 
> You should also consider if the formula can be written any 
> differently. What happens when we compare the Zero Lag to a DEMA?
> 
> Enjoy yourself,
> 
> Preston
>  
> 
> --- In equismetastock@xxxxxxxxxxxxxxx, "Paul Harris" 
> <paul_vicmar@> wrote:
> >
> > Preston
> > 
> > So have had a chance to play around with the system test. And have
> > thought of an improvement on your idea.
> > 
> > {ZLEMA(Zero Lag EMA1)}
> > EMA1:= Mov(CLOSE,opt1,E);
> > EMA2:= Mov(EMA1,opt1,E);
> > Difference:= EMA1 - EMA2;
> > ZeroLagEMA1:= EMA1 + Difference;
> > {ZLEMA(Zero Lag EMA2)}
> > EMA1:= Mov(CLOSE,opt2,E);
> > EMA2:= Mov(EMA1,opt2,E);
> > Difference:= EMA1 - EMA2;
> > ZeroLagEMA2:= EMA1 + Difference;
> > Cross(ZeroLagEMA1,ZeroLagEMA2)
> > 
> > All we have done is to create two separate ZLEMAs. One which would 
> be
> > a short term MA and the second one which would be a long term MA. 
> And
> > then to use the cross function to identify the buy when one crosses
> > the other. 
> > 
> > Provisionally at the moment it looks to perform better than a 
> normal
> > MA crossover system. A more detailed inspection neeeded.
> > 
> > So I was thinking to combine this kind of MA system with the 
> addition
> > of another indicator by using the "AND" function. I was thinking of
> > using a volume based indicator that measures volume and price 
> movement
> > i.e OBV or Price Volume Trend and maybe a momentum indicator like
> > Chaikin´s Volatality. 
> > 
> > Preston, or anyone reading in, if you have advice about choice of
> > indicators to choose or how to combine the indicators together, I
> > would be most grateful.
> > 
> > Yours
> > PAUL
> > 
> > 
> > 
> >  
> > 
> > 
> > 
> > --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@> wrote:
> > >
> > > Paul,
> > > 
> > > Its a pleasure. We always have room for young talent to embrace 
> what 
> > > we can do with Metastock and to contribute to our future.
> > > 
> > > 
> > > Preston  
> > > 
> > > 
> > > 
> > > 
> > > --- In equismetastock@xxxxxxxxxxxxxxx, "Paul Harris" 
> > > <paul_vicmar@> wrote:
> > > >
> > > > Preston
> > > > 
> > > > Success. It seems to work OK. It´s late here in Spain so I´m 
> going 
> > > to
> > > > leave it to the morning. I´ll write back with some results and 
> let 
> > > you
> > > > know.
> > > > 
> > > > If I haven´t said so already, very grateful for your patience.
> > > > Hopefully we can put up something like the Zero Lag MACD 
> > > Exploration
> > > > and Expert so that others may benefit as well.
> > > > Yours
> > > > 
> > > > PAUL
> > > > 
> > > > 
> > > > 
> > > > --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@> 
> wrote:
> > > > >
> > > > > Paul,
> > > > > 
> > > > > Try this:
> > > > > 
> > > > > {ZLEMA(Zero Lag EMA)}
> > > > > EMA1:= Mov(CLOSE,opt1,E);
> > > > > EMA2:= Mov(EMA1,opt2,E);
> > > > > Difference:= EMA1 - EMA2;
> > > > > ZeroLagEMA:= EMA1 + Difference;
> > > > > Cross(ZeroLagEMA,Mov(ZeroLagEMA,opt3,E))
> > > > > 
> > > > > 
> > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Paul Harris" 
> > > > > <paul_vicmar@> wrote:
> > > > > >
> > > > > > Preston
> > > > > > 
> > > > > > So the exact formula for the ZLEMA(Zero Lag EMA) is as we 
> have 
> > > used 
> > > > > > before.
> > > > > > 
> > > > > > Period:= Input("What Period",1,250,10);
> > > > > > EMA1:= Mov(CLOSE,Period,E);
> > > > > > EMA2:= Mov(EMA1,Period,E);
> > > > > > Difference:= EMA1 - EMA2;
> > > > > > ZeroLagEMA:= EMA1 + Difference;
> > > > > > ZeroLagEMA
> > > > > > 
> > > > > > PAUL
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@> 
> > > wrote:
> > > > > > >
> > > > > > > Paul,
> > > > > > > 
> > > > > > > Post your exact formulas for me.
> > > > > > > 
> > > > > > > Preston
> > > > > > > 
> > > > > > > 
> > > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Paul Harris" 
> > > > > > > <paul_vicmar@> wrote:
> > > > > > > >
> > > > > > > > Preston
> > > > > > > > 
> > > > > > > > OK had a look and couple of points arise.
> > > > > > > > (ZLEMA=Zero Lag EMA)
> > > > > > > > The Indicator builder does not allow me to change the 
> > > period 
> > > > > > funtion
> > > > > > > > in the ZLEMA formula to, in our example, "opt1".
> > > > > > > > 
> > > > > > > > The other thing:
> > > > > > > > "Cross(ZeroLagEMA,Mov(ZeroLagEMA,opt2,E))"
> > > > > > > > 
> > > > > > > > Whilst the first ZLEMA would be optimised, the second 
> > > ZLEMA 
> > > > > would 
> > > > > > be
> > > > > > > > an optimsed EMA of the ZLEMA.
> > > > > > > > Would it not be possible to create two ZLEMA formulas, 
> > > ZLEMA1
> > > > > > (short)
> > > > > > > > and ZLEMA2(long). I am sure that it is possible, the 
> trick 
> > > is 
> > > > > how 
> > > > > > to
> > > > > > > > optimise them.
> > > > > > > > 
> > > > > > > > Gracias
> > > > > > > > PAUL
> > > > > > > > 
> > > > > > > >   
> > > > > > > > 
> > > > > > > > 
> > > > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh 
> <no_reply@> 
> > > > > wrote:
> > > > > > > > >
> > > > > > > > > Paul,
> > > > > > > > > 
> > > > > > > > > Sure. Look at Equis - CCI +100/-100 Crossover tester 
> and 
> > > > > check 
> > > > > > > those 
> > > > > > > > > buy and sell tabs.
> > > > > > > > > 
> > > > > > > > > In the original formula you would cange the input 
> value 
> > > to 
> > > > > and 
> > > > > > > opt# 
> > > > > > > > > value like this:
> > > > > > > > > 
> > > > > > > > > Period:= opt1;
> > > > > > > > > EMA1:= Mov(CLOSE,Period,E);
> > > > > > > > > EMA2:= Mov(EMA1,Period,E);
> > > > > > > > > Difference:= EMA1 - EMA2;
> > > > > > > > > ZeroLagEMA:= EMA1 + Difference;
> > > > > > > > > ZeroLagEMA
> > > > > > > > > 
> > > > > > > > > Then the Buy Order is:
> > > > > > > > > 
> > > > > > > > > Period:= opt1;
> > > > > > > > > EMA1:= Mov(CLOSE,Period,E);
> > > > > > > > > EMA2:= Mov(EMA1,Period,E);
> > > > > > > > > Difference:= EMA1 - EMA2;
> > > > > > > > > ZeroLagEMA:= EMA1 + Difference;
> > > > > > > > > ZeroLagEMA
> > > > > > > > > Cross(ZeroLagEMA,Mov(ZeroLagEMA,opt2,E))
> > > > > > > > > 
> > > > > > > > > Make it easy on yourself and run this with a non 
> > > optimized 
> > > > > sell 
> > > > > > > then 
> > > > > > > > > optimize the sell side.
> > > > > > > > > 
> > > > > > > > > Preston
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > >  
> > > > > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Paul Harris" 
> > > > > > > > > <paul_vicmar@> wrote:
> > > > > > > > > >
> > > > > > > > > > Preston
> > > > > > > > > > 
> > > > > > > > > > Thanxs for the walkthrough. I understand the logic 
> of 
> > > what 
> > > > > > you 
> > > > > > > have
> > > > > > > > > > done but I would prefer to optimise on the 
> original 
> > > formula 
> > > > > > of 
> > > > > > > Zero
> > > > > > > > > > Lag EMA instead of a moving average of Zero Lag 
> EMA.
> > > > > > > > > > The original formula that we have been using is 
> the 
> > > > > > following :
> > > > > > > > > > 
> > > > > > > > > > Period:= Input("What Period",1,250,10);
> > > > > > > > > > EMA1:= Mov(CLOSE,Period,E);
> > > > > > > > > > EMA2:= Mov(EMA1,Period,E);
> > > > > > > > > > Difference:= EMA1 - EMA2;
> > > > > > > > > > ZeroLagEMA:= EMA1 + Difference;
> > > > > > > > > > ZeroLagEMA
> > > > > > > > > > 
> > > > > > > > > > I understand that the "mov" function will allow 
> you to 
> > > only 
> > > > > > use 
> > > > > > > the
> > > > > > > > > > moving averages listed in Metastock i.e EXP, SIM, 
> WEI, 
> > > etc 
> > > > > > and 
> > > > > > > not 
> > > > > > > > > in
> > > > > > > > > > this case our Zero Lag EMA so would it be possible 
> to 
> > > use 
> > > > > > > > > the "cross"
> > > > > > > > > > function. So that the logic would be:
> > > > > > > > > > Buy when the optimised Zero Lag EMA(shorter)
> crosses 
> > > over 
> > > > > the 
> > > > > > > > > optimised
> > > > > > > > > > Zero Lag EMA(longer). And conversely sell when the 
> > > longer 
> > > > > > > crosses 
> > > > > > > > > the
> > > > > > > > > > shorter.
> > > > > > > > > > 
> > > > > > > > > > Yours
> > > > > > > > > > PAUL
> > > > > > > > > > 
> > > > > > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh 
> > > <no_reply@> 
> > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > Paul,
> > > > > > > > > > > 
> > > > > > > > > > > Let's see if we can provide some recap 
> information 
> > > for 
> > > > > > anyone 
> > > > > > > > > else 
> > > > > > > > > > > wishing to take part in this. The indicators 
> were 
> > > listed 
> > > > > by 
> > > > > > > you 
> > > > > > > > > in 
> > > > > > > > > > > message 24953.
> > > > > > > > > > > 
> > > > > > > > > > > As I remember we had several indicators from 
> which 
> > > to 
> > > > > take 
> > > > > > > > > signals. We 
> > > > > > > > > > > had a MACD that we made using the ZeroLag EMA 
> and we 
> > > also 
> > > > > > > took 
> > > > > > > > > the 
> > > > > > > > > > > ZeroLag MACD and normalized it. 
> > > > > > > > > > > 
> > > > > > > > > > > Now we want to do an exploration and optimize 
> some 
> > > values 
> > > > > > to 
> > > > > > > see 
> > > > > > > > > what 
> > > > > > > > > > > performs best.
> > > > > > > > > > > 
> > > > > > > > > > > This was always a lot of fun but also consumed 
> large 
> > > > > > amounts 
> > > > > > > of 
> > > > > > > > > time. 
> > > > > > > > > > > Even so you have to walk through it just to see 
> how 
> > > it 
> > > > > > works. 
> > > > > > > > > > > Optimization is not widely favored, so just 
> realize 
> > > that 
> > > > > > > there 
> > > > > > > > > are a 
> > > > > > > > > > > lot of critics out there. There are no hardened 
> > > rules to 
> > > > > > > > > optimizing as 
> > > > > > > > > > > any value is fair game but just realize that it 
> is 
> > > far 
> > > > > > better 
> > > > > > > to 
> > > > > > > > > run 
> > > > > > > > > > > your test on a smaller number of values and if 
> you 
> > > have 
> > > > > to 
> > > > > > > run 
> > > > > > > > > your 
> > > > > > > > > > > test several times thats quite alright.
> > > > > > > > > > > 
> > > > > > > > > > > You have chosen the ZeroLag EMA and a moving 
> average 
> > > > > > > crossover. 
> > > > > > > > > Easy 
> > > > > > > > > > > enough. First go into the system tester and 
> first 
> > > thing 
> > > > > you 
> > > > > > > > > notice is 
> > > > > > > > > > > that there already are some test included. Let's 
> > > take a 
> > > > > > look 
> > > > > > > at 
> > > > > > > > > the 
> > > > > > > > > > > Equis-moving average crossover...open it. Open 
> the 
> > > Buy 
> > > > > > Order 
> > > > > > > > > tag. What 
> > > > > > > > > > > you will see is:
> > > > > > > > > > > 
> > > > > > > > > > > Mov(C,opt1,E) > Mov(C,opt2,E)
> > > > > > > > > > > 
> > > > > > > > > > > Next click on the Optimizations tag and look at 
> the 
> > > > > values 
> > > > > > > > > assigned 
> > > > > > > > > > > for opt1 and opt2.
> > > > > > > > > > > 
> > > > > > > > > > > In order to use the Zero Lag EMA all you will 
> need 
> > > to do 
> > > > > is 
> > > > > > > > > replace 
> > > > > > > > > > > the Close or C with an assigned variable for the 
> fml
> > > > > ("Zero 
> > > > > > > Lag 
> > > > > > > > > EMA").
> > > > > > > > > > > Like this:
> > > > > > > > > > > 
> > > > > > > > > > > A:= fml("Zero Lag EMA");
> > > > > > > > > > > 
> > > > > > > > > > > Now just reference it in your system test. Like 
> this:
> > > > > > > > > > > 
> > > > > > > > > > > A:= fml("Zero Lag EMA");
> > > > > > > > > > > A > Mov(A,opt1,E)
> > > > > > > > > > > 
> > > > > > > > > > > This will leave the original formula intact and 
> you 
> > > will 
> > > > > be 
> > > > > > > > > optimizing 
> > > > > > > > > > > on the moving average of it. If you want to 
> optimize 
> > > the 
> > > > > > > > > original 
> > > > > > > > > > > formula you must include it in your test formula 
> > > instead 
> > > > > of 
> > > > > > > just 
> > > > > > > > > the 
> > > > > > > > > > > fml call variable. Notice in the example above 
> that 
> > > all 
> > > > > we 
> > > > > > > did 
> > > > > > > > > was 
> > > > > > > > > > > place an opt# where a numeric value would 
> normally 
> > > go.
> > > > > > > > > > > 
> > > > > > > > > > > I would be careful about over-optimizing though. 
> The 
> > > > > > results 
> > > > > > > are 
> > > > > > > > > > > really going to be the result of how well the 
> > > formula 
> > > > > > > performs 
> > > > > > > > > on a 
> > > > > > > > > > > particular stock or group of stocks during a 
> > > particular 
> > > > > > > period 
> > > > > > > > > of time 
> > > > > > > > > > > and may not be an indication of how well future 
> > > > > performance 
> > > > > > > can 
> > > > > > > > > be 
> > > > > > > > > > > determined. Best to try the test on stocks of 
> > > varying 
> > > > > > > > > performance and 
> > > > > > > > > > > use those as a benchmark. This is really where 
> most 
> > > > > > criticism 
> > > > > > > > > comes 
> > > > > > > > > > > from.
> > > > > > > > > > > 
> > > > > > > > > > > That should get you going, Let us know how it 
> goes.
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > Preston  
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > >  
> > > > > > > > > > >    
> > > > > > > > > > > 
> > > > > > > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Paul 
> Harris" 
> > > > > > > > > <paul_vicmar@> 
> > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > Some weeks ago Preston and I worked on an 
> > > exploration 
> > > > > and 
> > > > > > > > > expert
> > > > > > > > > > > > advisor for a Zero Lag MACD.
> > > > > > > > > > > > So I was looking at using a Zero Lag EMA in a 
> > > system 
> > > > > > test, 
> > > > > > > > > similar to
> > > > > > > > > > > > a MA crossover. My only problem is that I want 
> to 
> > > use 
> > > > > the 
> > > > > > > > > optimiser 
> > > > > > > > > > > to
> > > > > > > > > > > > find the best time periods for Zero Lag EMA 
> and I 
> > > don´t 
> > > > > > > know 
> > > > > > > > > how to 
> > > > > > > > > > > do it.
> > > > > > > > > > > > I know I have to indentify the Zero Lag EMA as 
> fml
> > > > > ("Zero 
> > > > > > > Lag 
> > > > > > > > > EMA")but
> > > > > > > > > > > > then how can I introduce the opt1 function?
> > > > > > > > > > > > Some help would be greatly appreciated.
> > > > > > > > > > > > Thanxs
> > > > > > > > > > > > PAUL
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/equismetastock/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/equismetastock/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:equismetastock-digest@xxxxxxxxxxxxxxx 
    mailto:equismetastock-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    equismetastock-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/