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}
>> >
>>
|