Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

nsvv

NumericSeries and Arrays in Easylanguage

Recommended Posts

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?

Edited by nsvv

Share this post


Link to post
Share on other sites

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

Edited by Tams

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
....

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.

Edited by Tams

Share this post


Link to post
Share on other sites

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;

end;

htfClose[0]=Close;

end;

Share this post


Link to post
Share on other sites

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

 

Tagged code looks like this:

 

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

   htfClose[0]=Close;

end;

Share this post


Link to post
Share on other sites
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.

Edited by Tams

Share this post


Link to post
Share on other sites

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.

 

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;

Share this post


Link to post
Share on other sites

Multiple time frame system???

Why not first reading the 2 books by George Pruitt and John Hill ?

They could be very illuminating.

Moreover remember that is the shorter time frame that should lead the buy/sell signals....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.