Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 175

 
Reshetov:

Возможно делаю что-то не так? Пробую в строке 
Alert("Time=",Time[0]);
ноль заменить на s ничего не выходит.
 
forexman77:
Возможно делаю что-то не так? Пробую в строке ноль заменить на s ничего не выходит.
Напишите точно, что Вы хотите получить (суть алгоритма). И еще - это индикатор, скрипт или советник?
 
barabashkakvn:
Напишите точно, что Вы хотите получить (суть алгоритма). И еще - это индикатор, скрипт или советник?

Время образования бара, который найден строкой ниже(найденный минимум):

int s=ArrayMaximum(High,i,k);
Нет это не индикатор пока это скрипт, для проверки. Чтобы научиться.  Буду использовать в дальнейшем для советника.
 
forexman77:

Время образования бара, который найден строкой ниже(найденный минимум):

Нет это не индикатор пока это скрипт, для проверки. Чтобы научиться.  Буду использовать в дальнейшем для советника.

Уменьшил количество копируемых элементов - для удобства просмотра на графике и понимания:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double High[];
   datetime Time[];
   ArraySetAsSeries(High,true);  // индексация элементов массива будет производиться как в таймсериях
   ArraySetAsSeries(Time,true);  // индексация элементов массива будет производиться как в таймсериях
   int i=0;
   int k=10;
//--- копируем цены High баров от "i" в количестве "k"
   CopyHigh(_Symbol,_Period,i,k,High); // теперь в массиве High "k" элементов
   int s=ArrayMaximum(High);           // индекс бара с максимальным значением
   double Maxi=High[ArrayMaximum(High)];  // найдено значение High максимального бара
//--- копируем время Time баров от "i" в количестве "k"
   CopyTime(_Symbol,_Period,i,k,Time);   // теперь в массиве Time "k" элементов
//--- на данный момент в массивах High и Time "k" элементов и они соответствуют друг другу
   Alert("s=",s);
   Alert("Time=",Time[s]);
   Alert("Maxi=",Maxi);
  }
//+------------------------------------------------------------------+
 
barabashkakvn:

Уменьшил количество копируемых элементов - для удобства просмотра на графике и понимания:

Отлично! Считает. Предполагал, что нужно задать индексацию элементов, но не знал, как сделать.
 
вопрос как изменить цвет селл-лимитных заявок на графике. а то они   зеленые как и реальные позы. сделать  их например оранжевыми чтоли...
 
trora:
вопрос как изменить цвет селл-лимитных заявок на графике. а то они   зеленые как и реальные позы. сделать  их например оранжевыми чтоли...
Через цветовую схему никак. Но есть связь цвета объемов и цвета всех заявок и ордеров: если изменить цвет объемов, то в этот же цвет будут все ордера и заявки.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

Возникла необходимость в скрипте начать отсчет массива от определенной даты с обязательным копированием определенного количества баров, чтобы производить поиск в этом кол-ве баров. Все бы ничего, но поиск ведется от заданного времени справа налево, а нужно искать, начиная с заданного времени и после него. Вариант с указанием даты начала и даты окончания не подходит, так как в нем нет возможности задать количество баров.

 
forexman77:

Возникла необходимость в скрипте начать отсчет массива от определенной даты с обязательным копированием определенного количества баров, чтобы производить поиск в этом кол-ве баров. Все бы ничего, но поиск ведется от заданного времени справа налево, а нужно искать, начиная с заданного времени и после него. Вариант с указанием даты начала и даты окончания не подходит, так как в нем нет возможности задать количество баров.

Набросайте от руки шкалу времени и пронумеруйте бары. Или на скриншоте обрисуйте ситуацию (желательно на белом фоне).
 
barabashkakvn:
Набросайте от руки шкалу времени и пронумеруйте бары. Или на скриншоте обрисуйте ситуацию (желательно на белом фоне).

Записать время образования максимума не проблема. Непонятно, как указать программе искать в 8 следующих барах минимум. То есть бары перед максимумом не считаем, поиск производится в барах после максимума. Отсчет по времени от и до не подходит, так как в нем невозможно указать количество баров. Последний бар для поиска на графике нулевой, будем считать, что после последней стрелки еще нет баров.



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