Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1090

 
Здравствуйте. Может быть кто-нибудь подскажет, можно ли в МТ4 в собственном индикаторе менять вид курсора как например, при рисовании стандартного прямоугольника курсор имеет вид маленького креста?
 
avsem555:
Здравствуйте. Может быть кто-нибудь подскажет, можно ли в МТ4 в собственном индикаторе менять вид курсора как например, при рисовании стандартного прямоугольника курсор имеет вид маленького креста?
Виндовс-курсор стандартными средствами mql не поменять. Но можно дорисовать свой.
 
Ясно. Спасибо.
 


Проблемище . После того как скачал котировки, обновил график и о чудо: последние свечек 10 в точности повторяют предыдущие. Как бы сильно на работу советника не повлияют, но хочется проблему решить.

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

 

Добрый день. Помогите как выбрать последние два открытых ордера (которые еще в рынке)?

OrdersTotal() - выводит кол-во ордеров в рынке.

OrderSelect (Выбираем по позиции; Select_BY_Pos; Mode_trades) - как в это случае обратится к последнему или предпоследнему ордеру в списке "Ордеров в рынке" ?

 
Макс Сопельцев:

Добрый день. Помогите как выбрать последние два открытых ордера (которые еще в рынке)?

OrdersTotal() - выводит кол-во ордеров в рынке.

OrderSelect (Выбираем по позиции; Select_BY_Pos; Mode_trades) - как в это случае обратится к последнему или предпоследнему ордеру в списке "Ордеров в рынке" ?

Собрать все ордера в массив и отсортировать их по времени. Два последних ордера в массиве и будут последним и предпоследним.

 
Artyom Trishkin:

Собрать все ордера в массив и отсортировать их по времени. Два последних ордера в массиве и будут последним и предпоследним.


Когда будут новые добавляться, как их в массив добавить?

Собрать ордера в массив по Тикетам?

 

Продублирую здесь. https://www.mql5.com/ru/forum/334992

Нужно забирать в эксел из текстового файла последние 30000 строк. В mql4 есть вообще возможность программно ограничить количество строк в текстовом файле (т.е. старые удалять, а новые записывать)? Была вроде статья на 5-ке, но найти не могу.

Ограничение числа записываемых строк
Ограничение числа записываемых строк
  • 2020.03.15
  • www.mql5.com
Здравствуйте. Есть советник, записывающий тики. Возможно ли ввести ограничение на количество строк в текстовом файле. Например...
 

Добрый день. Простейший вопрос. Не понимаю, как работают пользовательские функции.

Хочу сделать пользовательскую функцию которая будет выдавать количество открытых ордеров buy и отдельно ордеров sell.

Написать написал, но выдает кучу ошибок. Скорее всего ошибка в неправильности обращения к пользовательской функции. Блин я не совсем даже понимаю как это работает. Формальные переменные, переменные на вывод. Прошу помощи.

void OnTick()
  {
  // Пользовательская функция "отчет об открытых ордерах."
  
  // Выводим 2 счетчика. Количество ордеров sell и ордеров buy
  
  int G, H = Otkr_Ord (a, b);
  Print ("Ордера Sell = ", G, "Ордера Buy = ", H)
  
  
  }
  
  int Otkr_Ord (int A, int B)
  {
  A = 0;
  B = 0;
  int z;
  for(z = OrdersTotal()-1; z >=0; z--)
  {
  if (! OrderSelect (PositionIndex, SELECT_BY_POS, MODE_TRADES))
  {
  if(OrderType () == 0 && OrderCloseTime == 0) 
  A++;
  if(OrderType () == 1 && OrderCloseTime == 0)
  B++; 
  }
  }
  return (G, H)
  }
 
Макс Сопельцев:

Добрый день. Помогите как выбрать последние два открытых ордера (которые еще в рынке)?

OrdersTotal() - выводит кол-во ордеров в рынке.

OrderSelect (Выбираем по позиции; Select_BY_Pos; Mode_trades) - как в это случае обратится к последнему или предпоследнему ордеру в списке "Ордеров в рынке" ?

Видел, что есть темы сравнения времени. Т.е. время тоже можно сравнивать больше меньше.

Отдельно 2 переменные для тикетов.

Счетчик ордеров

Проверка отрыт ли еще

запись времени в переменную

В переменную

сравнение времени с следующим.

Последние 2 с наибольшим временем в 2х переменных.

Причина обращения: