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

 
Сергей Таболин:

Спасибо, я видел. Но как говорил, скорее всего, из-за символической ссылки на папку Indicators ресурс не добавляется. Пишет что не найден.

А какой смысл в символических ссылках? Ведь если индикаторы и советник будут откомпилированы с прямыми ссылками, то этот советник будет работать независимо от индикаторов. Пусть их вообще не будет на компе.

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

 
Alexey Viktorov:

А какой смысл в символических ссылках? ........

Смысл простой - все терминалы обращаются к одному экземпляру советника/индикатора/скрипта/библиотеки/шаблона.... , и не нужно клонировать экземпляры.

К тому же это всё находится в шаговой доступности, а не за тридяветь земель )))

В связи с этим возникает недоумение: почему это всё работает по ссылкам, а ресурс не находится?

 
Сергей Таболин:

Смысл простой - все терминалы обращаются к одному экземпляру советника/индикатора/скрипта/библиотеки/шаблона.... , и не нужно клонировать экземпляры.

К тому же это всё находится в шаговой доступности, а не за тридяветь земель )))

В связи с этим возникает недоумение: почему это всё работает по ссылкам, а ресурс не находится?

Я немного не о том. Ведь ничего не мешает временно скопировать эти два индикатора в нормальное место, скомпилировать, удалить и работать советником без ограничений.

Ну или добившись подключения ресурса при нормальном размещении индикатора, потом уже пробовать поменять на символическую ссылку.

 

Как этот код в мт5 выглядит?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.08.2008                                                     |
//|  Описание : Возвращает номер недели месяца по дате                         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    dt - дата, время                                                        |
//+----------------------------------------------------------------------------+
int WeekOfMonth(datetime dt) {
  datetime d;
  int      i, kd=TimeDay(dt), nn=1;

  for (i=2; i<=kd; i++) {
    d=StrToTime(TimeYear(dt)+"."+TimeMonth(dt)+"."+i);
    if (TimeDayOfWeek(d)==1) nn++;
  }
  return(nn);
}
 
ilvic:

Как этот код в мт5 выглядит?

//+------------------------------------------------------------------+
//| Возвращает номер недели месяца по дате, при ошибке -1            |
//+------------------------------------------------------------------+
int WeekOfMonth(const datetime time)
  {
   MqlDateTime tm;
   return(TimeToStruct(time,tm) ? tm.day_of_week : WRONG_VALUE);
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin:

Спасибо

 

Попробую спросить здесь, там уже затерялась)

Каким образом можно удалить определённый индикатор со всех графиков одним движением/кликом?  С применением нового шаблона не подходит. Может скрипт?

 
Vitaly Muzichenko:

Попробую спросить здесь, там уже затерялась)

Каким образом можно удалить определённый индикатор со всех графиков одним движением/кликом?  С применением нового шаблона не подходит. Может скрипт?

Теоретически так:

1. Начинаем перебор всех графиков.

2. Определяем количество индикаторов на графике.

3. Ищем тот который нужно удалить и если он есть удаляем.

Переходим к следующему графику.

Но для этого надо знать короткое имя индикатора. И если в коротком имени присутствуют значения входных параметров, то можно и не найти. Типа "Ты суслика видишь..."

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

 
Alexey Viktorov:

Теоретически так:

1. Начинаем перебор всех графиков.

2. Определяем количество индикаторов на графике.

3. Ищем тот который нужно удалить и если он есть удаляем.

Переходим к следующему графику.

Но для этого надо знать короткое имя индикатора. И если в коротком имени присутствуют значения входных параметров, то можно и не найти. Типа "Ты суслика видишь..."

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

Вот так и хотел сделать ChartIndicatorName(), но возник вопрос: чем его удалить?

 
Vitaly Muzichenko:

Вот так и хотел сделать ChartIndicatorName(), но возник вопрос: чем его удалить?

Топором.
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
  • www.mql5.com
//|                                    Demo_ChartIndicatorDelete.mq5 | //|                        Copyright 2011, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Custom indicator initialization function                         |                           ...
Причина обращения: