нечетные и четные бары - страница 2

 

roman_mak Вам не стыдно людям мозг взрывать такими тех заданиями? ))

ума не приложу какие такие нужны "целые значения", зачем это разбитие на четные нечетные и че потом со всем этим делать

 
roman_mak >>:

У тебя массивы arr1 и arr2 типа double - переменные с плавающей точкой. Это и понятно, ведь ты отталкиваешься от цены - Close. Мне нужны целые значения. Первый бар - нечетный, второй - четный, третий - нечетный, четвертый четный и т.д. Потом нужно все нечетные и четные бары сгруппировать в массивы.

Человек 2 раза попробовал помочь. Ему тыкать и указывать в какие-то непонятные ошибки - просто дурной тон. Начинать надо, если вообще, то со "Спасибо"...

 
roman_mak >>:

У тебя массивы arr1 и arr2 типа double - переменные с плавающей точкой. Это и понятно, ведь ты отталкиваешься от цены - Close. Мне нужны целые значения. Первый бар - нечетный, второй - четный, третий - нечетный, четвертый четный и т.д. Потом нужно все нечетные и четные бары сгруппировать в массивы.

автор темы похоже не понимает, что он хочет. "значение" цены НЕ может быть целым... а хранить в массивах номера (1,3,5,7...) и (2,4,6,8..) бессмысленно, из можно генерировать "на лету".....

 
bontles >>:

автор темы похоже не понимает, что он хочет. "значение" цены НЕ может быть целым... а хранить в массивах номера (1,3,5,7...) и (2,4,6,8..) бессмысленно, из можно генерировать "на лету".....

Я уже тихонько хихикаю...

 
Бессмысленно или нет, не в этом дело. На лету... Вот хотелось бы знать, как так на лету можно сделать. Я понимаю всю безобразность ситуации, но своими мозгами еще не допетрил.
 
roman_mak писал(а) >>
У меня возникла проблема с написанием кода для разделения четных и нечетных баров графика. Может кто помочь?

Помочь не смогу...

А вот взбаламутить идею пожалуста. ;)

1. Текущий бар всегда 0-вой с точки зрения кода,

значитца предыдущий 1, потом 2 и т.д...

И по аналогии как раскрашивается в зёбру таблица считаем эти бары:

string zebra;                // зебра для таблицы
if (i%2 == 0) zebra = "bgcolor=#FFFFFF"; // основной цвет
if (i%2 == 1) zebra = "bgcolor=#FFFFF0"; // контрастный цвет

//if (MathMod(i, 2) == 0) zebra = "bgcolor=#FFFFFF";// аналогичный верхнему вариант чет-нечет
//if (MathMod(i, 2) == 1) zebra = "bgcolor=#FFFFF0";// --\\--

2. Почти тоже самое, но для баров с начала суток, т.е. с 00:00

(00:00 1 бар, 00:15 2 бар, и т.д. для Н15 до текущего)

Токма тут я вообще всю голову сломал как обсчитывать бары текущего дня.

Вернее как создать фильтр например if(все Н15 текущих суток) бла-бла;

:(((

 
А как же их в массивы-то запихать?
 
roman_mak >>:
Бессмысленно или нет, не в этом дело. На лету... Вот хотелось бы знать, как так на лету можно сделать. Я понимаю всю безобразность ситуации, но своими мозгами еще не допетрил.

мне кажется, что все здесь присутсвующие просто не поняли, что вы толком хотите сделать.

хранить четные/нечетные не обязательно! разделить их можно просто внутри какой-то функции или цикла...

напишите, что именно вы хотите делать с массивами четных/нечетных баров, мне кажется любой из присуствующих составит для вас цикл за 4 минуты...

 

Конкретно, нужно разбить бары по времени. Например, для часовых свечек, 00:00 - 1-й бар, четный, 01:00 - 2-й бар, нечетный, 02:00 - 3-й бар, четный...Потом сложить High цены четных и разделить на их кол-во. Также для цены Low нечетных.

Может, как-то так:

datetime Theday=D'2008.10.27 00:00';

int hour00=iBarShift("EURUSD",PERIOD_H1,Theday);

for(int x=hour00;x>0;x--)

{

Time[x]

...

Дальше пока не знаю, таким образом, у меня появится временной массив. Потом его нужно будет разбить на два...

Правильно или нет я думаю?

 
double odd_high=0, nodd_low=0;
for(int i=0, i<Bars; i+=2,) 
   { odd_high += High[i];
     nod_low +=  Low[i+1];
}

// получили сумму, вычисляем среднее

if (Bars%2 == Bars/2)
{
odd_high = odd_high * 2 / Bars;
nodd_low = nodd_low * 2 / Bars;
}
else 
{
odd_high = odd_high / (MathRound(Bars/2) +1);
nodd_low = nodd_low  / MathRound(Bars/2);
}
    


по-моему так... хотя надо прверить
Причина обращения: