¿Cómo puedo aprender a crear objetos gráficos? MQL4. - página 4

 
Integer:

Antes de la creación, se puede comprobar si el objeto existe, función ObjectFind(). No necesitas hacer nada, existe y está bien, no es gran cosa.

Un conjunto de objetos. Puede añadir la hora del bar al nombre del objeto y obtener un nombre único.

Recorta la viga. La propiedad ObjectSet(Name,OBJPROP_RAY,false);

Vaya, he leído tus pensamientos. Ya está hecho. Asigna el nombre a la hora actual.

Recorte de la viga. Es decir, ¿recordar el antiguo nombre poner uno falso?

 
forexman77:

...

Corta la viga. ¿Te refieres a recordar el antiguo nombre poner un nombre falso?

Inmediatamente después de la creación, llame a ObjectSet() con el mismo nombre con el que se realizó la creación.
 

Intentando dibujar objetos en el Asesor Experto, subventana del indicador (MQL4)

El indicador es el mismo, significa que la subventana debe ser la 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);
            } 

No hay dibujo. Sale el error 4206 (subventana no encontrada)

El Asesor Experto abre las operaciones como debería ser visualmente. Es decir, las variables"Tiempo[índice],máximo1,Tiempo[1],TRENDmax[1]" son correctas.

 
forexman77:

Intentando dibujar objetos en el Asesor Experto, subventana del indicador (MQL4)

El indicador es el mismo, significa que la subventana debe ser la número 1.

No hay dibujo. Sale el error 4206 (subventana no encontrada)

En lugar de "1" pongaChartWindowFind().
 
Karputov Vladimir:
En lugar de "1" pongaChartWindowFind().

¿Cómo puedo obtener el nombre corto del indicador en el EA?

En el propio indicador hice un nombre corto

IndicatorShortName("fraktalSDV");
 

Hice un guión:

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

La ventana se muestra como debe ser.

En el 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);
            } 

obtener el número de subventana -1

 
forexman77:

Hice un guión:

La ventana se muestra como debe ser.

En el EA:

obtener el número de subventana -1

¿Está seguro de que tiene un indicador en la subventana con nombre corto"fraktalSDV"?
 
Karputov Vladimir:
¿Está seguro de que tiene un indicador en la subventana con el nombre corto"fraktalSDV" en el gráfico?
Cuando activo la visualización en el probador, aparece al final de la ejecución.
 
forexman77:
Cuando activo la visualización en el probador, aparece al final de la ejecución.
Cree una plantilla con el indicador y guarde esta plantilla con el nombre de tester.
 
Karputov Vladimir:
Cree una plantilla con el indicador y guarde esta plantilla con el nombre de tester.

Es decir, ¿crear un perfil gráfico con el indicador?

He intentado ejecutar el indicador en el probador, en cámara lenta, se renderiza.