Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1014

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

Obrigado, já o vi. Mas como eu disse, é provavelmente devido à ligação simbólica à pasta dos Indicadores que o recurso não está a ser adicionado. Diz que não foi encontrado.

Qual é a finalidade das ligações simbólicas? Se os indicadores e o Consultor Especialista forem compilados com ligações directas, então esta EA trabalhará independentemente dos indicadores. Que não os tenham de todo no computador.

Em segundo lugar, devemos primeiro criar um recurso com uma ligação directa e só depois tentar criar um simbólico. Felizmente, não lido com tais ligações e não posso verificar como fazê-lo e se isso é de todo possível.

 
Alexey Viktorov:

Qual é o objectivo das ligações simbólicas? ........

O ponto é simples - todos os terminais acedem a uma instância de EA/indicador/script/library/template.... e não há necessidade de clonar instâncias.

Além disso, está tudo a uma curta distância, não no meio do nada ))))

Isto leva a uma pergunta desconcertante: porque é que tudo funciona através de ligações mas o recurso não é encontrado?

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

O ponto é simples - todos os terminais acedem a uma instância de EA/indicador/script/library/template.... e não há necessidade de clonar instâncias.

Além disso, está tudo a uma curta distância, não no meio do nada ))))

O que me desconcerta: porque é que tudo funciona através de ligações mas o recurso não é encontrado?

Não estou a falar um pouco sobre isso. Não há nada que impeça a cópia temporária destes dois indicadores para um local normal, compilar, apagar e executar o Expert Advisor sem restrições.

Ou, se quiser ligar o recurso com a localização normal do indicador, então pode tentar alterá-lo para uma ligação simbólica.

 

Como é que este código se parece no mt5?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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:

Como é que este código se parece no mt5?

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

Obrigado

 

Vou tentar perguntar aqui, já perdido lá)

Como posso remover um determinado indicador de todos os gráficos com um movimento/clique? A aplicação de um novo modelo não funciona. Talvez um guião?

 
Vitaly Muzichenko:

Vou tentar perguntar aqui, já perdido lá)

Como posso remover um determinado indicador de todos os gráficos com um movimento/clique? A aplicação de um novo modelo não funciona. Talvez um guião?

Teoricamente:

1. Começamos a pesquisar todos os gráficos.

2) Determinar o número de indicadores no gráfico.

3. procurar o que precisa de ser removido e, se estiver presente, removê-lo.

Prosseguimos para o gráfico seguinte.

Mas para isso é necessário conhecer o nome curto do indicador. Se o nome curto contém os valores dos parâmetros de entrada, não pode ser encontrado. É como "Vês um gopher..."

Por conseguinte, é necessário procurar um substrato no nome do indicador.

 
Alexey Viktorov:

Teoricamente, é assim:

1. Comece a percorrer todos os gráficos.

2) Determinar o número de indicadores no gráfico.

3. procurar o que precisa de ser removido e, se estiver presente, removê-lo.

Prosseguimos para o gráfico seguinte.

Mas para isso é necessário conhecer o nome curto do indicador. Se o nome curto contiver os valores dos parâmetros de entrada, não poderá ser encontrado. É como "Vês um gopher...".

Consequentemente, é necessário procurar um substrato no nome do indicador.

Era assim que eu queria fazer ChartIndicatorName(), mas surgiu a questão: Como removê-lo?

 
Vitaly Muzichenko:

Era assim que eu queria fazer ChartIndicatorName(), mas surgiu a questão: como é que eu o removo?

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