Welcome to the Traders Laboratory Forums.
Automated Trading Black box systems, strategy automation, algorithmic trading, etc...

Reply
Old 05-29-2010, 06:17 PM   #1

Join Date: Apr 2009
Location: guadalajara
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts

NumericSeries and Arrays in Easylanguage

I am trying to write a multitimeframe system in Easylanguage. I basically have a higher timeframe system that works but would like to add some lower time frame logic to it to make it better.

I have created arrays for the higher time frame o h l and c. When I try to use xaverage on those arrays, Multicharts complains of incorrect argument type. I assume this is because the Xaverage requires NumericSeries as input and not an array.

How do I get around this?

Last edited by nsvv; 05-29-2010 at 06:29 PM.
nsvv is offline  
Reply With Quote
Old 05-29-2010, 08:23 PM   #2

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,779
Ignore this user

Thanks: 2,084
Thanked 1,474 Times in 912 Posts

Re: NumericSeries and Arrays in Easylanguage

xaverage works on a "series" of data.

eg.
xaverage(close, 20) is the exponential average of the following data series:

close, close[1], close[2], close[3].... close[19]


you can replace "close" with any data series you want,
eg.
High, High[1], High[2]....,
medianprice, medianprice[1], medianprice[2]....,
pivot, pivot[1], pivot[2]... ,
etc.

...so long as you can wrangle a series of data into xaverage... you will be ok
__________________



Only an idiot would reply to a stupid post

Last edited by Tams; 05-29-2010 at 08:42 PM.
Tams is offline  
Reply With Quote
Old 05-29-2010, 08:56 PM   #3

Join Date: Apr 2009
Location: guadalajara
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts

Re: NumericSeries and Arrays in Easylanguage

Yes, as long as the data is in DataSeries form it works of course.

Now, how do I convert an array to a DataSeries so that I can use xaverage?

Or maybe making my own version of the Xaverage function so that it accepts arrays instead of Dataseries is the only solution? This wouldnt be as good since I would probably have to rewrite other indicators to accept arrays too.

I tried the easier sounding solution of adding the same instrument in different higher time frame and using Data2 to access it but signals dont match at all. Does multicharts expand the higher time frame to match the lower one?
nsvv is offline  
Reply With Quote
Old 05-29-2010, 09:14 PM   #4

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,779
Ignore this user

Thanks: 2,084
Thanked 1,474 Times in 912 Posts

Re: NumericSeries and Arrays in Easylanguage

Quote:
Originally Posted by nsvv »
....
Now, how do I convert an array to a DataSeries so that I can use xaverage?
...
you haven't described your array.
you are talking in general terms;
you will need to give specific detail to get specific answers.
__________________



Only an idiot would reply to a stupid post

Last edited by Tams; 05-29-2010 at 09:24 PM.
Tams is offline  
Reply With Quote
Old 05-29-2010, 09:33 PM   #5

Join Date: Apr 2009
Location: guadalajara
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts

Re: NumericSeries and Arrays in Easylanguage

it is just a regular static array

I collect closing prices to it like this:

if hour>hour[1] then
begin
for value1=0 to 14 begin
htfClose[i+1]=htfClose[i];
end;
htfClose[0]=Close;
end;
nsvv is offline  
Reply With Quote
Old 05-29-2010, 09:52 PM   #6

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,779
Ignore this user

Thanks: 2,084
Thanked 1,474 Times in 912 Posts

Re: NumericSeries and Arrays in Easylanguage

you should use code tags. That's the # key on the top of the message window.

Tagged code looks like this:

Code:
if hour>hour[1] then
begin
    for value1=0 to 14 
    begin
        htfClose[i+1]=htfClose[i];
    end;

    htfClose[0]=Close;

end;
__________________



Only an idiot would reply to a stupid post
Tams is offline  
Reply With Quote
Old 05-29-2010, 09:57 PM   #7

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,779
Ignore this user

Thanks: 2,084
Thanked 1,474 Times in 912 Posts

Re: NumericSeries and Arrays in Easylanguage

Quote:
Originally Posted by nsvv »
it is just a regular static array
...
average is easy...
just get the array_sum and divide it by the number of elements.

xaverage is a bit tricky,
you have to add the array elements one by one and then do the calculation the long way.

with the speed of modern computer, it is not an unsurmountable task.
__________________



Only an idiot would reply to a stupid post

Last edited by Tams; 05-29-2010 at 10:03 PM.
Tams is offline  
Reply With Quote
Old 05-29-2010, 10:59 PM   #8

Join Date: Apr 2009
Location: guadalajara
Posts: 6
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts

Re: NumericSeries and Arrays in Easylanguage

it is even easier than that, just use the built in average_a function.

I tried making a XAverage_a function but there is probably something wrong in it since no trades are generated. If anyone can find the fault, I would be grateful.

Code:
inputs: 
	PriceValue[M](numericArrayRef), 
	Len( numericsimple ) ;                                             

variables: 
	factor( 2 / ( Len + 1 ) ) ;

	XAverage_A = PriceValue[M];

       for value1 = M-1 to 0 begin
	XAverage_A = XAverage_A + factor * ( PriceValue[value1] - XAverage_A ) ;
	end;
nsvv is offline  
Reply With Quote

Reply

Tags
array, moving average

Thread Tools
Display Modes Help Others By Rating This Thread
Help Others By Rating This Thread:


All times are GMT -4. The time now is 09:34 PM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.