Como posso aprender a criar objetos gráficos? MQL4. - página 4

 
Integer:

Antes da criação, você pode verificar se o objeto existe, função ObjectFind(). Você não precisa fazer nada, ela existe e não tem problema, nada demais.

Um conjunto de objetos. Você pode adicionar tempo de barra ao nome do objeto, e obter um nome único.

Aparar a viga. A propriedade ObjectSet(Nome,OBJPROP_RAY,falso);

Uau, eu li seus pensamentos. Já está feito. Atribuiu o nome à hora atual.

Cortou a viga. Ou seja, lembrando o antigo nome colocar um nome falso?

 
forexman77:

...

Corte a viga. Você quer dizer que lembrar o nome antigo coloca um falso pas?

Imediatamente após a criação, chame ObjectSet() com o mesmo nome com o qual a criação foi realizada.
 

Tentando desenhar objetos no Expert Advisor, subjanela de indicadores (MQL4)

O indicador é o mesmo, o que significa que a subjanela deve ser o número 1.

long   chart_ID=0;        // ID графика
int win_idx=1;
string nameobj=TimeToStr(Time[0]);       
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 

Sem desenho. O erro 4206 (subjanela não encontrada) sai

O Expert Advisor abre as negociações como deve ser visualmente. Isto é, as variáveis"Time[index],maximum1,Time[1],TRENDmax[1]" estão corretas.

 
forexman77:

Tentando desenhar objetos no Expert Advisor, subjanela de indicadores (MQL4)

O indicador é o mesmo, o que significa que a subjanela deve ser o número 1.

Sem desenho. Erro 4206 (subjanela não encontrada) sai

Ao invés de "1" coloqueChartWindowFind().
 
Karputov Vladimir:
Ao invés de "1" coloqueChartWindowFind().

Como posso obter o nome curto do indicador na EA?

No próprio indicador eu fiz um nome curto

IndicatorShortName("fraktalSDV");
 

Fez um roteiro:

void OnStart()
  {
string   shortName="fraktalSDV"; 
long   chart_ID=0;        // ID графика
int win_idx=ChartWindowFind(chart_ID,shortName);
Alert("Окно = ", win_idx);
  }

A janela é exibida como deve ser.

Na EA:

string   shortName="fraktalSDV"; 
long   chart_ID=0;        // ID графика
int win_idx=ChartWindowFind(chart_ID,shortName);
         Print("shortName=",shortName);
         string nameobj=TimeToStr(Time[0]);          
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 

obter o número da subjanela -1

 
forexman77:

Fez um roteiro:

A janela é exibida como deve ser.

Na EA:

obter o número da subjanela -1

Você tem certeza de ter um indicador na sub janela com o nome abreviado"fraktalSDV"?
 
Karputov Vladimir:
Você tem certeza de ter um indicador na sub-janela com o nome curto"fraktalSDV" no gráfico?
Quando ativo a visualização no testador, ela aparece no final da corrida.
 
forexman77:
Quando ativo a visualização no testador, ela aparece no final da corrida.
Criar um modelo com o indicador e salvar este modelo sob o nome tester.
 
Karputov Vladimir:
Criar um modelo com o indicador e salvar este modelo sob o nome tester.

Ou seja, criar um perfil gráfico com o indicador?

Tentei executar o indicador no aparelho de teste, em câmera lenta, ele é renderizado.