Скачать MetaTrader 5

запоминание старых показаний индикатора

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Олег
378
Олег  

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

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

Прогаю на мкл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);
}
 

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

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

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

Алексей Тарабанов
7326
Алексей Тарабанов  
Над полем для текста нового сообщения, в меню, есть поле SRC. Кликните на него, предварительно скопировав в буфер ВЕСЬ код (он ведь не секретен?) и воткните туда содержимое буфера обмена. 
Олег
378
Олег  
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);
}
Алексей Тарабанов
7326
Алексей Тарабанов  
Спасибо. 
Олег
378
Олег  
tara:
 Спасибо.  Можете посмотреть?
Алексей Тарабанов
7326
Алексей Тарабанов  
Я этого кода не понимаю, в моем представлении он работать не должен даже по замыслу его создателя. Ушел. 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий