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

 
Sergey Likho:

Спасибо. 

Подскажите, почему На реал графике OBJ_EDIT может не отображаться?

Наверное не правильно выставили привязку объектов, и они ушли за край окна.

Привязку лучше указывать не 0,1,2 как это в мт4, а конкретно ENUM_BASE_CORNER

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 

Прошу помочь решить задачу, код работает на каждом тике, поэтому нужно наиболее лёгкое решение

Задача: Есть куча закрытых позиций в истории, и с этой кучи нужно извлечь размер профита который был на момент последнего закрытия, позиций может быть от 1, до 100(сетка).

Как правило, они не закрываются одновременно, но разница по времени от момента открытия до закрытия не превышает 2 минуты(мт4).

Если развернуть цикл или массив, то всё работает, но разворачивать ничего нельзя, нужно сделать с перебором от меньшего, к большем

//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  datetime tm=0;
  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
  
   for(int i=0; i<5; i++) {
    datetime date=pos[i];
    // ... ld = date;
    // Здесь много кода, и цикл/массив разворачивать нельзя
    // ...
    // 120 секунд разницы между закрытием первой и последней в сетке
    if((tm <= date && date <= tm+120) || tm==0) {
      tm = date;
      Print(i,"=",date); // Ожидаемый результат: 2018.04.04 12:08:59, 2018.04.04 12:08:43, 2018.04.04 12:08:43
    }

   }
    Print("");
    Sleep(10000);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

Прошу помочь решить задачу, код работает на каждом тике, поэтому нужно наиболее лёгкое решение

Почему дата в виде текста??? Это очень непроизводительно.

 
Vitaly Muzichenko:

Прошу помочь решить задачу, код работает на каждом тике, поэтому нужно наиболее лёгкое решение

  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
 
Vladimir Karputov:

Почему дата в виде текста??? Это очень непроизводительно.

Это просто пример, в коде всё нормально собрано в массив

P.S. Обновил предыдущий пост

P.S. Вопрос решён, разверну массив, и переделаю работу основного кода

 

Уважаемые форумчане! Подскажите, пожалуйста, как провести вертикальный отрезок между барами, не использую прямоугольную метку (OBJ_RECTANGLE_LABEL)? К сожалению, ответа на этот вопрос не нашел. Если что-то не дочитал в документации или на форуме, укажите где. Спасибо.

 
MrVIS:

Уважаемые форумчане! Подскажите, пожалуйста, как провести вертикальный отрезок между барами, не использую прямоугольную метку (OBJ_RECTANGLE_LABEL)? К сожалению, ответа на этот вопрос не нашел. Если что-то не дочитал в документации или на форуме, укажите где. Спасибо.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
//| Создает линию тренда по заданным координатам                     |               time1=0,                            price1=0,                         time2=0,                            price2=0,                        width=1,            //| Перемещает точку привязки линии тренда                           | //
 
FelixFX:
Я понимаю что можно с помощью статей и жестов, а так же мимики изучить что угодно, но с учебником, например, потратишь на обучение (без практики) месяц, а другими способами полгода + практика. Не все могут тратить все свободное время на изучение языка программирования.

Не совсем так?!, и даже напротив. К примеру, сужу по себе из прошлого: была у меня учительница по математике, объясняла все так на уроке, что я не учил ни одной теоремы, но министерские контрольные писал за 15 минут и на 5; в восьмом классе перевели к другой учительнице и все - весь класс сразу отупел. Так же и учебник, если его напишу я, или подобный мне, то время Вашего обучения будет продолжаться очень долго. И Вам подсказали опираясь на Ваше желание, что все будет упираться в него и как быстро Вы будете усваивать материал. Потом блуждая по авторам, Вы будете учиться и имея уже кой-какой опыт будете видеть: кто и что утаивает. А если Вас научат обращаться с вилкой и ни когда не покажут ложку, то и суп Вы будете есть очень долго. И скорей умрете с голода, чем наедитесь. Так что в перед на мины, и без саперов.

 
MrVIS:

Уважаемые форумчане! Подскажите, пожалуйста, как провести вертикальный отрезок между барами, не использую прямоугольную метку (OBJ_RECTANGLE_LABEL)? К сожалению, ответа на этот вопрос не нашел. Если что-то не дочитал в документации или на форуме, укажите где. Спасибо.

Да совсем просто.

Вариант 1. Провести горизонтальную линию и повернуть монитор на 90 по или против часовой стрелки.

Вариант 2. Повернуть расположение МТ так чтобы график строился снизу вверх.

Вариант 3. ...

Фантазия сломалась.

 
Alexey Viktorov:

Да совсем просто.

Вариант 1. Провести горизонтальную линию и повернуть монитор на 90 по или против часовой стрелки.

Вариант 2. Повернуть расположение МТ так чтобы график строился снизу вверх.

Вариант 3. ...

Фантазия сломалась.

Подскажу: канвас
Причина обращения: