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

Re: [amibroker] VBScript attempt



PureBytes Links

Trading Reference Links

Dave:

I took a look at your code and found a few things that I would do 
differently. But there are couple of items that I just don't understand 
and I highlighted those below it your code area. What I did was delete the 
parts that I did not understand and made the other stuff work. Here is the 
code that I changed yours into with liberties. Note I removed the spaces 
between the function and its "( i )" part at several locations. I also 
removed the open and closed parenthesis for the IF functions. You can add 
back in the parts that I took out to make your indicator do what you 
wanted. I also added an initialization for the "trend" to make this an 
array. The "trend" items inside the if functions were made arrays instead 
of constants.

I was just playing with your code mostly hoping that this would help you 
finish it.

Steve

_________________________________
EnableScript("VBScript");

EWAP=(high + low)/2;
EWOsc=( ma( EWAP, 5 ) - ma( EWAP, 35 ));
length=80;
trigger=0.70;
EWOscpeak=hhv( EWOsc, length );
EWOsctrough=llv( EWOsc, length );


<%

EWOsc = AFL("EWOsc")
EWOscpeak = AFL("EWOscpeak")
EWOsctrough = AFL("EWOsctrough")
length = AFL("length")
trigger = AFL("trigger")
Trend = EWOsc // this was added..

' this variable specifies the trend determined by EWOsc
Trend( 0 ) = 0
' line 10
' iterate along the array
for i = 0 to UBound( EWOsc )

' Set initial Trend at zero and look for up trend
if EWOsc( i ) = EWOscpeak( i ) AND Trend(i) = 0 then
Trend( i ) = 1
end if

' Set initial Trend at zero and look for down trend
if EWOsc( i ) = EWOsctrough( i ) AND Trend(i) = 0 then ' line 20
Trend( i ) = -1
end if

' Look for change from downtrend to uptrend
if EWOsctrough( i ) < 0 AND Trend(i) = -1 AND EWOsc( i ) > 
-1 then // note one item left out here
Trend( i ) = 1
end if

' Look for change from uptrend to downtrend line 30
if EWOscpeak( i ) > 0 AND Trend(i) = 1 AND EWOsc( i ) < 
-1 then // note one item left out here
Trend( i ) = 1
end if

next

AFL("Trend") = Trend

%>

graph1=Trend;
title=name() + " Trend" + writeval( graph1 );
______________________________________

At 04:04 PM 6/27/01 -0400, you wrote:
Dear Tomasz,

I am trying my first attempt at using scripting and felt I needed to
because of my need to iterate through this array. Can you determine why
this is causing me VBScript error messages? I know scripting is slower but
unless you tell me otherwise, I don't think what I want to do is allowed in
current version of AFL.

Thanks,

Dave Beaudoin

***********************

EnableScript("VBScript");

EWAP=(high + low)/2;
EWOsc=( ma( EWAP, 5 ) - ma( EWAP, 35 ));
length=80;
trigger=0.70;
EWOscpeak=hhv( EWOsc, length );
EWOsctrough=llv( EWOsc, length );


<%

EWOsc = AFL("EWOsc")
EWOscpeak = AFL("EWOscpeak")
EWOsctrough = AFL("EWOsctrough")
length = AFL("length")
trigger = AFL("trigger")

' this variable specifies the trend determined by EWOsc
Trend ( 0 ) = 0

' iterate along the array
for i = 0 to UBound( EWOsc )

' Set initial Trend at zero and look for up trend
if( EWOsc( i ) = EWOscpeak ( i ) ) AND Trend=0 then
Trend( i ) = 1
end if

' Set initial Trend at zero and look for down trend
if( EWOsc ( i ) = EWOsctrough ( i ) ) AND Trend=0 then
Trend( i ) = -1
end if

' Look for change from downtrend to uptrend
if( EWOsctrough ( i ) < 0 ) AND Trend=-1 AND (EWOsc ( i ) > -1 * trigger *
EWOsctrough ( i ) ) then
Trend( i ) = 1
end if

' Look for change from uptrend to downtrend
if( EWOscpeak ( i ) > 0 ) AND Trend=1 AND (EWOsc ( i ) < -1 * trigger *
EWOscpeak ( i ) ) then
Trend( i ) = 1
end if

next

AFL("Trend") = Trend

%>

graph1=Trend;
title=name() + " Trend" + writeval( graph1 );