PureBytes Links
Trading Reference Links
|
I think the original code have a bug,
> T1:=((LE=1)-(SE=1))*(LX=0)*(SX=0);
> T2:=T1+(T1=0)*Ref(T1,-1);
Changing it to
T1:=((LE=1)-(SE=1))*(LX=0)*(SX=0);
T2:=T1+(T1=0)*(LX=0)*(SX=0)*Ref(T1,-1)
may do the trick.
Regards
MG Ferreira
TsaTsa EOD Programmer and trading model builder
http://www.ferra4models.com
http://fun.ferra4models.com
--- In equismetastock@xxxxxxxxxxxxxxx, mgf_za_1999 <no_reply@xxxx>
wrote:
>
> Hi Gary,
>
> I am glad you got the delay in. The PREV is considered a bad
choice
> for several reasons, but I'd just leave it in. Even if it takes
> longer to calculate, the performance you gain is often not worth
the
> effort to rewrite the code. As long as it works, don't fix it.
>
> Anyhow, but looking at your code...
>
> > > > > > Trigger:=If( LE=1, 1, If(SE=1, -1, If((LX AND PREV=1) OR
> (SX
> > > > AND
> > > > > > PREV=-1),0,PREV)));
>
> I'd rewrite this as follows, for my own understanding
>
> T1:=((LE=1)-(SE=1))*(LX=0)*(SX=0);
> T2:=T1+(T1=0)*Ref(T1,-1);
>
> I haven't tested this at all, I don't even have access to MS over
> here, but you can try this and see if T2 does duplicate your
trigger
> (it should at least come close).
>
> Regards
> MG Ferreira
> TsaTsa EOD Programmer and trading model builder
> http://www.ferra4models.com
> http://fun.ferra4models.com
>
>
> --- In equismetastock@xxxxxxxxxxxxxxx, "richr4ever"
> <richr4ever@xxxx> wrote:
> >
> > Hi MG:
> >
> > I managed to understand and able to code the delay 1 bar signal.
> > But, still can't do the same thing on PREV part. I believe there
> is
> > a distance between my humble IQ and your incredible knowledge.
> >
> > Good trading!
> >
> > Gary
> >
> > --- In equismetastock@xxxxxxxxxxxxxxx, mgf_za_1999
<no_reply@xxxx>
> > wrote:
> > >
> > > Hi Gary,
> > >
> > > The trick really is in the condition - the LX - of entry or
> exit.
> > Ref
> > > just provides a mechanism to delay the entry or exit.
> > >
> > > Suppose you have *any* signal, say LX
> > >
> > > LX := some stuff
> > >
> > > Now you want to act on LX, but only after a one bar delay.
Then
> use
> > > the ref function as follows:
> > >
> > > LX1 := Ref(LX,-1);
> > >
> > > This is *exactly* the same as LX, just one bar behind which is
> what
> > > you are looking for I suppose. So, in stead of using LX as say
> long
> > > exit, you now use LX1 and the exit comes a bar later. Again,
the
> > trick
> > > is in LX, LX1 just delays it.
> > >
> > > You can use the same idea to get rid of the PREV, as
> > >
> > > PREV = Ref(x,-1)
> > >
> > > PREV works on recursion, so there is some fancy stuff you can
do
> > with
> > > it, but it generally is better to replace or recode your stuff
> to
> > work
> > > with the Ref(x,-1) mechanism. An exponential average can be
> > >
> > > 0.8 * C + 0.2 * PREV
> > >
> > > It is not that easy to do away with PREV, but you can
repeatedly
> > write
> > > this out as
> > >
> > > 0.8 * C + 0.2 * ( 0.8 * Ref(C,-1) + 0.2 * Ref(PREV,-1))
> > >
> > > and so on, until you get something, in math, like
> > >
> > > 0.8 * SUM ( 0.2 ^ i * Ref(C,-i) )
> > >
> > > It gets complex, and I'm a bit rusty, so I'm not doing it even
> on
> > your
> > > code and the stuff up here is a bit shaky and not tested. But
it
> > does
> > > serve to illustrate the point.
> > >
> > > Regards
> > > MG Ferreira
> > > TsaTsa EOD Programmer and trading model builder
> > > http://www.ferra4models.com
> > > http://fun.ferra4models.com
> > >
> > >
> > > --- In equismetastock@xxxxxxxxxxxxxxx, "richr4ever"
> > <richr4ever@xxxx>
> > > wrote:
> > > >
> > > > Hi MG:
> > > >
> > > > Thanx for the lines. But, I don't really get it all. Can you
> > post
> > > > some examples, especially on delay execution with 1 bar for
> the
> > Long
> > > > Exit, so that I can have better ideas of coding it?
> > > >
> > > > My only idea now is Ref(LX,-1)=1. But will it refer to my
> > previous
> > > > LX signal when current LX condition is not yet fulfil?
> > > >
> > > > Thank yoU!
> > > >
> > > > Gary.
> > > >
> > > >
> > > > --- In equismetastock@xxxxxxxxxxxxxxx, mgf_za_1999
> > <no_reply@xxxx>
> > > > wrote:
> > > > >
> > > > > Hi Gary,
> > > > >
> > > > > Try the ref(x,-n) function, which references or 'delays' a
> > time
> > > > > series x with n periods. So you could do something like
> > calculate
> > > > > two triggers,
> > > > >
> > > > > Trigger1 := some stuff
> > > > > Trigger2 := some stuff, based on Ref(Trigger1,-1)
> > > > >
> > > > > and use Trigger2. I did not attempt to do it with your
code,
> > but
> > > > > hope you get the idea. The same applies for your
entry/exit
> > code.
> > > > In
> > > > > stead of using say signal, use Ref(signal,-1) to delay
> > execution
> > > > > with 1 bar.
> > > > >
> > > > > Regards
> > > > > MG Ferreira
> > > > > TsaTsa EOD Programmer and trading model builder
> > > > > http://www.ferra4models.com
> > > > > http://fun.ferra4models.com
> > > > >
> > > > >
> > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "richr4ever"
> > > > > <richr4ever@xxxx> wrote:
> > > > > >
> > > > > > Hello to all:
> > > > > >
> > > > > > I have two questions here. One about eliminating the
PREV
> > and
> > > > one
> > > > > on
> > > > > > signal delay.
> > > > > >
> > > > > > For PREV, I have the below codes:
> > > > > >
> > > > > > LE:=Condition A
> > > > > > SE:=Condition B
> > > > > > LX:=Condition C
> > > > > > SX:=Condition D
> > > > > > Trigger:=If( LE=1, 1, If(SE=1, -1, If((LX AND PREV=1) OR
> (SX
> > > > AND
> > > > > > PREV=-1),0,PREV)));
> > > > > > LEEntry:=Cross(Trigger,0.5 );
> > > > > >
> > > > > > How can I perfect the above codes by removing the PREV
> > function
> > > > > and
> > > > > > increase the codes efficiency, and without using any
DLL?
> > > > > >
> > > > > > And for the signal delay, say the Long Exit's condtion
is
> > met
> > > > on
> > > > > > current bar. But I want the Long Exit signal set to one
> bar
> > > > delay
> > > > > to
> > > > > > next bar's open. I am currently using BarsSince()
function
> > but
> > > > I
> > > > > > wonder if there a better way to code it. I don't want to
> use
> > > > the
> > > > > > System Tester feature for this purpose.
> > > > > >
> > > > > > Many thanx in advance!
> > > > > >
> > > > > > Gary.
> > > > > >
> > > > >
> > > >
> > >
> >
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/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/
|