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

 
Vladimir Karputov:

OnChartEvent só é accionado para o símbolo actual - neste caso não vale a pena reconhecer o símbolo: é sempre colocado.

A segunda maneira é contornar a lista de todos os gráficos - ObjectFind.

Entretanto, poderia dizer-me que tipo de erro é este?

2021.02.02 18:06:55.780 GDICache        pen creation error [87]
2021.02.02 18:06:56.251 GDICache        pen creation error [87]
2021.02.02 18:06:56.556 GDICache        pen creation error [87]
2021.02.02 18:06:56.677 GDICache        pen creation error [87]
2021.02.02 18:06:56.969 GDICache        pen creation error [87]

Descobri a razão. Surgiu durante a depuração ao especificar as propriedades da linha. O estilo da linha foi deixado como valor. É estranho que eu não tenha encontrado nenhuma menção a este erro em lado nenhum.

 
Aleksandr Prishenko:

Costumava funcionar maravilhosamente. Devia tê-lo experimentado no alojamento gratuito. De qualquer forma, deu as 15 libras para as metáforas ))))

Obrigado pela resposta!

Migrado (lamentou os 15) mas os controlos são bastante estranhos.

O Migrator não compreende o caminho de instalação dos indicadores da EA, tem de limpar os gráficos:

2021.02.02 19:57:39.442 Alojamento virtual 6215402: verificação de carga "C:\Users\Crucian\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\BBS_9.ex5::Indicadores\Band Width1.ex5

2021.02.02 19:57:39.442 Alojamento virtual 6215402: não carregou o programa


O Migrator pede mesmo para recompilar indicadores técnicos ))):

2021.02.02 19:44:12.708 Alojamento Virtual 6215402: versão obsoleta do módulo importado "ZigZag.ex5" deve ser recompilado antes de ser transferido para o servidor de alojamento



 
Tarde, já vimos muitos artigos sobre como construir uma EA a partir de um indicador ou como obter dados de um indicador para uma EA. E como fazer o contrário, como visualizar uma EA, dizer que calculou um conjunto de dados como transferi-los para um indicador personalizado?
 
VANDER:
Tarde, já vimos muitos artigos sobre como construir uma EA a partir de um indicador ou como obter dados de um indicador para uma EA. E como fazer o contrário, como visualizar uma EA, dizer que calculou um conjunto de dados como transferi-lo para um indicador personalizado?

Através de um .mqh encaixável no qual tudo é contado e a EA tira de lá, e o indicador...

 

Olá! Como posso fazer a plataforma MT5 magnetizar a linha no indicador de Médias Móveis? Para que a linha de tendência se levante claramente e seja magnetizada até à linha indicadora. Nas configurações da plataforma nos gráficos há um item de "magnetização", ali a linha de tendência é colocada no preço de abertura. Existe tal forma de uma média móvel e uma linha de tendência simples?


 
leonerd:

Iniciar o depurador, colocar um ponto de ruptura na variável de tipo. Desenho um triângulo (Inserir - Objectos - Formas - Triângulo) no gráfico. Prima Apagar, o triângulo é removido. Apanho um evento, o código acima é sempre 0. type_str, respectivamente, é OBJ_VLINE (primeiro valor na enumeração).

O mesmo código retorna OBJ_TRIANGLE como o tipo de objecto correcto quando as propriedades de um objecto gráfico são alteradas ou arrastadas.

Produção. Ao apagar um objecto gráfico, não consegue obter o tipo de objecto no OnChartEvent.

Ainda não está claro como obter o tipo de objecto eliminado. O nome do objecto no OnChartEvent() vem correcto, mas o tipo é sempre 0. O objecto acima descrito é um bug ou deve ser feito de alguma outra forma?

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   if(id==CHARTEVENT_OBJECT_DELETE)
     {
      string object_name=sparam;
      ENUM_OBJECT object_type=(ENUM_OBJECT)ObjectGetInteger(ChartID(),object_name,OBJPROP_TYPE); // object_type всегда VLINE
     }
  }
 
leonerd:

Ainda não está claro como descobrir o tipo do objecto eliminado. O nome do objecto no OnChartEvent() vem correcto, mas o tipo é sempre 0. O acima descrito é um bug ou deve ser feito de forma diferente?

ObjectType(sparam)
 
Vitaly Muzichenko:

O que é a função ObjectType()?

Parece ser um ramo sobre a MQL5.

Obviamente, foi concebido dessa forma. Os outros parâmetros do objecto eliminado não podem ser recuperados. Recebe apenas o nome. As coordenadas, etc., são todas zero. Existe alguma forma de os recuperar do caso de eliminação de um objecto gráfico?

 
leonerd:

O que é a função ObjectType()?

Parece ser um ramo sobre a MQL5.

Obviamente, foi concebido dessa forma. Os outros parâmetros do objecto eliminado não podem ser recuperados. Recebe apenas o nome. As coordenadas, etc., são todas zero. Existe alguma forma de os obter a partir da eliminação de um objecto gráfico?

Sim, não o esperava em mql5, mas existe um análogo:

ObjectGetInteger(0,name,OBJPROP_TYPE)

Quer obter os parâmetros do objecto através do evento de eliminação, ou seja, depois de este já ter desaparecido.

 
leonerd:

O que é a função ObjectType()?

Parece ser um ramo sobre a MQL5.

Obviamente, foi concebido dessa forma. Os outros parâmetros do objecto eliminado não podem ser recuperados. Recebe apenas o nome. As coordenadas, etc., são todas zero. Existe alguma forma de os obter a partir do evento de eliminação de um objecto gráfico?

Provavelmente, tal possibilidade não existe e não é esperada. Afinal, o objecto já existe...

Vejo essa saída: Na criação do objecto, numa estrutura de array para escrever o nome e todos os parâmetros necessários, e na remoção, depois de ler os parâmetros necessários remover do registo da estrutura de array sobre o mesmo.