General Topics
Markets
Technical Topics
Brokerage Firms
Community Lounge
Site Support

# need help with easylanguage for Tradestation

Discussion in 'Strategy Development' started by ytr30, Apr 14, 2009.

1. ### ytr30

I'm trying to code simple scan in Tradestation but can't figure out how to use 2 different timeframes. Hope somebody can help.

This is what I'm trying to code:

on 5 min chart looking for highest(high, 60)
and on daily chart needs to be above bolligerband upperband

I'm scanning in radarscreen, all symbols 5 min interval

2. ### jficquette

You can't use multiple time frames in Radarscreen.

the functions HighD, LowD, and CloseD are helpful for what you are trying to do. They reference daily HLC values from within an intraday chart (bartype < 2).

For the simple case of price being the close of the daily bar, you can simply use CloseD to reference the past N daily closes, including the current unfinished close if the session is active.

For bollinger bands, you first need to calculate the average:

avg = 0;
for index = 0 to N - 1 begin
avg = avg + (1 / N) + CloseD(index);
end;

next is the standard deviation:

var = 0;
for index = 0 to N - 1 begin
var = var + (1 / (N - 1)) * square(CloseD(index) - avg);
end;

std = squareroot(var);

last thing is to calculate the band values:

upperband = avg + numStd * std;
lowerband = avg - numStd * std;

closeD(0) > upperband;

hope this helps,

rt

4. ### flyingdutchmen

to copy & paste
maybe it could help others

Inputs:
Period( 20 ),
NumDevs( 2 );

Variables: mean(0),
sumSqr(0),
stdDev(0),
i(0),
x(0),
UpPerBand(0),
LowerBand(0);

sumSqr = 0;
mean = 0;

for x = 0 to Period - 1 do
mean = mean + CloseD(x);
mean = mean / x;

For i = 0 To Period - 1 Do
sumSqr = sumSqr + Sqr( CloseD(i) - mean );

If sumSqr > 0 And period > 0 Then
stdDev = Sqrt( sumSqr / Period )
Else
stdDev = 0;

UpperBand = mean + NumDevs * stdDev;
LowerBand = mean - NumDevs * stdDev;

if UpperBand > 0 then plot1( UpperBand );
if LowerBand > 0 then plot2( LowerBand );