Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 325
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Корифеи придите на помощь.
Задача найти минимальный элемент в массиве[].
максимум ищет, а минимум хоть убей. Что только не пробывал, входные массивы подою заполненные - смотрел через отладку, что деееееллллать?
Возможно есть какие-то нюансыыы?
объявлен через
Корифеи придите на помощь.
Задача найти минимальный элемент в массиве[].
максимум ищет, а минимум хоть убей. Что только не пробывал, входные массивы подою заполненные - смотрел через отладку, что деееееллллать?
Возможно есть какие-то нюансыыы?
объявлен через
Попробуете ArraySort и проверьте что на первый индекс выводит.
Вот тебе и ноосфера, стоило только забросить вопрос, как в голову стали приходить догатки, у меня же в массиве 0 есть вот и выдает мин =0. но все же есть участки с ненулевыми значениями, а мин все равно 0, ну и бог сним обойду, вопрос снят)) спасибо тем кто просто прочинал, ноосфера дала по вам
Внимание вопрос))
Как в индикаторе задать бар с которого начинать обрабатывать?
if(prev_calculated>rates_total-Bmax)
{ ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]
}
Пробовал так, итог индикатор вообще делает один ход.
Снова здравствуйте! Подскажите пожалуйста, мне известен индекс элемента массива, а с помощью какой функции узнать его значение
int Totall=OrdersTotal();
double Price; // Цена выбранного ордера
double Mas[]; //массив для упорядочивания всех ордеров
for(int i=0; i<OrdersTotal(); i++) // Цикл перебора ордер
{
if(OrderSelect(i,SELECT_BY_POS)) // Если есть следующий
{Price=OrderOpenPrice(); //Заполняем массив ценами
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Теперь цены открытия упорядочены по убыванию
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //Определен индекс ближайшего большего по значению елемента к текущей цене
Как я уже раньше сталкивался изучая классы, так и опять появляется нюансы которые не описаны в статях или где-то так спрятаны что не возможно найти через поисковик. Целы день потрачен в пустую искал пояснения. Например что означает этот символ и как он влияют если нету. Как видно ниже в примере из стати, сначала он есть а потом нету: &
Также этот символ не понятно что означает: ~
*
В mql4, mql5 в функцию массив всегда передаётся только по ссылке (& == амперсанд)
Сначала - в формальных параметрах функции - амперсанд есть, и говорит о том, что в функцию передаётся не сам массив, а ссылка на него. А далее - внутри функции - вы уже работаете со ссылкой, а значит и не нужно заново это указывать.
Ну а тильда (~) пишется перед названием деструктора класса - конструктор и деструктор имеют то же имя, что и сам класс, но у деструктора есть ~.
Вот почитайте статью о том, когда нужно использовать ссылки, а когда указатели.
Хотя, впрочем, вам пока ещё азы нужно читать.
Снова здравствуйте! Подскажите пожалуйста, мне известен индекс элемента массива, а с помощью какой функции узнать его значение
int Totall=OrdersTotal();
double Price; // Цена выбранного ордера
double Mas[]; //массив для упорядочивания всех ордеров
for(int i=0; i<OrdersTotal(); i++) // Цикл перебора ордер
{
if(OrderSelect(i,SELECT_BY_POS)) // Если есть следующий
{Price=OrderOpenPrice(); //Заполняем массив ценами
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Теперь цены открытия упорядочены по убыванию
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) //Определен индекс ближайшего большего по значению елемента к текущей цене
Значение_элемента_массива = Массив[индекс];
Подскажите пожалуйста, у меня есть советник и я его тестировал на работе в обычном компе, виндовс хп. Все хорошо работает и так далее.
Прихожу домой , дома лаптоп макбуук, и абсолютно с такимиже параметрами по этому же инструменту с таким же тайм ФРЕИМАМ показывает абсолютно другое результат в Тестер,Есть предположения или идей почему так ?
Значение_элемента_массива = Массив[индекс];
Спасибо, теперь новая проблема. При написании следующего условия возникает ошибка 'PriceBlizko1' - undeclared identifier. Объясните пожалуйста почему?
double Price; // Цена выбранного ордера
double Mas[]; //массив для упорядочивания всех ордеров
for(int i=0; i<OrdersTotal(); i++) // Цикл перебора ордер
{
if(OrderSelect(i,SELECT_BY_POS)) // Если есть следующий
{
Price=OrderOpenPrice(); //Заполняем массив ценами
Mas[i] = Price;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Теперь цены открытия упорядочены по убыванию
int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //Определен индекс ближайшего меньшего по значению елемента к текущей цене
double PriceBlizko1=Mas[Blizko1];
}
if (PriceBlizko1-Bid>=30*Point) //Если нижний ордер дальше чем на 30 пунктов !!!!!!В ЭТОЙ СТРОКЕ!!!!!
OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //Открываем ордер Сел
Alert (GetLastError()); //Сообщение об ошибке
Используйте кнопку для вставки кода!