Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Они уже зарабатывают с помощью Маркета. Зарабатывай и ты!
Олег
356
Олег 2015.03.19 19:35 

Доброе настроение.

Помощь уж очень нужна. Уже достаточно время туплю не могу написать. 

Прогаю на мкл4 недавно. проблема  следующая.

 Написал индикатор все ок. Но еще захотел, чтобы он рисовал еще и старые линии. Индикатор на часовом промежутке. Мне интересно , чтобы он еще отображал и старые линии . Интересно сравнивать, чтобы в голове не держать.

Пишу примерно так. через счетчик

int hh=1; //начало счетчика
int start()
{
if (Minute()>=0 && Minute()<=5) // Ограничение по работе
{
int k;
double arr1[150][4]; // описание двумерного массива
double vall[150]; // искомый столбец
 functionW1(vall); // далее цепь функций которые работают
double vall1[150];
functionD1(vall1);
double vall2[150];
functionH4(vall2);
double vall3[150];
functionH1(vall3);



if (TimeFrame==PERIOD_H1) // работаем только на часе
{
for ( k=1;k<=145;k++) // цикл для рисования линии по уже вычесленному массиву vall3
{
Buffer13[146-k]=vall3[k];


arr1[k][hh]=vall3[k]; // пытаюсь создать двумерный массив
}
}
hh=hh+1; // конец счетчика

if (TimeFrame==PERIOD_H1)
{
for ( k=1;k<=145;k++)
{
Buffer18[146-k]=arr1[k][2]; //тут пытаюсь забрать нужный мне массив и нарисовать старую линию
}
}

return(0);
}
 

Ничего не получается. Помогите пожалуйста. Чувствую проблема в логике программирования.

С Уважением Олег 

Заранеее спасибо 

Алексей Тарабанов
7220
Алексей Тарабанов 2015.03.19 20:16  
Над полем для текста нового сообщения, в меню, есть поле SRC. Кликните на него, предварительно скопировав в буфер ВЕСЬ код (он ведь не секретен?) и воткните туда содержимое буфера обмена. 
Олег
356
Олег 2015.03.19 20:18  
int hh=1; //начало счетчика
int start()
{
if (Minute()>=0 && Minute()<=5) // Ограничение по работе 
{
int k;
 double arr1[150][4]; // описание двумерного массива
double vall[150]; // искомый столбец
 functionW1(vall); // далее цепь функций которые работают
 double vall1[150];
 functionD1(vall1);
 double vall2[150];
 functionH4(vall2);
 double vall3[150];
 functionH1(vall3);



if (TimeFrame==PERIOD_H1) // работаем только на часе
{
for ( k=1;k<=145;k++) // цикл для рисования линии по уже вычесленному массиву vall3
{
Buffer13[146-k]=vall3[k];


arr1[k][hh]=vall3[k]; // пытаюсь создать двумерный массив
}
}
hh=hh+1; // конец счетчика

if (TimeFrame==PERIOD_H1) 
{
for ( k=1;k<=145;k++)
{
Buffer18[146-k]=arr1[k][2]; //тут пытаюсь забрать нужный мне массив и нарисовать старую линию
}
}

return(0);
}
Алексей Тарабанов
7220
Алексей Тарабанов 2015.03.19 20:29  
Спасибо. 
Олег
356
Олег 2015.03.19 20:36  
tara:
 Спасибо.  Можете посмотреть?
Алексей Тарабанов
7220
Алексей Тарабанов 2015.03.19 20:42  
Я этого кода не понимаю, в моем представлении он работать не должен даже по замыслу его создателя. Ушел. 
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий