¿Cómo puedo aprender a crear objetos gráficos? MQL4.

 

Hace tiempo que quiero aprender acrear objetos gráficos, pero muchas líneas de código son confusas.

Si todo está claro con la llamada al indicador en el Asesor Experto: llamando a la manija, copiando los valores en el búfer, entonces ¿cuál es el algoritmo para la construcción de objetos en breve?

Empezaré por la más sencilla: dibujar la línea de tendencia. Este es un ejemplohttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_trend

Sólo que, ¿cómo hacer que la línea aparezca pero no desaparezca?

Me pregunto cómo leer la posición actual de esta línea en el EA, no hay topes en los objetos?

Quiero crearlo en MQL4, ¿es muy diferente de MQL5?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
TomeOBJ_TREND como ejemplo y cópielo en su EA como funciones separadas. ¿Qué quiere decir con "hacer que no desaparezca"? Obtención de valores de tiempo y precio de objetos:ObjectGetTimeByValue yObjectGetValueByTime.
OBJ_TREND - Документация на MQL4
  • docs.mql4.com
OBJ_TREND - Документация на MQL4
 
barabashkakvn:
TomeOBJ_TREND como ejemplo y cópielo en su EA como funciones separadas. ¿Qué quiere decir con "hacer que no desaparezca"? Obtención de valores de tiempo y precio de objetos:ObjectGetTimeByValue yObjectGetValueByTime.
Cuando llamo al script, la línea aparece visualmente (la acción sucede como en el video) y luego desaparece.
 
forexman77:
Cuando llamo al script, la línea aparece visualmente (como en el vídeo) y luego desaparece.
Cambia el código del script. Elimina el borrado del objeto. ¿Estás utilizando el script completo de la ayuda?
 
barabashkakvn:
Cambia el código del script. Elimina el borrado del objeto. ¿Estás utilizando el script completo de la ayuda?
Sí. Lo probaré ahora.
 
barabashkakvn:
Cambia el código del script. Elimina el borrado del objeto. ¿Estás utilizando el script completo de la ayuda?
La línea se mantiene. Está bien. Lo investigaré ahora.
 
Si tiene alguna duda sobre el código, publique el código y pregunte.
 
barabashkakvn:
Si tiene alguna duda sobre el código, publique el código y pregunte.

No está claro qué significan estas cifras y qué fijan? Si con el tiempo puedo asumir que es índice de barra, entonces ¿cómo entender InpPrice, tiene tipo int?

input int             InpDate1=35;         // Дата 1-ой точки в %
input int             InpPrice1=60;        // Цена 1-ой точки в %
input int             InpDate2=65;         // Дата 2-ой точки в %
input int             InpPrice2=40;        // Цена 2-ой точки в %
 
forexman77:

No está claro qué significan estas cifras y qué piden...

Descifrar La explicación se da un poco más arriba:

#property description "Скрипт строит графический объект \"Трендовая линия\"."
#property description "Координаты точек привязки задаются в процентах от"
#property description "размеров окна графика."

y a partir de aquí se utilizarán estos datos para determinar los puntos de dibujo:

void OnStart()
  {
.
.
.
//--- определим точки для рисования линии
   int d1=InpDate1*(bars-1)/100;
   int d2=InpDate2*(bars-1)/100;
   int p1=InpPrice1*(accuracy-1)/100;
   int p2=InpPrice2*(accuracy-1)/100;
//--- создадим линию тренда
.
.
.
 
barabashkakvn:

Descifrar La explicación se da un poco más arriba:

y a partir de aquí estos datos se utilizarán para definir los puntos de dibujo:

En el ejemplo de"OBJ_TREND", creo que hay muchos datos innecesarios. Como no conozco bien esta zona, me temo que estaré perdido durante mucho tiempo.

Por lo que entiendo el código se busca, pero ya sé los dos puntos, índices de barras (mi algoritmo).

La única cuestión es cómo conectar estos dos puntos con una línea y continuarla hacia la derecha hasta un determinado evento.

 
forexman77:

Parece que hay mucha redundancia en este ejemplo. Como no conozco bien esta zona, me temo que voy a estar dando vueltas durante mucho tiempo.

Por lo que entiendo el código está buscando, pero ya sé los dos puntos, barras de índice (mi algoritmo).

La única cuestión es cómo conectar estos dos puntos con una línea y continuarla hacia la derecha hasta un determinado evento.

Si conoce la hora y las fechas de sus puntos, sólo tiene que llamar abool TrendCreate()