PureBytes Links
Trading Reference Links
|
Again ... you are assuming that each statement is going to be
executed more than once i.e. ONCE PER BAR ...
If this hard to visualize then do it in Excel so you can see it ...
make a column for each variable ... write the equation for the
variable at the top and copy it down ... nothing in any calculation
can be related to anything calculated further down in the AFL because
the results of what is further down will not have been calculated at
the time that the statements above are calculated ... again because
each one is executed ONLY ONCE ...
--- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@xxxx> wrote:
>
> I tried several variations, but I'm not getting it. It plots, but
has a
> very odd reaction with different periods and does not emulate the
chart
> previously posted and attached again. If any Tradestation person
would
> like to have a look.
>
>
>
> Here's the code I have so far (with notes).
>
>
>
> //================= TWITCH FUNCTION ======================
>
> /*
>
> EASYLANGUAGE FUNCTION:
>
> Inputs: price(NumericSeries), initLength(NumericSimple);
>
> variables: length(0), x(0), y(0), y1(0), y2(0), u(0), u1(0), u1_2
(0),
> u_2(0);
>
>
>
> If initLength <2 then length = 2 else length = initlength;
>
> if CurrentBar = 1 then begin
>
> x=(1- cosine(360/Length))/0.414213562;
>
> u=-x + squareroot(x*x+2*x);
>
> u1= 1.0-u;
>
> u1_2=u1*u1;
>
> u_2=u*u;
>
> y1=price;
>
> y2=y1;
>
> end;
>
> y=u_2* price+2*u1*y1-u1_2*y2;
>
> y2=y1;
>
> y1=y;
>
>
>
> TWITCH=Y
>
>
>
> //From Fred:
>
>
>
> Subject: [amibroker] Re: EasyLanguage question
>
>
>
> In the ela/d/s code ...
>
>
>
> Y = u_2* price+2*u1*y1-u1_2*y2;
>
> y2 = y1;
>
> y1 = y;
>
>
>
> The next time Y is calculated ( on the next bar ) Y2 will have the
>
> value of Y from two bars ago ... Y1 will have the value of Y from
>
> one bar ago ...
>
> */
>
> function twitch (tprice, initLength)
>
> { /*
>
> Code for this function coded by: BobR
>
> Code from Futures magazine Jan 2006, P39
>
> Adapted to Amibroker by TerryH on 1/31/2006
>
> */
>
>
>
> length = Max( 2, initLength);
>
> for (t = 1; t < BarCount; t++)
>
> {
>
> x[t] = (1 - cos(360 / length)) / 0.414213562;
>
> u[t] = -x[t] + sqrt(x[t]^2 + 2 * x[t]);
>
> u1[t] = 1 - u[t];
>
> //u1_2 = u1 * u1; //Substituted u1^2
>
> //u_2 = u * u; //Substituted u^2
>
> y1[t] = tprice[t-1];
>
> y2[t] = y1[t-1];
>
> }
>
> for (t = 1; t < BarCount; t++)
>
> {
>
> y[t] = u[t]^2 * tprice[t] + 2 * u1[t] * y1[t] - u1[t]^2 * y2
[t];
>
> y2[t] = y1[t-1];
>
> y1[t] = y[t-1];
>
> }
>
> return y;
>
> }
>
> //================= END FUNCTION ======================
>
>
>
> Period = Param("Twitch Period",21,2,100,1,5); //number of bars to
use in
> "average"
>
> TwValue = twitch(C,period);
>
>
>
> Plot(C,Name(),colorBlack,styleLine);
>
> Plot(TwValue,"Twitch",colorRed);
>
>
>
> --
>
> Terry
>
>
>
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
On
> Behalf Of Terry
> Sent: Tuesday, January 31, 2006 12:50
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: RE: [amibroker] Re: EasyLanguage question
>
>
>
> Thanks Fred. That should let me make this thing work with a loop.
>
>
>
> --
>
> Terry
>
>
>
> -----Original Message-----
>
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
On
>
> Behalf Of Fred
>
> Sent: Tuesday, January 31, 2006 11:43
>
> To: amibroker@xxxxxxxxxxxxxxx
>
> Subject: [amibroker] Re: EasyLanguage question
>
>
>
> In the ela/d/s code ...
>
>
>
> Y = u_2* price+2*u1*y1-u1_2*y2;
>
> y2 = y1;
>
> y1 = y;
>
>
>
> The next time Y is calculated ( on the next bar ) Y2 will have the
>
> value of Y from two bars ago ... Y1 will have the value of Y from
>
> one bar ago ...
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@xxxx> wrote:
>
> >
>
> > I am trying to convert a function called Twitcher from
TradeStation
>
> > EasyLanguage. Twitcher concept was published in last month's
>
> FUTURES
>
> > Magazine. Code is from a user's group.
>
> >
>
> > QUESTION: Does the following code for y refer to the next bar and
>
> next 2
>
> > bars or previous bars?
>
> >
>
> > Y = u_2* price+2*u1*y1-u1_2*y2;
>
> > y2 = y1;
>
> > y1 = y;
>
> >
>
> > Here's the entire EasyLanguage code (for the twitcher function)
>
> >
>
> > EASYLANGUAGE FUNCTION:
>
> > Inputs: price(NumericSeries), initLength(NumericSimple);
>
> > variables: length(0), x(0), y(0), y1(0), y2(0), u(0), u1(0), u1_2
>
> (0),
>
> > u_2(0);
>
> >
>
> > If initLength <2 then length = 2 else length = initlength;
>
> > if CurrentBar = 1 then begin
>
> > x=(1- cosine(360/Length))/0.414213562;
>
> > u=-x + squareroot(x*x+2*x);
>
> > u1= 1.0-u;
>
> > u1_2=u1*u1;
>
> > u_2=u*u;
>
> > y1=price;
>
> > y2=y1;
>
> > end;
>
> > y=u_2* price+2*u1*y1-u1_2*y2;
>
> > y2=y1;
>
> > y1=y;
>
> >
>
> > TWITCH=Y
>
> > --
>
> > Terry
>
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Please note that this group is for discussion between users only.
>
>
>
> To get support from AmiBroker please send an e-mail directly to
>
> SUPPORT {at} amibroker.com
>
>
>
> For other support material please check also:
>
> http://www.amibroker.com/support.html
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Please note that this group is for discussion between users only.
>
>
>
> To get support from AmiBroker please send an e-mail directly to
>
> SUPPORT {at} amibroker.com
>
>
>
> For other support material please check also:
>
> http://www.amibroker.com/support.html
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
> http://groups.yahoo.com/group/amibroker/
>
>
>
> amibroker-unsubscribe@xxxxxxxxxxxxxxx
>
>
>
> http://docs.yahoo.com/info/terms/
>
------------------------ 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/GHeqlB/TM
--------------------------------------------------------------------~->
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|