Здравствуйте, для торговли использую советника ИЛАН 2.0, подскажите как сделать автоматическую остановку советника после закрытия всех ордеров? мне это нужно допустим перед выходом важных новостей чтобы он довел сделки до логичного конца и больше не торговал.Заранее спасибо!
Добрый вечер! Есть вопрос, у меня в инициализации прописаны функции по созданию кнопок , при смене таймфрейма графика, цвет активной кнопки меняется , я так понимаю это связано с переинициализацией, но кнопка остается нажатой, а вот цвет нет, как решить эту проблему.
Здравствуйте. Если за ране не знать сколько элементов будет в массиве, как объявлять массив, чтобы увеличивался массив с каждым новым элементом?
Пример для того чтобы понятнее было:
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
HighA[i]=A[i];
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Чаще надо читать документацию.
Я читал и пробовал но получал ошибку "array out of range". На примере это выглядела так:
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines);
HighA[i]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Я читал и пробовал но получал ошибку "array out of range". На примере это выглядела так:
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines);
HighA[i]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Когда не выполняется условие A[i] < B[i] размер массива остаётся неизменным, а счётчик цикла увеличивается. Потому и выход за пределы...
Так попробуй
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
int size = ArraySize(HighA);
ArrayResize(HighA, size+1);
HighA[size]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Когда не выполняется условие A[i] < B[i] размер массива остаётся неизменным, а счётчик цикла увеличивается. Потому и выход за пределы...
Так попробуй
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
int size = ArraySize(HighA);
ArrayResize(HighA, size+1);
HighA[size]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Я читал и пробовал но получал ошибку "array out of range". На примере это выглядела так:
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines);
HighA[i]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Ну так будет работать быстрее
double HighA[];
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines);
HighA[countHlines-1]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
// Вариант №2
int countHlines=-1;
double HighA[];
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines+1);
HighA[countHlines]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Ну так будет работать быстрее
double HighA[];
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines);
HighA[countHlines-1]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
// Вариант №2
int countHlines=-1;
double HighA[];
for(int i=0; i<1000; i++)
{
if(A[i]<B[i])
{
countHlines++;
ArrayResize(HighA,countHlines+1);
HighA[countHlines]=A[i];
}
}
Print(">>>>>>>>>>>..ArraySize(HighA)= ",ArraySize(HighA));
Спасибо, ясно! Будет работать быстрее из за ArraySize, это как-то замедляет?
Незначительно, но зато понятно и застрахован от ошибки.
Добрый вечер! Есть вопрос, у меня в инициализации прописаны функции по созданию кнопок , при смене таймфрейма графика, цвет активной кнопки меняется , я так понимаю это связано с переинициализацией, но кнопка остается нажатой, а вот цвет нет, как решить эту проблему.
Заранее благодарен.