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

RE: Best alternative to TradeStation 2000i?



PureBytes Links

Trading Reference Links

Every skilled programmer knows there is a trade off between ease of coding
and power. I guess that EL and ESPL are aimed at different users.

Regards
Jonas Vikstrom

> -----Original Message-----
> From: pierre.orphelin [mailto:pierre.orphelin@xxxxxxxxxx]
> Sent: den 28 april 1999 01:52
> To: L_Omega
> Subject: Re: Best alternative to TradeStation 2000i?
>
>
> HAhaHAha!!!!!
> Hihihihihi...
> Gnâaaaaaaar...ffff!
>
> This time you got the proof that Easy Language is REALLY easy
> language.
> =====================================================================
> inputs : Price(NumericSeries),Length(NumericSimple);
> vars   : Factor(0),xavg0(0);
>
> if Length + 1 <> 0
> then begin
>  if CurrentBar <= 1
>  then begin
>   XAvg0 = Price;
>  end
>  else
>   Factor = 2 / (Length + 1);
>   XAvg0= Factor * Price + (1 - Factor) * XAvg0;
> end;
>
> xavg=xavg0;
> =====================================================================
> Compare with Xaverage code from the Power Editor even by
> modifying one line
> for initialisation!
>
> inputs : Price(NumericSeries),Length(NumericSimple);
> vars   : Factor(0),xavg0(0);
>
> if Length + 1 <> 0
> then begin
>  if CurrentBar <= 1
>  then begin
>   XAvg0 = average(Price, length); <==== (I can replace by a
> loop if you
> want, 3 lines)
>  end
>  else
>   Factor = 2 / (Length + 1);
>   XAvg0= Factor * Price + (1 - Factor) * XAvg0;
> end;
>
> xavg=xavg0;
>
> =====================================================================
> Maybe only  a C version of the Xaverage code could be more
> complicated than
> the ESPL version of the Xaverage code below.
> Thanks a lot Earl, I think that none will try to download
> Ensign software
> now!
> Unfortunately, this will not stop yet your multiple message
> post to promote
> this dinosaur tool on Omega List.
>
> HAhaHAha!!!!! Hihihihihi...
>
> -Pierre Orphelin
> Représentant exclusif de Omega Research en France.
> web: http://www.sirtrade.com
>
> =====================================================================
>
> -----Message d'origine-----
> De : Earl Adamy <eadamy@xxxxxxxxxx>
>
> >
> >Function ufAverageExponential(lLastBar : LongInt; lLength : LongInt;
> >lValueConstant : LongInt; rPrevXA : Real) : Real;
> >/************************************************************
> **************
> *
> >***
> >   Author   : Earl Adamy
> >   Copyright: Copyright 1999 by Earl Adamy, all rights
> reserved  <<===== OH
> YES, keep it !!!!
> >   History  : 01/26/99 Create function
> >   Purpose  : Calc Exponential MA of specifed bar value in
> current chart
> >              lLastBar is last bar on which Average is to be
> calculated
> >                0 specifies that BarEnd is to be used
> >              lLength is number of bars over which Avg is to
> be calculated
> >              lValueConstant is one of following:
> >                eOpen, eHigh, eLow, eClose, eLast (Close)
> values on bar
> >                eRange (High - Low)
> >                eTrueRange (> High or yesterday Low - < Low
> or yesterday
> >High
> >                eMidpoint (H+L/2), eMid3 (H+L+C/3, eMid4 (O+H+L+C/4)
> >                eNet (Close - Yesterday Close)
> >              rPrevXA is for recursing the previous XA providing more
> >efficient calcs
> >  Formula   : XFactorToday = 2 / (lLength + 1)
> >              XMA = (Price(today) * XFactorToday) +
> XMA(yesterday) * (1 -
> >XFactorToday)
> >
> >*************************************************************
> **************
> *
> >**/
> >var
> >  lBarX:          LongInt;
> >  lBarBeg:        LongInt;
> >  lBarEnd:        LongInt;
> >  rAverage:       Real;
> >  rXFactorToday:  Real;
> >
> >Begin
> >  If lLastBar = 0 Then
> >    {default to EndBar}
> >    lBarEnd := BarEnd
> >  Else
> >    {use requested bar}
> >    lBarEnd := lLastBar;
> >  rXFactorToday := (2.0 / (lLength + 1));
> >
> >  rAverage := rPrevXA;
> >  If rAverage = 0.0 then Begin
> >    /* Initializes calc with simple average for bar
> (lLastBar - Length),
> >        then runs exponential calculation for length bars to bring
> >        exponential average up to speed
> >    */
> >    lBarBeg   := (lBarEnd - lLength);
> >    if lBarBeg < 1 then lBarBeg := 1;
> >    rAverage := Average(lValueConstant, lBarBeg, lLength);
> >    lBarBeg   := lBarBeg + 1;
> >  End
> >  Else
> >    {Calculate average for one period}
> >    lBarBeg := lBarEnd;
> >  For lBarX := lBarBeg to lBarEnd do
> >    rAverage := (rXFactorToday * Bar(lValueConstant, lBarX))
> + ((1.0 -
> >rXFactorToday) * rAverage);
> >  Result := rAverage;
> >End;  {ufAverageExponential}
> >
>
>
>