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

[EquisMetaStock Group] Re: cum(1) function and using mod in cyclical analysis



PureBytes Links

Trading Reference Links



Hi,

RE:
New version
-----------
isLong := (Cum(1)>=setbars) AND (ff<=Ref(ff,-1)) AND (ss>=Ref(ss,-1));

This is what confuses me. Why you would do cum(1)>=setbars in this 
context.Since setbars = 3 isn't it (Cum(1)>=3) which always is going 
to be true once we have had 3 trading days?

Which really means the test is only based on (ff<=Ref(ff,-1)) AND 
(ss>=Ref(ss,-1))?

David

--- In equismetastock@xxxxxxxxxxxxxxx, "MG Ferreira" <quant@xxxx> 
wrote:
> 
> Hi David,
> 
> > Thanks for the replies.  The example of cum(5) = 5 helps as I see 
> > the parameter is the increment?  
> 
> No problem.  The parameter is indeed the increment.  Note that it
> need not be a constant, but you could have
> 
>     CC := cum(CLOSE)
> 
> to have
> 
>     CC(t) := CC(t-1) + CLOSE(t)
> 
> You could even use a formula, say you want to calculate a volume
> weighted average, you can do something like
> 
>     CUM(CLOSE*VOLUME)/CUM(VOLUME)
> 
> Just some off-the-cuff examples, they may very well contain some 
bugs....
> 
> > {long} 
> > setbars:=3; 
> > entryadd:=1; 
> > ff:=Mov(Stoch(7,1),3,E); 
> > ss:=Mov(Mov(Stoch(16,1),3,E),3,E); 
> > cbuy:=If(ff<=Ref(ff,-1) AND ss>=Ref(ss,-1),Cum(1),0); 
> > bbuy:=If(cbuy>=setbars,H+entryadd, 99999); 
> > bbuy<99999 
>     
> In terms of this, I think the heart of it is locked up in the last
> three lines, so let us look at them, but I'll start from the last
> one and work my way backwards!  I think this will make things more
> clear actually....
> 
> > bbuy<99999 
> 
> This line basically returns a TRUE or FALSE, a yes or no if you 
want.
> True if we are long, false if not.  Note that it really hangs on 
just
> one value, 99999.  This value is just used as a type of a flag, so 
if
> bbuy is equal to (or exceeds) this value, we are out.
> 
> > bbuy:=If(cbuy>=setbars,H+entryadd, 99999); 
> 
> The second to last line sets this flag.  If cbuy equals or exceeds
> setbars then bbuy becomes H (High) + entryadd, probably the cost
> plus some slippage.  Otherwise, the flag value of 99999 is assigned
> and we are out.
> 
> > cbuy:=If(ff<=Ref(ff,-1) AND ss>=Ref(ss,-1),Cum(1),0); 
> 
> Here we have the actual decision rule.  If ff is falling and ss is
> rising, cbuy takes on the ever-increasing cum(1) value, otherwise it
> will take on zero.
> 
> Now, here is a different way of writing the same code that will
> make things a lot clearer I think.  Note that I have liberally 
changed
> names and stuff to deliberately make it clearer.  Again, some bugs 
may
> remain.  Please review the disclaimer.
> 
> Original version
> ----------------
> > cbuy:=If(ff<=Ref(ff,-1) AND ss>=Ref(ss,-1),Cum(1),0); 
> > bbuy:=If(cbuy>=setbars,H+entryadd, 99999); 
> > bbuy<99999 
> 
> New version
> -----------
> isLong := (Cum(1)>=setbars) AND (ff<=Ref(ff,-1)) AND (ss>=Ref(ss,-
1));
> costLong := isLong * ( HIGH + entryadd );
> isLong
> 
> Regards
> MG Ferreira
> TsaTsa EOD Programmer and trading model builder
> http://www.ferra4models.com
> http://fun.ferra4models.com 
> 
> 
> 
> 
> 
> --- In equismetastock@xxxxxxxxxxxxxxx, "dpleydel" <dpleydel@xxxx> 
wrote:
> > 
> > 
> > Thanks for the replies.  The example of cum(5) = 5 helps as I see 
> > the parameter is the increment?  
> > 
> > This is the full code I was trying to understand: (it's Linda 
> > Bradfords - Anti Indicator)
> > 
> > {long} 
> > setbars:=3; 
> > entryadd:=1; 
> > ff:=Mov(Stoch(7,1),3,E); 
> > ss:=Mov(Mov(Stoch(16,1),3,E),3,E); 
> > cbuy:=If(ff<=Ref(ff,-1) AND ss>=Ref(ss,-1),Cum(1),0); 
> > bbuy:=If(cbuy>=setbars,H+entryadd, 99999); 
> > bbuy<99999 
> > 
> > Hence why I didn't understand why you would want to just 
accumlate 
> > the periods, like if it was period 100, 101, 103 etc as the test 
> > where cbuy >=3(setbar) seems strange as cum(1) will always be 
> > greater once we have more than 3 days (so the setbar seems 
> > unnecessary) unless as per your example where a mod functions was 
> > used to reset the sequence.
> > 
> > David
> > 









------------------------ Yahoo! Groups Sponsor --------------------~--> 
What would our lives be like without music, dance, and theater?
Donate or volunteer in the arts today at Network for Good!
http://us.click.yahoo.com/Tcy2bD/SOnJAA/cosFAA/BefplB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

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

<*> 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/