| Coding Forum Collaborate, receive help, or discuss coding related issues. |
![]() | | Tweet | |
| | #1 | ||
![]() | Arrays Question does anybody knows how to assign the value of the last element of each column in an array in the first element of the following column: array:myarray[9,n](0); myarray[0,1]=myarray[9,0]; myarray[0,2]=myarray[9,1] etc till n i reached,and have the loop initiating the values assigned in myarray 0 column continuing the loop for the following columns essentially starting from last element of previous column which now is the first element in current column? also is it possible to sum the values in an array row? | ||
| |
|
| | #2 | ||
![]() | Re: Arrays Question | ||
| |
|
| | #3 | ||
![]() | Re: Arrays Question 1. write out ONE action at a time 2. write out ONE action per sentence if you can do that, maybe I can help. | ||
| |
|
| | #4 | ||
![]() | Re: Arrays Question . To accumulate sums simply add the elements to a variable within the loop. As others have said I am not sure precisely what you want to do but loops will do it for you. You should be able to use the modulus function if you need an element to 'wrap round'. e.g. for n = 1 to 20 a[n] = a[mod(n+7)] shifts all elements back 9 places and wraps the first 7 elements to the end of the array. | ||
| |
|
| | #5 | ||
![]() | Re: Arrays Question i am quite new in el and its hard for me to understand everything at once so i need an actual example of the code lines.. here is what i try to accomplish: array:myarray[9,n](0); if the value assigned to myarray[9,0] through this loop is the close[10] for value1=0 to 9 begin myarray[value1,0]=close[value1];end; then i want to "reloop" in a manner that second column first element will pick up where last element of previous column was so the result will be: myarray[0,1]=myarray[9,0][1];=close[11] myarray[0,2]=myarray[9,1][1];=close[21] my array[0,3]=myarray[9,2][1];=close[31] etc till n is reached. essentialy this will carry the loop to jump to the first element of the following column as if it was " myarray[10,0]"etc. then i want to be able to acces the values of anyrow number from column 0 to column N in manner that i can sum myarray[9,0]+myarray[9,1]+myarray[9,2] ....to n/N.. voila IF N=14 this is the 15min moving average of the close in one min chart if 1 min is the source data for the array. its something similar to compressseries indicator in various software. Last edited by andypap; 04-08-2009 at 01:25 PM. | ||
| |
|
| | #6 | ||
![]() | Re: Arrays Question Last edited by andypap; 04-08-2009 at 01:12 PM. | ||
| |
|
| | #7 | ||
![]() | Re: Arrays Question Array[ Round(barnum/7,0) , mod(barnum,7) ] = close; // Fills a 7X7 array. to sum the last N elements/closes sum = sum + close - close[n] This will be unstable until you have N bars These will do the there stuff as data arrives. To to loop through the array to get the sum (again 7*7) rather than store it as it arrives. for n = 0 to 7-1 begin for m = 0 to 7-1 begin sum = sum + Array[n,m]; end; end; Still not sure exactly what you are up to but hopefully if you look at the ideas behind the above you should get a few yourself. | ||
| |
|
| | #8 | ||
![]() | Re: Arrays Question first i did a dynamic array and set maxlen to 390 via an input:seieslen(390); then i used an if condition before the nested loop: if .....then for n=0 to serieslen-1 begin myarray[n]=close[n]; for m=o to serieslen-1 begin myarray[m]=myarray[n][m]; end;end; plot1(myarray[serieslen-1]; that did the job of storing the values every 390 bars starting from current bar backwards, if applyied to 1 min chart it gives you the close of last 1min bar of day and the first 389 have a value of zero.so if you sum the 390 bars what you get is the closing value of the last bar.if you sum 5*390 bars you have a 5 day mov average builded from 1 min bars. so the indicator is working ok. i am thinking though that this doesnt answer my second question of a more general form.. is it possible and how in EL to access the values of a row in a two dimension array of 7 columns lets say ( 0 to 6) in a manner as if they where the elements of a column? i will try to make this visible if the row is 10 of array:myarray[10,6]; then imagine these row elements accumulated as if they look like a column array[10,0] array[10,1] array[10,2] array[10,3] down to array[10,6] thanks again | ||
| |
|
![]() |
| Thread Tools | |
| Display Modes | Help Others By Rating This Thread |
| |
| ∧ Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| A Question... | MrPaul | Market Analysis | 12 | 02-13-2012 01:27 AM |
| Looking for Someone Good with Coding Arrays | waveslider | Coding Forum | 3 | 10-28-2008 02:26 PM |
| TS question | james_gsx | General Discussion | 2 | 09-17-2007 04:27 AM |
| Arrays | ImXotep | Coding Forum | 1 | 05-07-2007 06:09 AM |