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

RE: Best alternative to TradeStation 2000i?



PureBytes Links

Trading Reference Links

Look on the bright side, the sweat to use the kind of power comes
once. Once coded, you can always cut and paste.
Or maybe it can be designated as a callable function in Ensign.

At 08:12 PM 4/28/99 , Ron Dawes wrote:
>I guess MB was right about you pierre.  You ARE a TS bigot.
>
>> -----Original Message-----
>> From: pierre.orphelin [mailto:pierre.orphelin@xxxxxxxxxx]
>> Sent: Tuesday, April 27, 1999 6:52 PM
>> 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}
>> >
>>