Maybe like this:
int first = 194;
int step = 195;
int max = 779;
for( int value = first; value <= max; value += step )
{
Console.WriteLine( value );
}
It is possible to show the results in a single line, separated by ','.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Hello,
I want to cumulate numbers.
Something like:
double x = 195;
double cum = 195 + x;
The result should look like : 194,389,584,779,974,1169,1364...
I want to be able to stop the cumulation at any step i wish 1169 or 779 for example.
TY
Maybe like this:
int first = 194;
int step = 195;
int max = 779;
for( int value = first; value <= max; value += step )
{
Console.WriteLine( value );
}
It is possible to show the results in a single line, separated by ','.
You have the first part from line 1 to line 38. Every 195 bars it extract the closeprice and return for example 5, 8, 11 for the part between line 1 and 19 and from line 20 to 38 it would return 6, 7, 10. To be clear bar 194 return closeprice 5 when bar 195 will return closeprice 6. Bar 389 return closeprice 8 and bar 390 return closeprice 7.
After that from line 40 to 45 it substract closeprice from the first part and second part. So 5- 6 = -1, 8- 7 = 1, 11- 10 = 1. That part should return in value -1 , 1, 1 but for a reason i dont get it always return -1.
Line 52 if(CurrentBar < item) return; it lines up every closeprice starting bar 194, 389, 584 ...
The output looks like this:
194: 5,8,11
389: 8,15,17
584: 11, 22, 17
line 58 add the result from line 40
194: 5+ (-1) = 4 , 8 +(-1) = 7, 11 +(-1) = 10
389: 8 + 1 = 9 , 15 (+1) = 16, ....
584: well you get the idea
Actually what i want is from 194 till we reach max 1364 sum (-1) and once it reach 389 it sum (1) till it reach max, than 584 it sum (1) over the first two till it reach max, etc.: producing the result of one serie.
4, 7, 10, 9, 16, 12, 23, 18
The original code looks like this:
if(CurrentBar < 1) return;
double closePri = Bars.GetClose(0);
double closePri9 = Bars.GetOpen(0);
difCPP = closePri - closePri9;
candle = Close[0] + difCPP + difCP + difCP00 + difCP000 + difCP0 + difCP001 + difCP1 + difCP003 + difCP2 + difCP002 + difCP3 +difCP004 +difCP4 +difCP5 +difCP6 +difCP7 +difCP8 + difCP9 +difCP10 +difCP11 + difCP12 +difCP13;
listCan.Add(candle);
Print("Can"+candle);
if(CurrentBar < 77) return;
double closePrice16 = Bars.GetClose(77);
double closePrice9 = Bars.GetOpen(78);
difCP = closePrice16 - closePrice9;
// and it goes on
I try to find a way not to repeat the code again and again especially that part if(CurrentBar < 77) return;
TY
Hi Viorel,
Maybe you could tell me why my code not returning what i want.
int firs = 194;
int step = 195;
int max = 1364;
for( int value = firs; value <= max; value += step )
{
Print("V"+ value );
var listW = new List<int>() {value};
foreach(var item in listW)
{
closePrice16 = Bars.GetClose(item);
Print("CP"+closePrice16);
}
int firs0 = 195;
int step0 = 195;
int max0 = 1365;
for( int valu = firs0; valu <= max0; valu += step0 )
{
Print("Val"+ valu );
var listQ = new List<int>() {valu};
foreach(var item in listQ)
{
closePrice6 = Bars.GetClose(item);
Print("CQ"+closePrice6);
}
var listMP = listW.Zip(listQ, (first, second) => first - second); // listMP is returning a bunch of -1 ?
foreach(var item in listMP)
{
Print("PM"+item);
}
foreach(var item in listW)
{
if(CurrentBar < item) return; // returning a value seperatly for each item in listW
foreach(var iten in listMP)
{
candle = Close[0] + iten; // I want to apply the calculation over the same list of price.
Print("CDL"+candle);
}
}
}
}
For example, now it should be returning 10,11,16,
9, 14, 17
Suppose listMP would be returning the right answer like +2, -1, +3
candle should return one list: 12, 10, 19, 11, 13, 20
From 195 to 1364 it apply +2
than from 389 to 1364 it apply -1 over the first one
than from 584 to 1364 it apply +3 over the second one
its always the same list it just it apply the first calculation from 195 than at 389 it apply the second one .etc
TY